c41549fdfa8f292b1961114ddb9fb37d3e8a4501
[gnulib.git] / ChangeLog
1 2012-07-24  Bruno Haible  <bruno@clisp.org>
2
3         gnulib-tool: Fix handling of inctests variable.
4         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
5         Reported by Nick Bowler <nbowler@elliptictech.com>.
6
7 2012-07-22  Bruno Haible  <bruno@clisp.org>
8
9         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
10         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
11         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
12         Remove exemption for getpass.h.
13         Suggested by Eric Blake.
14
15 2012-07-20  Eric Blake  <eblake@redhat.com>
16
17         verify: document conflict with -Wnested-externs
18         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
19
20         maint.mk: forbid exit(-1)
21         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
22
23 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
24
25         fsusage: port back to Solaris
26         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
27         error (fsd not declared) on Solaris 10.  Reported privately by
28         Andrew Borodin.
29
30 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
31
32         gnu-web-doc-update: fix error messages
33         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
34
35         gnu-web-doc-update: check the requirements.
36         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
37         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38         * build-aux/bootstrap (find_tool): Comment change.
39
40 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
41
42         maint.mk: minor simplication.
43         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
44         for default values.
45
46 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
47
48         gitlog-to-changelog: VPATH build issues
49         If builddir is not a subdirectory of srcdir, running git from it will
50         fail.
51         * build-aux/gitlog-to-changelog (--srcdir): New option.
52
53 2012-07-15  Bruno Haible  <bruno@clisp.org>
54
55         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
56         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
57         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
58         Remove exemption for fpending.h.
59         Suggested by Eric Blake.
60
61 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
62
63         pthread_sigmask: fix bug on FreeBSD 9
64         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
65         Include string.h.
66         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
67         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
68         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
69         but pthread_sigmask (1729, NULL, NULL) returns zero.
70         See <http://bugs.gnu.org/11884>.
71         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
72         by inspecting whether the main call changed the old mask.
73
74 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
75
76         README-release: make it more legible
77         * top/README-release: Improve typography slightly.
78
79 2012-07-15  Jim Meyering  <meyering@redhat.com>
80
81         maint: require that each sc_... command start with "@"
82         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
83         "make sc_maint" helps us avoid this nit.
84
85 2012-07-15  Jim Meyering  <meyering@redhat.com>
86
87         maint.mk: add leading "@" to quiet new "make syntax-check" rule
88         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
89
90 2012-07-13  Eric Blake  <eblake@redhat.com>
91
92         maint.mk: new syntax check for HAVE_DECL checks
93         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
94         * cfg.mk
95         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
96         Exempt some false positives.
97         Based on a report by Karel Zak.
98
99         argp: make HAVE_DECL usage consistent
100         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
101         macros, not whether they are defined.
102         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
103         convention with other declaration checks.
104         Reported by Karel Zak, with suggestions from Paul Eggert.
105
106         stat-time: relax license to LGPLv2+
107         * modules/stat-time (License): Relax, with consent of all authors.
108
109         strndup: fix m4 usage error
110         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
111         defined, to either 0 or 1.
112         Reported by Karel Zak.
113
114 2012-07-11  Jim Meyering  <meyering@redhat.com>
115
116         maint: enable the sc_avoid_if_before_free syntax-check rule
117         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
118         (if_before_free_offenders_): Define.
119         (if_before_free_basename_re_): Define.
120         Exempt current files with useless if-before-free.
121
122 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
123
124         gettext: do not assume '#define ... defined ...' behavior
125         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
126         Do not use '#define FOO ... defined BAR ...', as the C standard says
127         it's not portable to expect that this works after macro expansion.
128         Problem reported for gzip by Steven M. Schweda in
129         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
130
131 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
132
133         getloadavg: clean out old Emacs and Autoconf cruft
134         See Glenn Morris in <http://bugs.gnu.org/11905>.
135         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
136         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
137         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
138         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
139
140 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
141
142         bootstrap: let warn be like tests/init.sh's warn_
143         Reported by Jim Meyering.
144         * build-aux/bootstrap (warn): Remove, replaced by...
145         (warnf_, warn_): these.
146         Adjust callers.
147         Shorten messages that no longer fit in 80 columns.
148
149 2012-07-09  Bruno Haible  <bruno@clisp.org>
150
151         getopt: Simplify after Emacs changed.
152         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
153         (gl_GETOPT_IFELSE): Remove macro.
154
155 2012-07-09  Jim Meyering  <meyering@redhat.com>
156
157         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
158         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
159
160         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
161         Bugs in both of those conspired to make the
162         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
163         _sc_search_regexp's handling of non-empty $in_files would filter
164         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
165         choice of in_files value meant there would be no match in most
166         projects, due to the presence of two or more Makefile.in files.
167         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
168         Fix a bug in how a non-empty $$in_files was processed:
169         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
170         in spite of the name, it's a regexp, not a list of file names.
171
172 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
173
174         getloadavg, getopt: fix commentary re configure.in
175         Autoconf is deprecating the name 'configure.in', so change it to
176         to the new name 'configure.ac' in a couple of places.
177         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
178         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
179         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
180         Emacs has renamed it to configure.ac, and it no longer refers
181         to these macros anyway.
182
183         timespec: mark functions with const attributes
184         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
185         Mark with _GL_ATTRIBUTE_CONST.
186
187 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
188
189         canonicalize[-lgpl]: handle "guessing" values when cross-building
190         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
191         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
192         matches "*yes" instead of just "yes".  Regression introduced in commit
193         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
194
195 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
196             Bruno Haible  <bruno@clisp.org>
197
198         canonicalize: make the right guess when cross-compiling to GNU
199         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
200         determine whether cross-compiling to glibc systems, so as to
201         include GNU/Hurd.
202
203 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
204
205         timespec-sub: avoid duplicate include
206         * lib/timespec-sub.c: Do not include <config.h> twice.
207         Reported by Juanma Barranquero.
208
209 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
210
211         bootstrap: use a more consistent error reporting scheme
212         * build-aux/bootstrap (warn, die): New.
213         Use them.
214
215 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
216
217         sys_time: allow too-wide tv_sec
218         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
219         timeval even if tv_sec is wider than time_t.  This allows
220         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
221         as without this patch gnulib replaces struct timeval
222         and OpenBSD futimes therefore has a type mismatch.
223         * doc/posix-headers/sys_time.texi: Mention this.
224
225         pthread: check for both pthread_create and pthread_join
226         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
227         alter the check so that it tests for both pthread_create and
228         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
229         Suggested by Bruno Haible and Richard Yao in
230         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
231
232         parse-datetime: doc tuneup
233         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
234         spacing issues.
235
236 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
237
238         do-release-commit-and-tag: fix the previous commit
239         * build-aux/do-release-commit-and-tag: Actually the test was right,
240         but the comment and the error message were misleading.
241         Fix comment, and improve error message.
242         Perform check first, so that NEWS is not modified uselessly.
243
244         do-release-commit-and-tag: fix typo
245         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
246         _not_ start with a stub.
247
248 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
249
250         pthread: check for pthread_create, not pthread_join
251         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
252         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
253         pthread_join in libc.  I hope this removes the need for all the
254         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
255         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
256
257 2012-07-04  Jim Meyering  <meyering@redhat.com>
258
259         parse-datetime: fix failure to diagnose invalid input
260         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
261         rather than diagnosing the invalid input.  Now it reports this:
262         date: invalid date '\260'
263         * lib/parse-datetime.y (to_uchar): Define.
264         (yylex): Don't sign-extend "other" bytes.
265         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
266         Thanks to Bruno Haible for the patch to this file.
267         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
268         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
269
270 2012-07-03  Jim Meyering  <meyering@redhat.com>
271
272         bootstrap: do not require now-removed build-aux/missing
273         Now that build-aux/missing is, er, missing, bootstrap would
274         silently fail.
275         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
276         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
277         no longer part of gnulib.
278         Diagnose the failure.
279
280 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
281
282         alloca: add support for HP NonStop TNS/E native
283         * lib/alloca.in.h (alloca): Support the new host.
284         From a suggestion by Joachim Schmitz in
285         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
286
287 2012-07-02  Pádraig Brady  <P@draigBrady.com>
288
289         fsusage: remove code not needed on non GNU/Linux systems.
290
291         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
292         Don't include headers no longer needed in this case.
293         * lib/fsusage.c [STAT_STATVFS &&
294         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
295         STAT_STATFS2_FRSIZE to exclude code not used in this case.
296
297 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
298
299         fsusage: include files needed for glibc 2.6 fallback
300         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
301         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
302         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
303         Problem reported by Ludovic Courtès in
304         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
305
306         fsusage: avoid needless check on GNU/Linux
307         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
308         on GNU/Linux systems, since it can't possibly work.
309
310 2012-07-01  Bruno Haible  <bruno@clisp.org>
311
312         log: Fix an autoconf >= 2.64 warning.
313         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
314         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
315
316 2012-06-28  Bruno Haible  <bruno@clisp.org>
317
318         log10f: Fix possible configuration problem.
319         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
320         $LOGF_LIBM.
321         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
322
323 2012-06-28  Bruno Haible  <bruno@clisp.org>
324
325         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
326         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
327         not gl_cv_func_unlink_works.
328         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
329
330 2012-06-27  Eric Blake  <eblake@redhat.com>
331
332         config: drop scripts that automake says are not independent
333         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
334         * build-aux/elisp-comp: Delete.
335         * build-aux/missing: Likewise.
336         * build-aux/ylwrap: Likewise.
337         * modules/elisp-comp: Likewise.
338         * MODULES.html.sh: Drop mention of elisp-comp.
339         * NEWS: Mention this.
340
341 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
342
343         root-uid: new module
344         This is for portability to Tandem's NonStop Kernel.
345         * lib/root-uid.h, modules/root-uid: New files.
346         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
347         * lib/write-any-file.c, tests/test-sethostname2.c:
348         Include "root-uid.h".
349         * lib/euidaccess.c (euidaccess):
350         * lib/pt_chown.c (main):
351         * lib/unlinkdir.c (cannot_unlink_dir):
352         * lib/write-any-file.c (can_write_any_file):
353         * m4/mknod.m4 (gl_FUNC_MKNOD):
354         * tests/test-sethostname2.c (geteuid, main):
355         Don't assume ROOT_UID == 0.
356         * modules/euidaccess (Depends-on):
357         * modules/pt_chown (Depends-on):
358         * modules/sethostname-tests (Depends-on):
359         * modules/unlinkdir (Depends-on):
360         * modules/write-any-file (Depends-on):
361         Add root-uid.
362
363         regex: use locale-independent comparison for codeset name
364         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
365         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
366         for codeset name.
367         * lib/regex_internal.h: Do not include <strings.h>, since we
368         no longer use strcasecmp.
369         * modules/regex (Depends-on): Remove strcase.
370
371 2012-06-23  Bruno Haible  <bruno@clisp.org>
372
373         getopt-posix: No longer guarantee that option processing is resettable.
374         * doc/posix-functions/getopt.texi: Drop description of problem with
375         internal state. Fix info about mingw and msvc9.
376         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
377         option processing by getopt(). Run three test programs instead of one.
378         Simplify cross-compilation guess.
379         * NEWS: Mention the change.
380         Reported by Rich Felker <dalias@aerifal.cx>.
381
382 2012-06-26  Bruno Haible  <bruno@clisp.org>
383
384         argp, regex: Ensure strcasecmp gets declared.
385         * lib/argp-help.c: Include <strings.h>.
386         * lib/regex_internal.h: Likewise.
387         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
388
389 2012-06-24  Bruno Haible  <bruno@clisp.org>
390
391         ptsname_r: Make it consistent with ptsname on AIX.
392         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
393         implementation as for OSF/1.
394         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
395         a pty master.
396
397         ptsname_r: Make it consistent with ptsname on OSF/1.
398         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
399         OSF/1.
400
401 2012-06-24  Bruno Haible  <bruno@clisp.org>
402
403         ttyname_r: Fix result on OSF/1, Solaris.
404         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
405
406 2012-06-24  Bruno Haible  <bruno@clisp.org>
407
408         ptsname_r: Add support for Solaris.
409         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
410         Solaris.
411
412         ptsname_r: Fix test failure on native Windows.
413         * modules/ptsname_r (Depends-on): Add isatty.
414
415         ptsname_r: Fix test failures on IRIX, Solaris.
416         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
417         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
418         accordingly.
419         * lib/ptsname_r.c: Include <fcntl.h>.
420         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
421         set errno if fd is invalid.
422         * tests/test-isatty.c (main): Update comments.
423
424 2012-06-24  Bruno Haible  <bruno@clisp.org>
425
426         ptsname test: Extend test.
427         * tests/test-ptsname.c: Include <errno.h>.
428         (main): Test behaviour with invalid file descriptor.
429
430 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
431
432         time: fix obsolete comment
433         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
434         reference to HAVE_STRUCT_TIMESPEC in comment.
435
436 2012-06-23  Bruno Haible  <bruno@clisp.org>
437
438         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
439         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
440         does not handle abbreviated long options with equivalent
441         disambiguations, set gl_replace_getopt to yes.
442         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
443
444 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
445
446         time_r: fix typo that always overrode localtime_r decl
447         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
448         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
449         not in a standard include.
450
451 2012-06-22  Bruno Haible  <bruno@clisp.org>
452
453         Write "Mac OS X" instead of "MacOS X".
454         * README: Write "Mac OS X" instead of "MacOS X".
455         * build-aux/bootstrap: Likewise.
456         * build-aux/install-reloc: Likewise.
457         * lib/acl-internal.h: Likewise.
458         * lib/acl_entries.c: Likewise.
459         * lib/argp-ba.c: Likewise.
460         * lib/argp-pv.c: Likewise.
461         * lib/config.charset: Likewise.
462         * lib/copy-acl.c: Likewise.
463         * lib/csharpexec.c: Likewise.
464         * lib/euidaccess.c: Likewise.
465         * lib/fbufmode.c: Likewise.
466         * lib/fflush.c: Likewise.
467         * lib/file-has-acl.c: Likewise.
468         * lib/filemode.h: Likewise.
469         * lib/fpurge.c: Likewise.
470         * lib/freadable.c: Likewise.
471         * lib/freadahead.c: Likewise.
472         * lib/freading.c: Likewise.
473         * lib/freadptr.c: Likewise.
474         * lib/freadseek.c: Likewise.
475         * lib/fseeko.c: Likewise.
476         * lib/fseterr.c: Likewise.
477         * lib/fsusage.c: Likewise.
478         * lib/fwritable.c: Likewise.
479         * lib/fwriting.c: Likewise.
480         * lib/get-rusage-as.c: Likewise.
481         * lib/get-rusage-data.c: Likewise.
482         * lib/getdomainname.c: Likewise.
483         * lib/idpriv-drop.c: Likewise.
484         * lib/idpriv-droptemp.c: Likewise.
485         * lib/localcharset.c: Likewise.
486         * lib/locale.in.h: Likewise.
487         * lib/localename.c: Likewise.
488         * lib/mbsrtowcs-state.c: Likewise.
489         * lib/nproc.c: Likewise.
490         * lib/passfd.c: Likewise.
491         * lib/posix_openpt.c: Likewise.
492         * lib/printf-parse.c: Likewise.
493         * lib/progreloc.c: Likewise.
494         * lib/safe-read.h: Likewise.
495         * lib/safe-write.h: Likewise.
496         * lib/sched.in.h: Likewise.
497         * lib/set-mode-acl.c: Likewise.
498         * lib/signal.in.h: Likewise.
499         * lib/stdint.in.h: Likewise.
500         * lib/stdio-impl.h: Likewise.
501         * lib/stdlib.in.h: Likewise.
502         * lib/strtod.c: Likewise.
503         * lib/sys_select.in.h: Likewise.
504         * lib/tcgetsid.c: Likewise.
505         * lib/unistd.in.h: Likewise.
506         * lib/unlockpt.c: Likewise.
507         * lib/vasnprintf.c: Likewise.
508         * lib/vma-iter.c: Likewise.
509         * lib/wcsrtombs-state.c: Likewise.
510         * m4/acl.m4: Likewise.
511         * m4/acosl.m4: Likewise.
512         * m4/asinl.m4: Likewise.
513         * m4/atanl.m4: Likewise.
514         * m4/c-stack.m4: Likewise.
515         * m4/cosl.m4: Likewise.
516         * m4/expl.m4: Likewise.
517         * m4/extensions.m4: Likewise.
518         * m4/fdatasync.m4: Likewise.
519         * m4/fmal.m4: Likewise.
520         * m4/frexp.m4: Likewise.
521         * m4/frexpf.m4: Likewise.
522         * m4/frexpl.m4: Likewise.
523         * m4/fsusage.m4: Likewise.
524         * m4/getdomainname.m4: Likewise.
525         * m4/getloadavg.m4: Likewise.
526         * m4/getopt.m4: Likewise.
527         * m4/gettext.m4: Likewise.
528         * m4/gnulib-common.m4: Likewise.
529         * m4/intdiv0.m4: Likewise.
530         * m4/intlmacosx.m4: Likewise.
531         * m4/largefile.m4: Likewise.
532         * m4/ldexpl.m4: Likewise.
533         * m4/link-follow.m4: Likewise.
534         * m4/locale-ar.m4: Likewise.
535         * m4/locale-fr.m4: Likewise.
536         * m4/locale-ja.m4: Likewise.
537         * m4/locale-tr.m4: Likewise.
538         * m4/locale-zh.m4: Likewise.
539         * m4/locale_h.m4: Likewise.
540         * m4/lock.m4: Likewise.
541         * m4/logl.m4: Likewise.
542         * m4/mathfunc.m4: Likewise.
543         * m4/minus-zero.m4: Likewise.
544         * m4/mktime.m4: Likewise.
545         * m4/mmap-anon.m4: Likewise.
546         * m4/multiarch.m4: Likewise.
547         * m4/nanosleep.m4: Likewise.
548         * m4/nocrash.m4: Likewise.
549         * m4/poll.m4: Likewise.
550         * m4/printf-frexpl.m4: Likewise.
551         * m4/printf.m4: Likewise.
552         * m4/signbit.m4: Likewise.
553         * m4/sinl.m4: Likewise.
554         * m4/sqrtl.m4: Likewise.
555         * m4/strerror_r.m4: Likewise.
556         * m4/tanl.m4: Likewise.
557         * m4/threadlib.m4: Likewise.
558         * m4/ttyname_r.m4: Likewise.
559         * m4/unlink.m4: Likewise.
560         * m4/visibility.m4: Likewise.
561         * m4/wcwidth.m4: Likewise.
562         * tests/minus-zero.h: Likewise.
563         * tests/test-alloca-opt.c: Likewise.
564         * tests/test-copy-acl.sh: Likewise.
565         * tests/test-copy-file.sh: Likewise.
566         * tests/test-fdatasync.c: Likewise.
567         * tests/test-file-has-acl.sh: Likewise.
568         * tests/test-flock.c: Likewise.
569         * tests/test-fsync.c: Likewise.
570         * tests/test-localename.c: Likewise.
571         * tests/test-malloca.c: Likewise.
572         * tests/test-nonblocking-pipe.h: Likewise.
573         * tests/test-nonblocking-socket.h: Likewise.
574         * tests/test-openpty.c: Likewise.
575         * tests/test-posix_openpt.c: Likewise.
576         * tests/test-ptsname.c: Likewise.
577         * tests/test-ptsname_r.c: Likewise.
578         * tests/test-sameacls.c: Likewise.
579         * tests/test-select.h: Likewise.
580         * tests/test-set-mode-acl.sh: Likewise.
581         * tests/test-snprintf-posix.h: Likewise.
582         * tests/test-sprintf-posix.h: Likewise.
583         * tests/test-strtod.c: Likewise.
584         * tests/test-time.c: Likewise.
585         * tests/test-vasnprintf-posix.c: Likewise.
586         * tests/test-vasprintf-posix.c: Likewise.
587         * doc/acl-resources.txt: Likewise.
588         * doc/**/*.texi: Likewise.
589         Reported by Max Horn <max@quendi.de>.
590
591 2012-06-22  Bruno Haible  <bruno@clisp.org>
592
593         grantpt: Relax requirement regarding invalid file descriptors.
594         * lib/grantpt.c: Don't include <fcntl.h>.
595         (grantpt): Don't verify the validity of the file descriptor.
596         * modules/grantpt (Depends-on): Remove fcntl-h.
597         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
598         file descriptors.
599         * doc/posix-functions/grantpt.texi: Document more platforms on which
600         grantpt succeeds for invalid file descriptors.
601         Reported by Rich Felker <dalias@aerifal.cx>.
602
603 2012-06-22  Bruno Haible  <bruno@clisp.org>
604
605         fbufmode test: Don't test unportable behaviour.
606         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
607         (main): Invoke it three times.
608         Reported by Szabolcs Nagy <nsz@port70.net>
609         and Rich Felker <dalias@aerifal.cx>.
610
611 2012-06-21  Bruno Haible  <bruno@clisp.org>
612
613         gnulib-tool: Refactor inctests variable.
614         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
615         (func_modules_transitive_closure,
616         func_modules_transitive_closure_separately,
617         func_import, func_create_testdir): Update.
618
619         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
620         * gnulib-tool: Accept option --without-tests.
621         (func_usage): Document --without-tests option. Rearrange.
622         (inctests): Normalize according to the mode.
623         * NEWS: Mention the change.
624         Suggested by Simon Josefsson.
625
626 2012-06-21  Bruce Korb  <bkorb@gnu.org>
627
628         parse-duration test: Avoid spurious output.
629         * tests/test-parse-duration.sh: Reindent with leading tabs.
630
631 2012-06-21  Jim Meyering  <meyering@redhat.com>
632
633         maint: disable the strncpy prohibition
634         * cfg.mk: Do not prohibit strncpy here.
635
636 2012-06-21  Bruno Haible  <bruno@clisp.org>
637
638         nonblocking: Avoid compilation error on mingw64.
639         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
640         fscanf.
641         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
642         * modules/vfscanf (configure.ac): Likewise.
643         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
644         definition only if stdio.h has prepared it.
645         Reported by Daniel P. Berrange <berrange@redhat.com>.
646
647 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
648
649         gnulib-tool: Use readlink if it is available.
650         * gnulib-tool (func_readlink): Choose function more appropriately.
651
652 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
653
654         posixtm-tests: port to buggy compiler
655         Problem reported by Simon Josefsson in
656         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
657         * modules/posixtm-tests (Depends-on): Add stdint.
658         * tests/test-posixtm.c (struct posixtm_test.t_expected):
659         Now of type int_least64_t, not int64_t, both because that's
660         what INT64_C returns and because int_least64_t works even
661         on 72-bit hosts.
662         (T): Use INT64_C on constants outside the traditional int range,
663         to work around compiler bug noted by Simon.
664
665         mktime: fix integer overflow in 'configure'-time test
666         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
667         after integer overflow.  Problem reported by Rich Felker in
668         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
669         Also, don't look for further instances of a bug if we've already
670         found one instance; this helps 'configure' run faster.
671
672 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
673
674         tmpfile, clean-temp: Fix invocation of GetVersionEx.
675         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
676         GetVersionEx correctly.
677         * lib/clean-temp.c (supports_delete_on_close): Likewise.
678
679 2012-06-20  Bruno Haible  <bruno@clisp.org>
680
681         fdopen: Allow implementations that don't reject invalid fd arguments.
682         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
683         succeeds.
684         Reported by Rich Felker <dalias@aerifal.cx>.
685
686 2012-06-20  Simon Josefsson  <simon@josefsson.org>
687
688         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
689         bring in LIBINTL.
690
691 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
692
693         init.sh: do not rely on autoupated PWD
694         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
695         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
696         Although Nelson's bug was not necessarily fixed by this patch,
697         it seems wise to make the change for safety.
698         * tests/init.sh (path_prepend_): Do not rely on PWD updating
699         automagically after 'cd'; this is not reliable on older shells.
700         (setup_): Fail if we cannot cd to temporary directory.
701
702 2012-06-19  Bruno Haible  <bruno@clisp.org>
703
704         stat, fstat: Avoid warnings on mingw64.
705         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
706         redefining.
707         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
708         Reported by Daniel P. Berrange <berrange@redhat.com>.
709
710 2012-06-19  Bruno Haible  <bruno@clisp.org>
711
712         stdioext: Add support for musl libc.
713
714         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
715         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
716
717         * m4/fseterr.m4: New file.
718         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
719         function exists.
720         * modules/fseterr (Files): Add m4/fseterr.m4.
721         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
722         __fseterr does not exist.
723         (Makefile.am): Remove fseterr.c from lib_SOURCES.
724
725         * lib/freadable.h: Update comment.
726
727         * lib/fwritable.h: Update comment.
728
729         * lib/freading.h: Update comment.
730
731         * lib/fwriting.h: Update comment.
732
733         * m4/freadahead.m4: New file.
734         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
735         that function exists.
736         * modules/freadahead (Files): Add m4/freadahead.m4.
737         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
738         __freadahead does not exist.
739         (Makefile.am): Remove freadahead.c from lib_SOURCES.
740
741         * m4/freadptr.m4: New file.
742         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
743         function exists.
744         * modules/freadptr (Files): Add m4/freadptr.m4.
745         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
746         __freadptr does not exist.
747         (Makefile.am): Remove freadptr.c from lib_SOURCES.
748
749         * m4/freadseek.m4: New file.
750         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
751         exists.
752         * modules/freadseek (Files): Add m4/freadseek.m4.
753         (configure.ac): Invoke gl_FUNC_FREADSEEK.
754
755         * lib/fpurge.c (fpurge): Update comment.
756
757         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
758
759 2012-06-19  Bruno Haible  <bruno@clisp.org>
760
761         *printf-posix: Put more info into config.log.
762         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
763         exit code into config.log.
764
765 2012-06-19  Bruno Haible  <bruno@clisp.org>
766
767         getopt-gnu: Fix exit code overflow in autoconf test.
768         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
769         to keep them below < 128.
770
771 2012-06-17  Jim Meyering  <meyering@redhat.com>
772
773         maint.mk: fix typo in code to derive GPG key at release time
774         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
775
776 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
777
778         regex: avoid warning when pointers are not long
779         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
780         and uintptr_t, not long, for portability to hosts where pointers and
781         long have different sizes.  Issue noted by Daniel P. Berrange in
782         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
783         and fix suggested by Bruno Haible in
784         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
785
786 2012-06-17  Bruno Haible  <bruno@clisp.org>
787
788         dummy: Relicense into the public domain.
789         * modules/dummy (License): Set to "public domain".
790         Suggested by Reuben Thomas.
791
792 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
793
794         announce-gen: VPATH issues
795         * build-aux/announce-gen (--srcdir): New option, used to trim the
796         $srcdir part of the path from $builddir to NEWS.
797         * top/maint.mk (announcement): Adjust.
798
799 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
800
801         gnu-web-doc-update: VPATH builds
802         * build-aux/gnu-web-doc-update (--builddir): New option.
803         Revamp the handling of options.
804         Prefer $(...) to `...`.
805         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
806         the template, and it is GNU mktemp specific.
807         Prefer set -e to long series of &&.
808         Restore the initial git branch, not "master".
809         Properly initialize submodules (don't rely only on bootstrap).
810         Do not reconfigure blindly, use config.status.
811         * top/README-release: Update instructions for gnu-web-doc-update.
812
813 2012-06-11  Jim Meyering  <meyering@redhat.com>
814
815         maint.mk: revert most of the previous change re "all these"
816         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
817         For rationale, see the discussion at
818         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
819
820 2012-06-10  Karl Berry  <karl@gnu.org>
821
822         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
823
824         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
825
826 2012-06-10  Bruce Korb  <bkorb@gnu.org>
827
828         parse-duration: Relicense under LGPLv2+.
829         * modules/parse-duration (License): Change to LGPLv2+.
830
831 2012-06-10  Jim Meyering  <meyering@redhat.com>
832
833         maint.mk: prohibit common grammar error: "all these"
834         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
835         the list of prohibited word sequences.  It should be "all of these".
836         * lib/tempname.c (__gen_tempname): Fix one of them.
837
838 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
839
840         do-release-commit-and-tag: support VPATH builds
841         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
842         (noteworthy): Defined earlier to factor its value.
843         (noteworthy_stub): New.
844         Use it to factor.
845         (help_version): Split into...
846         (help, version): these.
847         Adjust the option processing part.
848         Support "--option=value" in addition to "--option value".
849         (builddir): New.
850         (--builddir): New option.
851         * top/README-release: Document this.
852         Reword slightly so that the reader cannot understand that he
853         has to do these steps before calling do-release-commit-and-tag.
854
855 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
856
857         readme-release: also require announce-gen and maintainer-makefile
858         * modules/readme-release (Depends-on): here.
859         * modules/announce-gen, modules/do-release-commit-and-tag,
860         modules/gnu-web-doc-update, modules/maintainer-makefile
861         (Description): Point to readme-release.
862
863 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
864
865         maint.mk: fix VPATH issues.
866         * top/maint.mk (news-check): GNU Make understand $< very well.
867         (release-prep): NEWS is in $(srcdir).
868
869 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
870
871         readme-release: require the promoted modules.
872         * modules/readme-release (Depends-on): Add
873         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
874         in this text.
875
876 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
877             Bruno Haible  <bruno@clisp.org>
878
879         error, strerror-override: Support mingw64 from Fedora 17.
880         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
881         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
882         EINPROGRESS.
883         * lib/strerror-override.h (strerror_override): Test it.
884         * lib/strerror-override.c (strerror_override): Likewise.
885         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
886
887 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
888             Bruno Haible  <bruno@clisp.org>
889
890         error, strerror-override: Support mingw64 from Fedora 17.
891         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
892         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
893         * lib/strerror-override.h (strerror_override): Test it.
894         * lib/strerror-override.c (strerror_override): Likewise.
895
896 2012-06-03  Bruno Haible  <bruno@clisp.org>
897
898         error, strerror-override: Support new errno values from POSIX:2008.
899         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
900         ENOTRECOVERABLE.
901         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
902         platforms.
903         * lib/strerror-override.c (strerror_override): Conditionalize the
904         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
905         * lib/strerror-override.h (strerror_override): Declare also if
906         GNULIB_defined_EOWNERDEAD is defined.
907         * tests/test-errno.c (e130, e131): New variables.
908         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
909         ENOTRECOVERABLE.
910         Reported by Paolo Bonzini.
911
912 2012-05-31  Jim Meyering  <meyering@redhat.com>
913
914         savewd: add missing dependency on sys_wait module
915         * modules/savewd (Depends-on): Add sys_wait, needed at least
916         for MSVC.  Report and suggested change by Michael Goffioul.
917
918 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
919
920         system-quote-tests: port to CentOS 5
921         Problem reported by Tom G. Christensen in
922         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
923         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
924
925 2012-05-29  Jim Meyering  <meyering@redhat.com>
926
927         maint: fix typos in comments and ChangeLog
928         Culprits identified and fixed mostly automatically using these commands:
929         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
930         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
931         using http://github.com/lyda/misspell-check
932         * ChangeLog: Fix typos.
933         * doc/solaris-versions: Likewise.
934         * lib/regexec.c (re_search_stub): Likewise.
935         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
936
937 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
938
939         manywarnings: remove duplicate -Wmultichar entry
940         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
941         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
942         so keep the entry marked as documented.
943
944 2012-05-27  Karl Berry  <karl@gnu.org>
945
946         * config/srclist.txt (mktime.c): remove last libc sync,
947         perhaps just temporarily.
948
949 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
950
951         regex: don't assume uint64_t or uint32_t
952         * lib/regcomp.c (init_word_char): Don't assume that the types
953         uint64_t and uint32_t exist.  The C standard doesn't guarantee
954         them, and on some 32-bit compilers there is no uint64_t.
955         Problem reported by Gianluigi Tiesi in
956         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
957
958 2012-05-25  Jim Meyering  <meyering@redhat.com>
959
960         maint.mk: add strncpy-prohibiting syntax-check rule
961         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
962
963 2012-05-24  Jim Meyering  <meyering@redhat.com>
964
965         maint.mk: compute $(gpg_key_ID) more portably
966         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
967         That use of sed is not portable to some fringe systems.
968         Reported by Paul Eggert in
969         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
970
971 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
972
973         mktime: sync from glibc
974         * config/srclist.txt: Uncomment mktime.c.
975         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
976         First, indent with tabs, since glibc uses tabs and doesn't want to
977         change and we'd rather be identical to glibc.  Also, two small
978         coding changes:
979         (isdst_differ): Use &&, not &, as && is the usual style.
980         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
981         for clarity.
982
983 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
984
985         announce-gen: du -h is more portable than du --human
986         * build-aux/announce-gen (sizes): Invoke du with -h instead
987         of --human.  Accept leading white space in its output.
988
989 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
990
991         announce-gen: Improve diagnostics.
992         * build-aux/announce-gen: When parsing command line options,
993         prefer "announce-gen: option --release-type requires an argument"
994         to "Option release-type requires an argument".
995
996 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
997
998         maint.mk: gpg_key_ID: use sed more portably
999         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1000         the closing brace.
1001         (refresh-po): Fuse two sed invocations into one.
1002
1003 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1004
1005         gitlog-to-changelog: support the log message format used in Bison.
1006         * build-aux/gitlog-to-changelog: Support --strip-tab and
1007         --strip-cherry-picked.
1008
1009 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1010
1011         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1012         the rest of the current time slice to another thread in the current
1013         process. So if the thread that feeds the file decscriptor we're
1014         polling is not in the current process, we get busy-waiting.
1015         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1016         Patch from Theodore Leblond.
1017         * lib/select.c: Split polling out of the loop that sets the output
1018         fd_sets.  Check for zero result and loop if the wait timeout is
1019         infinite.
1020
1021 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1022
1023         select: Fix build error on IRIX 6.5.
1024         * lib/select.c: Include stddef.h for NULL.
1025
1026 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1027
1028         gc: fix libgcrypt detection on older machines.
1029         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1030         copyright years because the file has been distributed every year
1031         since it was created.
1032
1033 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1034
1035         crypto: fix bug in large buffer handling
1036         Problem reported by Serge Belyshev for glibc in
1037         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1038         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1039         * lib/md4.c (md4_process_block):
1040         * lib/md5.c (md5_process_block):
1041         * lib/sha1.c (sha1_process_block):
1042         * lib/sha256.c (sha256_process_block):
1043         Don't assume the buffer length is less than 2**32.
1044         * lib/sha512.c (sha512_process_block): Likewise.
1045         Here, the bug is present only in the rare case where the host does
1046         not support uint64_t or where size_t is wider than 64 bits.
1047         Use u64size to work around the problems.
1048         * lib/u64.h (u64size): New macro.
1049
1050 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1051
1052         fsusage: fix block size returned on older Linux 2.6
1053
1054         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1055         which is available since Linux 2.6.
1056         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1057         when the member is available so it can be used as a fallback.
1058         * doc/posix-functions/statvfs.texi: Mention the hang issue
1059         on Linux < 2.6.36.
1060
1061 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1062
1063         bootstrap: suppress stderr chatter
1064         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1065         Omit unnecessary chatter to stderr.  The main program chatter
1066         was there only inadvertantly.
1067
1068         bootstrap: .gitignore files created by autopoint, libtool
1069         I ran into this problem when bootstrapping the latest diffutils.
1070         After './bootstrap', 'git status' reported lots of untracked files
1071         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1072         autopoint and do not need to be version-controlled.
1073         * build-aux/bootstrap: Put into .gitignore the files that
1074         autopoint and libtool create, by keeping track of files that exist
1075         after but not before these programs are run.
1076         (version_controlled_file): Move up.  2nd arg is now full file
1077         name, not base name; this is more convenient.  Put CVS at the end,
1078         as it's now somewhat deprecated.
1079
1080 2012-05-14  Jim Meyering  <meyering@redhat.com>
1081
1082         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1083         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1084         definition.  Reported by Bruno Haible.
1085
1086 2012-05-13  Bruno Haible  <bruno@clisp.org>
1087             Paul Eggert  <eggert@cs.ucla.edu>
1088
1089         binary-io: Define set_binary_mode function.
1090         * lib/binary-io.h (set_binary_mode): New function.
1091         (SET_BINARY): Define in terms of set_binary_mode.
1092         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1093         * tests/test-binary-io.c (main): Accept an argument, and test either
1094         set_binary_mode or SET_BINARY depending on the argument.
1095         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1096         argument. Clean up also t-bin-out0.tmp.
1097
1098 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1099
1100         bootstrap: take advantage of POSIX shell features
1101
1102         The 'bootstrap' script offered by Gnulib script already uses POSIX
1103         shell features (like $((...)) arithmetic expansions) that are not
1104         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1105         means that bootstrap must already be run using a proper POSIX shell,
1106         which will thus provide more features, like ${var#pattern} parameter
1107         expansion or inversion of a command exit status with '!'.  We can
1108         thus use these features to improve the clarity and the performances
1109         of the bootstrap script.
1110
1111         Suggested by Eric Blake.
1112
1113         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1114         of sed/expr plus command substitutions, to save some forks.  While
1115         we are at it, prefer the POSIX $(...) form of command substitution,
1116         rather than the legacy form `...` (since the former is visually
1117         clearer and interacts better with quoting), and prefer the idiom:
1118           "if ! CMD; then ACTION ..."
1119         over the idiom:
1120           "if CMD; then :; else ACTION ..."
1121         which was required by legacy Bourne shells not supporting '!'.
1122
1123 2012-05-12  Bruno Haible  <bruno@clisp.org>
1124
1125         system-quote: Add more comments.
1126         * lib/system-quote.h: Add more comments about wilcards and limitations.
1127         Suggested by Eli Zaretskii <eliz@gnu.org>.
1128
1129         sh-quote, system-quote: Add comments about wildcards.
1130         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1131         * lib/system-quote.h: Likewise.
1132         Reported by Eli Zaretskii <eliz@gnu.org>.
1133
1134 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1135
1136         fsusage: check for GNU/Linux statvfs problem dynamically
1137         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1138         Define STAT_STATFS2_BSIZE too, since in this case the code now
1139         checks dynamically whether statvfs is reliable, falling back on
1140         Linux-style statfs otherwise.
1141         (statvfs_works): New function, for dynamically testing statvfs.
1142         (get_fs_usage) [STAT_STATVFS]: Use it.
1143         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1144         statvfs on GNU/Linux hosts, since it's now done dynamically.
1145
1146 2012-05-10  Bruno Haible  <bruno@clisp.org>
1147
1148         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1149         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1150         '?' character.
1151         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1152         * tests/test-system-quote-main.c (check_all): Check also strings like
1153         "??????????".
1154         Reported by Eli Zaretskii <eliz@gnu.org>.
1155
1156 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1157
1158         _Noreturn: port config.h to gcc -Wundef
1159         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1160         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1161         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1162
1163 2012-05-10  Bruno Haible  <bruno@clisp.org>
1164
1165         system-quote: Refactor.
1166         * lib/system-quote.h (system_quote_copy): Fix comment.
1167         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1168         New functions, extracted from system_quote_copy.
1169         (system_quote_length, system_quote_copy): Use these functions.
1170         Reported by Paul Eggert.
1171
1172 2012-05-08  Bruno Haible  <bruno@clisp.org>
1173
1174         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1175         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1176
1177 2012-05-08  Bruno Haible  <bruno@clisp.org>
1178
1179         Tests for module 'system-quote'.
1180         * modules/system-quote-tests: New file.
1181         * tests/test-system-quote.sh: New file.
1182         * tests/test-system-quote-main.c: New file.
1183         * tests/test-system-quote-child.c: New file.
1184
1185         New module 'system-quote'.
1186         * lib/system-quote.h: New file.
1187         * lib/system-quote.c: New file.
1188         * modules/system-quote: New file.
1189
1190 2012-05-08  Bruno Haible  <bruno@clisp.org>
1191
1192         sh-quote: Make C++ safe and allow multiple inclusion.
1193         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1194         declarations in extern "C".
1195
1196 2012-05-08  Bruno Haible  <bruno@clisp.org>
1197
1198         sh-quote tests: Make tests stricter.
1199         * tests/test-sh-quote.c (check_one): Check the return value of
1200         shell_quote_copy.
1201         (main): Check a string with a CR character. Check a string that
1202         contains UCHAR_MAX.
1203
1204 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1205
1206         warnings.m4: provide a means to specify the program to compile.
1207         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1208         (gl_WARN_ADD): here.
1209         Use gl_AS_VAR_APPEND.
1210         Support an argument to specify the program to compile.
1211         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1212         AC_SUBST the WARN_CFLAGS when they are used.
1213         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1214         leave this to gl_WARN_ADD.
1215
1216 2012-05-08  Eric Blake  <eblake@redhat.com>
1217
1218         doc: recommendations on gettext version
1219         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1220         choice between versions.
1221         * DEPENDENCIES (gettext): Cover both approaches.
1222
1223 2012-05-08  Jim Meyering  <meyering@redhat.com>
1224
1225         init.sh: explain why EXEEXT support uses aliases rather than functions
1226         * tests/init.sh: Add a comment.
1227
1228         init.sh: don't let bash aliases interfere with tests
1229         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1230         is bash.  This avoids problems for those who alias standard commands to
1231         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1232         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1233
1234 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1235
1236         stdint: be more consistent with glibc, SunOS libc
1237         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1238         (gl_int_fast16_t, gl_uint_fast16_t)
1239         (gl_int_fast32_t, gl_uint_fast32_t)
1240         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1241         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1242         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1243         Be consistent with glibc by default, and with SunOS 5.10 and later
1244         if __sun is defined.  This lessens the likelihood of clashes if
1245         code compiled for older hosts is combined with code compiled for
1246         newer ones.  Problem reported by Niels Möller in
1247         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1248
1249 2012-05-07  Eric Blake  <eblake@redhat.com>
1250
1251         isatty: relax license to LGPLv2+
1252         * modules/isatty (License): Relax license.
1253
1254 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1255
1256         stat-size: comment fix
1257         * lib/stat-size.h: Remove obsolete comment about indenting.
1258
1259 2012-05-06  Bruno Haible  <bruno@clisp.org>
1260
1261         Tests for module 'sh-quote'.
1262         * modules/sh-quote-tests: New file.
1263         * tests/test-sh-quote.c: New file.
1264
1265 2012-05-06  Bruno Haible  <bruno@clisp.org>
1266
1267         sh-quote: Improve shell_quote_argv's signature.
1268         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1269         * lib/sh-quote.c (shell_quote_argv): Likewise.
1270
1271 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1272
1273         stdint: document issues with int_fast8_t etc.
1274         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1275         stdint.h substitutes may define these types differently.  See
1276         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1277
1278 2012-05-05  Bruno Haible  <bruno@clisp.org>
1279
1280         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1281         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1282         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1283         or 'guessing no (mishandles large arguments)'.
1284
1285 2012-05-05  Bruno Haible  <bruno@clisp.org>
1286
1287         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1288         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1289         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1290         set gl_cv_func_link_follows_symlink to "guessing no".
1291
1292 2012-05-05  Bruno Haible  <bruno@clisp.org>
1293
1294         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1295         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1296         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1297         "guessing no".
1298         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1299
1300 2012-05-05  Bruno Haible  <bruno@clisp.org>
1301
1302         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1303         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1304         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1305         set gl_cv_struct_dirent_d_ino to "guessing yes".
1306
1307 2012-05-05  Bruno Haible  <bruno@clisp.org>
1308
1309         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1310         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1311         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1312         "guessing yes".
1313
1314 2012-05-05  Bruno Haible  <bruno@clisp.org>
1315
1316         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1317         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1318         compiling to a glibc system, set gl_cv_func_signbit and
1319         gl_cv_func_signbit_gcc to "guessing yes".
1320
1321 2012-05-05  Bruno Haible  <bruno@clisp.org>
1322
1323         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1324         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1325         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1326         to "guessing yes".
1327         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1328         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1329
1330 2012-05-05  Bruno Haible  <bruno@clisp.org>
1331
1332         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1333         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1334         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1335         gl_cv_func_realpath_works to "guessing yes".
1336
1337 2012-05-05  Bruno Haible  <bruno@clisp.org>
1338
1339         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1340         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1341         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1342
1343 2012-05-04  Bruno Haible  <bruno@clisp.org>
1344
1345         Tweak last commit.
1346         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1347         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1348
1349 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1350
1351         unistd_h: make it easier to avoid sys_types_h
1352         This is useful for Emacs, which has its own method of porting to
1353         Windows, and which therefore does not need the sys_types_h module.
1354         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1355         code moved here from gl_SYS_TYPES_H.
1356         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1357         using the code directly.
1358         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1359         gl_SYS_TYPES_H.
1360         * modules/sys_types (Files):
1361         * modules/unistd (Files): Add m4/off_t.m4.
1362
1363 2012-05-03  Bruno Haible  <bruno@clisp.org>
1364
1365         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1366         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1367         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1368         "guessing yes" or "guessing no".
1369         (gl_FUNC_LSTAT): Update.
1370         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1371         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1372         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1373
1374 2012-05-03  Bruno Haible  <bruno@clisp.org>
1375
1376         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1377         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1378         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1379         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1380         cross-compiling, choose the first alternative on glibc systems.
1381         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1382
1383 2012-05-03  Bruno Haible  <bruno@clisp.org>
1384
1385         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1386         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1387         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1388
1389 2012-05-03  Bruno Haible  <bruno@clisp.org>
1390
1391         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1392         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1393
1394 2012-05-03  Bruno Haible  <bruno@clisp.org>
1395
1396         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1397         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1398         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1399         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1400         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1401         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1402         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1403         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1404         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1405         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1406         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1407         gl_cv_func_chown_ctime_works to "guessing yes".
1408         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1409         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1410         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1411         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1412         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1413         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1414         compiling to glibc systems, set gl_cv_func_open_directory_works to
1415         "guessing yes".
1416         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1417         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1418         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1419         "guessing yes".
1420         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1421         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1422         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1423         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1424         "guessing yes".
1425         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1426         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1427         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1428         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1429         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1430         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1431         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1432         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1433         "guessing yes".
1434         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1435         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1436         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1437         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1438         "guessing yes".
1439         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1440         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1441         "guessing yes".
1442         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1443         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1444         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1445         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1446         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1447         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1448         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1449         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1450         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1451         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1452         "guessing yes".
1453         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1454         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1455         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1456         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1457         "guessing yes".
1458         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1459         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1460         "guessing yes".
1461         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1462         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1463         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1464         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1465         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1466         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1467         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1468         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1469         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1470         "guessing yes".
1471         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1472         compiling to glibc systems, set gl_cv_func_mknod_works to
1473         "guessing yes".
1474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1475         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1476         "guessing yes".
1477         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1478         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1479         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1480         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1481         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1482         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1483         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1484         compiling to glibc systems, set gl_cv_func_svid_putenv to
1485         "guessing yes".
1486         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1487         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1488         "guessing yes".
1489         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1490         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1491         "guessing yes".
1492         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1493         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1494         to "guessing yes".
1495         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1496         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1497         to "guessing yes".
1498         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1499         compiling to glibc systems, set gl_cv_func_rmdir_works to
1500         "guessing yes".
1501         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1502         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1503         gl_cv_func_unlink_parent_fails to "guessing yes".
1504         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1505         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1506         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1507         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1508         gl_cv_func_rename_dest_works to "guessing yes".
1509         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1510         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1511         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1512         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1513         "guessing yes".
1514         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1515         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1516         "guessing yes".
1517         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1518         compiling to glibc systems, set gl_cv_func_setenv_works to
1519         "guessing yes".
1520         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1521         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1522         "guessing yes".
1523         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1524         compiling to glibc systems, set gl_cv_func_sleep_works to
1525         "guessing yes".
1526         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1527         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1528         "guessing yes".
1529         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1530         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1531         "guessing yes".
1532         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1533         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1534         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1535         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1536         "guessing yes".
1537         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1538         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1539         "guessing yes".
1540         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1541         compiling to glibc systems, set gl_cv_func_usleep_works to
1542         "guessing yes".
1543         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1544         compiling to glibc systems, set gl_cv_func_futimesat_works to
1545         "guessing yes".
1546
1547 2012-05-03  Bruno Haible  <bruno@clisp.org>
1548
1549         Say "guessing yes" or "guessing no" when cross-compiling.
1550         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1551         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1552         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1553         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1554         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1555         am_cv_func_working_getline to "guessing yes" or "guessing no".
1556         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1557         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1558         (gl_FUNC_MEMMEM): When cross-compiling, set
1559         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1560         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1561         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1562         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1563         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1564         "guessing no".
1565         (gl_FUNC_STRCASESTR): When cross-compiling, set
1566         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1567         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1568         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1569         (gl_FUNC_STRSTR): When cross-compiling, set
1570         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1571         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1572         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1573         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1574         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1575
1576 2012-05-01  Bruno Haible  <bruno@clisp.org>
1577
1578         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1579         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1580         * build-aux/reloc-ldflags: Likewise.
1581         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1582
1583 2012-05-01  Bruno Haible  <bruno@clisp.org>
1584
1585         gnulib-tool: Remove transitional code.
1586         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1587         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1588
1589 2012-05-01  Bruno Haible  <bruno@clisp.org>
1590
1591         getcwd: Fix misindentation.
1592         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1593
1594 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1595
1596         exclude: process exclude and include directives in order
1597         This restores the pre-2009 behavior, and is part of a fix of a
1598         grep bug reported by Quentin Arce in
1599         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1600         * lib/exclude.c (struct exclude): Remove 'tail' member.
1601         (new_exclude_segment): Prepend the new segment instead of appending.
1602         Return void, since that's now more convenient.
1603         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1604         (file_name_matches): Renamed from excluded_file_name_p.
1605         (file_pattern_matches, file_name_matches):
1606         Return true if the pattern matches, not if it excludes.
1607         All callers changed.
1608         (excluded_file_name): Process the list in reverse order;
1609         since the list is now reversed this restores the pre-2009 behavior.
1610         (add_exclude): Adjust to new reversed-order list.  Use local var
1611         rather than macro, for clarity.
1612         * tests/test-exclude7.sh: Adjust to corrected behavior.
1613
1614         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1615         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1616         it's not possible here.  Handle the case of \ at end of pattern
1617         without dumping core.
1618         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1619
1620         _Noreturn: future-proof non-GNU and non-MSVC compilers
1621         * build-aux/snippet/_Noreturn.h (_Noreturn):
1622         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1623         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1624         C11 or later.  This is more likely to work with random future C
1625         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1626         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1627
1628         exclude: handle wildcards with FNM_EXTMATCH
1629         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1630         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1631         comment that "has wildcards" really means "has or may have
1632         wildcards".  Simplify by avoiding the need to call strcspn.
1633
1634 2012-04-29  Bruno Haible  <bruno@clisp.org>
1635
1636         gnulib-tool: Fix list of authors.
1637         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1638
1639 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1640
1641         bootstrap: support Automake-NG in $buildreq
1642         * bootstrap (check_versions): Handle automake and aclocal from
1643         Automake-NG specially.  They can be specified as respectively
1644         the "automake-ng" and "aclocal-ng" requirements.
1645
1646 2012-04-25  Eric Blake  <eblake@redhat.com>
1647
1648         bootstrap: only force latest Makefile.in.in for gettext module
1649         * build-aux/bootstrap (with_gettext): Only install latest
1650         Makefile.in.in for projects requesting bleeding edge gettext.
1651
1652 2012-04-22  Bruno Haible  <bruno@clisp.org>
1653
1654         doc: Mention reason for replacement on glibc/Linux systems.
1655         * doc/posix-functions/dprintf.texi: Mention the problem with special
1656         'long double' values.
1657         * doc/posix-functions/fprintf.texi: Likewise.
1658         * doc/posix-functions/printf.texi: Likewise.
1659         * doc/posix-functions/snprintf.texi: Likewise.
1660         * doc/posix-functions/sprintf.texi: Likewise.
1661         * doc/posix-functions/vdprintf.texi: Likewise.
1662         * doc/posix-functions/vfprintf.texi: Likewise.
1663         * doc/posix-functions/vprintf.texi: Likewise.
1664         * doc/posix-functions/vsnprintf.texi: Likewise.
1665         * doc/posix-functions/vsprintf.texi: Likewise.
1666         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
1667         platforms with F_DUPFD_CLOEXEC problems.
1668         * doc/posix-functions/glob.texi: Mention which platforms are affected
1669         by the problem with symbolic links.
1670         * doc/posix-functions/linkat.texi: Mention the problem with
1671         AT_SYMLINK_FOLLOW on Linux.
1672
1673 2012-04-22  Bruno Haible  <bruno@clisp.org>
1674
1675         pwrite: Don't replace on all platforms.
1676         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
1677
1678 2012-04-22  Bruno Haible  <bruno@clisp.org>
1679
1680         rint* tests: Avoid gcc warnings.
1681         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
1682         * tests/test-rintf.c (INFINITY, NAN): Likewise.
1683         * tests/test-rintl.c (INFINITY, NAN): Likewise.
1684
1685 2012-04-21  Bruno Haible  <bruno@clisp.org>
1686
1687         users.txt: Update.
1688         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1689         switched from CVS to git, bzr, or svn.
1690
1691 2012-04-21  Bruno Haible  <bruno@clisp.org>
1692
1693         Large File Support for native Windows platforms.
1694
1695         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1696         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1697
1698         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1699         type.
1700         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1701         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1702         * doc/posix-headers/sys_types.texi: Mention the effect of the
1703         'largefile' module.
1704
1705         * lib/fcntl.in.h: Add comments about off_t.
1706         * modules/fcntl-h (Depends-on): Add sys_types.
1707
1708         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1709         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1710         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1711         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1712         * modules/unistd (Depends-on): Add sys_types.
1713         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1714
1715         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1716         instead of lseek.
1717         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1718         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1719         * modules/lseek (Depends-on): Add sys_types.
1720
1721         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1722         msvc-nothrow.h.
1723         (SetFileSize): New function.
1724         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1725         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1726         if Large File Support is requested.
1727         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1728         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1729
1730         * lib/stdio.in.h: Add comments about off_t.
1731         * modules/stdio (Depends-on): Add sys_types.
1732
1733         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1734         instead of ftello.
1735         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1736         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1737         (gl_PREREQ_FTELLO): New macro.
1738         * modules/ftello (Depends-on): Add sys_types.
1739         (configure.ac): Incoke gl_PREREQ_FTELLO.
1740
1741         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1742         instead of fseeko.
1743         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1744         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1745         (gl_PREREQ_FSEEKO): New macro.
1746         * modules/fseeko (Depends-on): Add sys_types.
1747         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1748
1749         * lib/sys_stat.in.h: Add comments about off_t.
1750         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1751         64-bit integer for st_size in 'struct stat'.
1752         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1753         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1754         * modules/sys_stat (Depends-on): Add sys_types.
1755         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1756
1757         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1758         instead of stat or _stat.
1759
1760         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1761         'struct _stati64' instead of fstat and 'struct stat'.
1762         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1763         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1764
1765         Reported by Ray Satiro <raysatiro@yahoo.com>.
1766
1767 2012-04-19  Eric Blake  <eblake@redhat.com>
1768
1769         bootstrap: accommodate older libtool
1770         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1771         Reported by Daniel P. Berrange.
1772
1773 2012-04-19  Jim Meyering  <meyering@redhat.com>
1774
1775         announce-gen: avoid failure due to lack of Digest::SHA1
1776         Even with the preferred Digest::SHA available, this script
1777         would fail when the backup module, Digest::SHA1, was not installed.
1778         * build-aux/announce-gen: Quote the conditional use of "use".
1779         Reported by Reuben Thomas in:
1780         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1781
1782         bootstrap: don't let a user's CDPATH setting affect this script
1783         When CDPATH is set, cd will sometimes generate output.
1784         When "cd" is run in a subshell whose output matters, that
1785         surprising-to-some output can cause malfunction.
1786         Unsetting CDPATH turns off this shell "feature."
1787         * build-aux/bootstrap (CDPATH): Unset.
1788         Reported by Reuben Thomas in:
1789         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1790         and inspired by his patch here:
1791         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1792
1793 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1794         and Jim Meyering  <meyering@redhat.com>
1795
1796         maint.mk: catch "see @xref{}" and similar
1797         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1798         prohibit "See also @xref{", "Also see @pxref{", and similar.
1799
1800 2012-04-16  Jim Meyering  <meyering@redhat.com>
1801
1802         bootstrap: really use gnulib's po/Makefile.in.in
1803         * build-aux/bootstrap: Correct the source file name in previous change.
1804         Reported by Akim Demaille.
1805
1806         configmake: correct minor inconsistency in Makefile rule
1807         * modules/configmake (Makefile.am): All other rules like this one
1808         run the final "mv -f ..." in the same backslash-continued command
1809         as the one that does everything else.  This one put the mv -f ...
1810         command on a separate, non-backslash-continued line.
1811         Make it like the others.
1812
1813         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1814         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1815         the one from gettext.  Reported by Akim Demaille.
1816
1817 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1818
1819         Fix recursion of install-* into po directories.
1820         Bison's install-pdf bug reported by Hans Aberg at
1821         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1822         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1823         (install-info, install-pdf, install-ps): New targets.
1824
1825 2012-04-16  Jim Meyering  <meyering@redhat.com>
1826
1827         maint: avoid spurious "make sc_maint" failure
1828         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1829         exempt all *.class file names, for lib/javaversion.class.
1830
1831 2012-04-15  Bruno Haible  <bruno@clisp.org>
1832
1833         lseek: Make configure test independent of environment.
1834         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1835         Windows, we know that lseek() on pipes is broken; skip the runtime
1836         test.
1837
1838 2012-04-14  Bruno Haible  <bruno@clisp.org>
1839
1840         stat: Bypass buggy override in mingw64.
1841         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1842         * lib/stat.c (stat) [mingw64]: Define to _stat.
1843         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1844
1845 2012-04-14  Bruno Haible  <bruno@clisp.org>
1846
1847         pathmax: Fix compilation error on MSVC 9.
1848         * modules/pathmax (Depends-on): Add unistd.
1849
1850 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1851
1852         README: document pointer comparison assumption
1853         * README (Portability guidelines): Document assumption about
1854         pointer comparisons, in response to a recent bug-gnulib comment by
1855         Jeffrey Kegler.
1856
1857 2012-04-12  Bruno Haible  <bruno@clisp.org>
1858
1859         Tests for module 'getrusage'.
1860         * modules/getrusage-tests: New file.
1861         * tests/test-getrusage.c: New file.
1862
1863         New module 'getrusage'.
1864         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1865         warn-on-use.h.
1866         (getrusage): New declaration.
1867         * lib/getrusage.c: New file.
1868         * m4/getrusage.m4: New file.
1869         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1870         is declared.
1871         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1872         HAVE_GETRUSAGE.
1873         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1874         snippet/c++defs, snippet/warn-on-use.
1875         (Makefile.am): Update generation of sys/resource.h. Substitute
1876         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1877         * modules/getrusage: New file.
1878         * doc/posix-functions/getrusage.texi: Mention the new module.
1879
1880 2012-04-12  Bruno Haible  <bruno@clisp.org>
1881
1882         Tests for module 'sys_resource'.
1883         * modules/sys_resource-tests: New file.
1884         * tests/test-sys_resource.c: New file.
1885
1886         New module 'sys_resource'.
1887         * lib/sys_resource.in.h: New file.
1888         * m4/sys_resource_h.m4: New file.
1889         * modules/sys_resource: New file.
1890         * doc/posix-headers/sys_resource.texi: Mention the new module.
1891
1892 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1893
1894         ioctl: Fix compilation error on mingw.
1895         * lib/ioctl.c: Include <windows.h>.
1896         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1897
1898 2012-04-04  Jim Meyering  <meyering@redhat.com>
1899
1900         regex: correct #pragma guard expression
1901         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1902         not 4.3.  Correct its cpp guard expression.
1903
1904 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1905
1906         regex: remove unnecessary type punning
1907         Problem reported by Vladimir Serbinenko in
1908         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1909         * lib/regex.h (struct re_pattern_buffer): Change the type of
1910         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1911         Fix comment to match code.
1912         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1913         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1914         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1915         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1916         (set_regs):
1917         Omit no-longer-necessary casts.
1918
1919 2012-04-03  Bruno Haible  <bruno@clisp.org>
1920
1921         Tests for module 'ilogbl'.
1922         * modules/ilogbl-tests: New file.
1923         * tests/test-ilogbl.c: New file.
1924
1925         New module 'ilogbl'.
1926         * lib/math.in.h (ilogbl): New declaration.
1927         * lib/ilogbl.c: New file.
1928         * m4/ilogbl.m4: New file.
1929         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1931         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1932         Split sed invocation, to avoid the limit of 100 substitutions of
1933         HP-UX 'sed'.
1934         * modules/ilogbl: New file.
1935         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1936         * doc/posix-functions/ilogbl.texi: Mention the new module.
1937
1938 2012-04-03  Bruno Haible  <bruno@clisp.org>
1939
1940         Tests for module 'ilogbf'.
1941         * modules/ilogbf-tests: New file.
1942         * tests/test-ilogbf.c: New file.
1943
1944         New module 'ilogbf'.
1945         * lib/math.in.h (ilogbf): New declaration.
1946         * lib/ilogbf.c: New file.
1947         * m4/ilogbf.m4: New file.
1948         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1950         REPLACE_ILOGBF.
1951         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1952         REPLACE_ILOGBF.
1953         * modules/ilogbf: New file.
1954         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1955         * doc/posix-functions/ilogbf.texi: Mention the new module.
1956
1957 2012-04-03  Bruno Haible  <bruno@clisp.org>
1958
1959         Tests for module 'ilogb'.
1960         * modules/ilogb-tests: New file.
1961         * tests/test-ilogb.c: New file.
1962         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1963         tests/test-logb-ieee.h.
1964
1965         New module 'ilogb'.
1966         * lib/math.in.h (ilogb): New declaration.
1967         * lib/ilogb.c: New file.
1968         * m4/ilogb.m4: New file.
1969         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1971         REPLACE_ILOGB.
1972         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1973         REPLACE_ILOGB.
1974         * modules/ilogb: New file.
1975         * tests/test-math-c++.cc: Check the declaration of ilogb.
1976         * doc/posix-functions/ilogb.texi: Mention the new module.
1977
1978 2012-04-03  Bruno Haible  <bruno@clisp.org>
1979
1980         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1981         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1982         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1983         (main): Check their values.
1984         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1985         problem.
1986
1987 2012-04-03  Bruno Haible  <bruno@clisp.org>
1988
1989         Tests for module 'logbl-ieee'.
1990         * modules/logbl-ieee-tests: New file.
1991         * tests/test-logbl-ieee.c: New file.
1992
1993         New module 'logbl-ieee'.
1994         * modules/logbl-ieee: New file.
1995
1996         Tests for module 'logb-ieee'.
1997         * modules/logb-ieee-tests: New file.
1998         * tests/test-logb-ieee.c: New file.
1999
2000         New module 'logb-ieee'.
2001         * modules/logb-ieee: New file.
2002
2003         Tests for module 'logbf-ieee'.
2004         * modules/logbf-ieee-tests: New file.
2005         * tests/test-logbf-ieee.c: New file.
2006         * tests/test-logb-ieee.h: New file.
2007
2008         New module 'logbf-ieee'.
2009         * modules/logbf-ieee: New file.
2010
2011 2012-04-03  Bruno Haible  <bruno@clisp.org>
2012
2013         Tests for module 'logbl'.
2014         * modules/logbl-tests: New file.
2015         * tests/test-logbl.c: New file.
2016
2017         New module 'logbl'.
2018         * lib/math.in.h (logbl): New declaration.
2019         * lib/logbl.c: New file.
2020         * m4/logbl.m4: New file.
2021         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2022         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2023         REPLACE_LOGBL.
2024         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2025         REPLACE_LOGBL.
2026         * modules/logbl: New file.
2027         * tests/test-math-c++.cc: Check the declaration of logbl.
2028         * doc/posix-functions/logbl.texi: Mention the new module.
2029
2030 2012-04-02  Bruno Haible  <bruno@clisp.org>
2031
2032         Tests for module 'logbf'.
2033         * modules/logbf-tests: New file.
2034         * tests/test-logbf.c: New file.
2035
2036         New module 'logbf'.
2037         * lib/math.in.h (logbf): New declaration.
2038         * lib/logbf.c: New file.
2039         * m4/logbf.m4: New file.
2040         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2042         REPLACE_LOGBF.
2043         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2044         REPLACE_LOGBF.
2045         * modules/logbf: New file.
2046         * tests/test-math-c++.cc: Check the declaration of logbf.
2047         * doc/posix-functions/logbf.texi: Mention the new module.
2048
2049 2012-04-02  Bruno Haible  <bruno@clisp.org>
2050
2051         logb tests: More tests.
2052         * tests/test-logb.h: New file, based on tests/test-logb.c and
2053         tests/test-frexp.h.
2054         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2055         (main): Just invoke test_function.
2056         * modules/logb-tests (Files): Add tests/test-logb.h,
2057         tests/minus-zero.h, tests/randomd.c.
2058         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2059
2060         logb: Provide replacement and workarounds.
2061         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2062         is 1.
2063         * lib/logb.c: New file.
2064         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2065         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2067         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2068         * modules/logb (Files): Add lib/logb.c.
2069         (Depends-on): Add isfinite, frexp, isnand.
2070         (configure.ac): Compile the replacement code logb.c if needed.
2071         * tests/test-math-c++.cc: Check the declaration of logb.
2072         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2073         with subnormal numbers.
2074
2075 2012-04-02  Bruno Haible  <bruno@clisp.org>
2076
2077         log10* tests: Speed up.
2078         * tests/test-log10.h (test_function): Reduce amount of random numbers
2079         to test.
2080
2081 2012-04-01  Bruno Haible  <bruno@clisp.org>
2082
2083         logf-ieee: Fix test whether logf works.
2084         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2085
2086 2012-04-01  Bruno Haible  <bruno@clisp.org>
2087
2088         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2089         * lib/log10l.c: Include <float.h>
2090         (log10l): On IRIX, normalize the +Infinity value.
2091         * modules/log10l (Depends-on): Add 'float'.
2092         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2093         +Infinity.
2094
2095         log10f-ieee: Work around test failure on NetBSD 5.1.
2096         * m4/log10f-ieee.m4: New file.
2097         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2098         test whether log10f works with a negative argument. Replace it if not.
2099         * lib/log10f.c (log10f): For negative arguments, return NaN.
2100         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2101         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2102         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2103
2104         log10f-ieee: Work around test failure on Solaris 9.
2105         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2106         (configure.ac): Require gl_FUNC_LOG10F.
2107
2108         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2109         * m4/log10-ieee.m4: New file.
2110         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2111         whether log10 works with a negative argument. Replace it if not.
2112         * lib/log10.c (log10): For negative arguments, return NaN.
2113         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2114         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2115         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2116
2117         Tests for module 'log10l-ieee'.
2118         * modules/log10l-ieee-tests: New file.
2119         * tests/test-log10l-ieee.c: New file.
2120
2121         New module 'log10l-ieee'.
2122         * modules/log10l-ieee: New file.
2123
2124         Tests for module 'log10-ieee'.
2125         * modules/log10-ieee-tests: New file.
2126         * tests/test-log10-ieee.c: New file.
2127
2128         New module 'log10-ieee'.
2129         * modules/log10-ieee: New file.
2130
2131         Tests for module 'log10f-ieee'.
2132         * modules/log10f-ieee-tests: New file.
2133         * tests/test-log10f-ieee.c: New file.
2134         * tests/test-log10-ieee.h: New file.
2135
2136         New module 'log10f-ieee'.
2137         * modules/log10f-ieee: New file.
2138
2139 2012-04-01  Bruno Haible  <bruno@clisp.org>
2140
2141         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2142         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2143         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2144         workaround.
2145         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2146         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2148         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2149         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2150         (Depends-on): Update conditions.
2151         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2152         IRIX 6.5, OSF/1 5.1 problems.
2153
2154 2012-04-01  Bruno Haible  <bruno@clisp.org>
2155
2156         log10f: Work around OSF/1 5.1 bug.
2157         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2158         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2159         workaround.
2160         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2161         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2163         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2164         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2165         (Depends-on): Update conditions.
2166         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2167
2168 2012-04-01  Bruno Haible  <bruno@clisp.org>
2169
2170         log10: Work around OSF/1 5.1 bug.
2171         * lib/math.in.h (log10): New declaration.
2172         * lib/log10.c: New file.
2173         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2174         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2175         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2177         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2178         * modules/log10 (Files): Add lib/log10.c.
2179         (Depends-on): Add math.
2180         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2181         * tests/test-math-c++.cc: Check the declaration of log10.
2182         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2183
2184 2012-03-31  Bruno Haible  <bruno@clisp.org>
2185
2186         log10l tests: More tests.
2187         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2188         tests/minus-zero.h, tests/randoml.c.
2189         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2190         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2191         (main): Invoke test_function.
2192
2193         log10f tests: More tests.
2194         * modules/log10f-tests (Files): Add tests/test-log10.h,
2195         tests/minus-zero.h, tests/randomf.c.
2196         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2197         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2198         (main): Invoke test_function.
2199
2200         log10 tests: More tests.
2201         * tests/test-log10.h: New file.
2202         * modules/log10-tests (Files): Add tests/test-log10.h,
2203         tests/minus-zero.h, tests/randomd.c.
2204         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2205         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2206         (main): Invoke test_function.
2207
2208 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2209
2210         fflush: Fix syntax error.
2211         * lib/fflush.c: Include unused-parameter.h, needed for
2212         _GL_UNUSED_PARAMETER.
2213         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2214
2215 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2216
2217         regex: pacify GCC when compiling GRUB
2218         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2219         a diagnostic.  Reported by Vladimir Serbinenko in
2220         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2221
2222 2012-03-29  Eric Blake  <eblake@redhat.com>
2223
2224         stdio: don't assume gets any more
2225         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2226         support.
2227         * modules/stdio (Makefile.am): Likewise.
2228         * lib/stdio-read.c (gets): Likewise.
2229         * tests/test-stdio-c++.cc: Likewise.
2230         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2231         * lib/stdio.in.h (gets): Make warning occur in more places.
2232         * doc/posix-functions/gets.texi (gets): Update documentation.
2233         Reported by Christer Solskogen.
2234
2235         maint.mk: fix syntax checks without exclusions
2236         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2237         Reported by Daniel P. Berrange.
2238
2239         strerror_r: avoid compiler warning
2240         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2241         level.
2242
2243         fflush: avoid compiler warning
2244         * lib/fflush.c (update_fpos_cache): Mark variables that are
2245         potentially unused.
2246
2247 2012-03-25  Bruno Haible  <bruno@clisp.org>
2248
2249         Tests for module 'localeconv'.
2250         * modules/localeconv-tests: New file.
2251         * tests/test-localeconv.c: New file.
2252
2253         New module 'localeconv'.
2254         * lib/locale.in.h (localeconv): New declaration.
2255         * lib/localeconv.c: New file.
2256         * m4/localeconv.m4: New file.
2257         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2258         REPLACE_LOCALECONV.
2259         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2260         REPLACE_LOCALECONV.
2261         * modules/localeconv: New file.
2262         * modules/nl_langinfo (Depends-on): Add localeconv.
2263         * modules/human (Depends-on): Likewise.
2264         * doc/posix-functions/localeconv.texi: Mention the new module.
2265
2266 2012-03-25  Bruno Haible  <bruno@clisp.org>
2267
2268         locale: Provide a complete 'struct lconv'.
2269         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2270         'struct lconv' does not contain int_p_cs_precedes.
2271         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2272         * doc/posix-headers/locale.texi: Update.
2273
2274         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2275         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2276         * doc/posix-headers/locale.texi: Update.
2277
2278         locale: Provide a working 'struct lconv'.
2279         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2280         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2281         'struct lconv' does not even contain decimal_point.
2282         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2283         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2284         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2285         * doc/posix-headers/locale.texi: Mention the problems with
2286         'struct lconv'.
2287         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2288
2289 2012-03-24  Bruno Haible  <bruno@clisp.org>
2290
2291         Enable common subexpression optimization in GCC.
2292         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2293         macros.
2294         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2295         GCC attribute 'const'.
2296         (uc_locale_language): Declare with GCC attribute 'pure'.
2297         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2298         with GCC attribute 'const'.
2299         * lib/unictype.in.h (uc_is_general_category_withtable,
2300         uc_combining_class, uc_combining_class_name,
2301         uc_combining_class_long_name, uc_bidi_class_name,
2302         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2303         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2304         uc_decimal_value, uc_digit_value, uc_numeric_value,
2305         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2306         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2307         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2308         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2309         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2310         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2311         Declare with GCC attribute 'const'.
2312         (uc_general_category_name, uc_general_category_long_name,
2313         uc_general_category_byname, uc_general_category,
2314         uc_is_general_category, uc_combining_class_byname,
2315         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2316         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2317         Declare with GCC attribute 'pure'.
2318         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2319         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2320         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2321         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2322         with GCC attribute 'pure'.
2323         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2324         'const'.
2325         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2326         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2327         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2328         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2329         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2330         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2331         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2332         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2333         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2334         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2335         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2336         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2337         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2338         GCC attribute 'pure'.
2339         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2340         'const'.
2341         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2342         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2343         u32_strwidth): Declare with GCC attribute 'pure'.
2344
2345         Enable common subexpression optimization in GCC.
2346         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2347         (alphasort): Declare with GCC attribute 'pure'.
2348         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2349         (atoll): Declare with GCC attribute 'pure'.
2350         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2351         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2352         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2353         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2354         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2355         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2356         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2357
2358 2012-03-24  Bruno Haible  <bruno@clisp.org>
2359
2360         gnulib-tool: Avoid unintended error output from 'cmp'.
2361         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2362         "cmp -s", not "cmp > /dev/null".
2363
2364 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2365
2366         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2367
2368         It's not just Automake versions < 1.9b that creates an empty
2369         pkgdatadir at installation time if pkgdata_DATA is specified
2370         to empty; modern automake versions do this as well, at least
2371         until automake 1.11.4 (not yet released at the moment of writing,
2372         but soon to appear).  That behaviour was generally considered a
2373         feature rather than a bug, at least until this discussion:
2374         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2375
2376         See also automake bugs #10997 and #11030.
2377
2378         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2379         reference to relevant automake bug numbers.
2380         (func_emit_tests_Makefile_am): Likewise.
2381
2382 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2383
2384         announce-gen: use Digest::SHA when possible
2385         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2386         back to Digest::SHA1 if necessary.
2387
2388 2012-03-20  Jim Meyering  <meyering@redhat.com>
2389
2390         tests: avoid gcc warnings about argv vs. const initializers
2391         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2392         warnings about discarding 'const' qualifier from pointer target type.
2393         * tests/test-posix_spawn2.c (main): Likewise.
2394
2395 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2396
2397         README-release: simplify slightly
2398         * top/README-release: Run "git checkout master" only once.
2399
2400 2012-03-15  Mark Wielaard  <mark@klomp.org>
2401
2402         git-merge-changelog: add specific example on how to use with hg.
2403         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2404
2405 2012-03-18  Mark Wielaard  <mark@klomp.org>
2406
2407         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2408
2409 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2410
2411         git-version-gen: don't let "prefix" envvar cause trouble
2412         * build-aux/git-version-gen (prefix): Initialize properly,
2413         so as not to use a value specified via the environment.
2414         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2415
2416 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2417
2418         regex: diagnose too-large repeat counts in EREs
2419         Previously, the code did not diagnose the too-large repeat count
2420         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2421         as if it were 'b\{1000000000}', which is unexpected.
2422         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2423         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2424         is a reasonable one for this problem.  Another option would be to
2425         create a new REG_OVERFLOW error for repeat counts that are too large.
2426         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2427         count is too large, so that the caller can distinguish the two cases.
2428         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2429         "Too large" return code, and that repeat counts are one example of this.
2430
2431 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2432
2433         doc: some glibc x32 integer width issues
2434         * doc/posix-headers/sys_types.texi (sys/types.h):
2435         * doc/posix-headers/time.texi (time.h):
2436         Mention that glibc x32 does not conform to POSIX in a couple of
2437         areas related to integer widths.
2438
2439 2012-03-15  Bruno Haible  <bruno@clisp.org>
2440
2441         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2442         * lib/fma.c (VOLATILE): New macro.
2443         (FUNC): Use it to work around a GCC compiler bug.
2444
2445 2012-03-13  Bruno Haible  <bruno@clisp.org>
2446
2447         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2448         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2449         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2450         REPLACE_HYPOTL to 1.
2451         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2452
2453 2012-03-13  Bruno Haible  <bruno@clisp.org>
2454
2455         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2456         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2457         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2458         REPLACE_REMAINDERL to 1.
2459         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2460         bug.
2461
2462 2012-03-13  Bruno Haible  <bruno@clisp.org>
2463
2464         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2465         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2466         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2467         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2468         too big rounding errors.
2469         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2470         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2471         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2472         (Depends-on): Update conditions.
2473         * tests/test-sqrtl.c (my_ldexpl): New function.
2474         (main): Add test of a particular value.
2475         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2476
2477 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2478
2479         doc: Update timer_* platform portability notes.
2480         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2481         that always return ENOSYS.
2482         * doc/posix-functions/timer_delete.texi: Likewise.
2483         * doc/posix-functions/timer_gettime.texi: Likewise.
2484         * doc/posix-functions/timer_settime.texi: Likewise.
2485
2486 2012-03-13  Bruno Haible  <bruno@clisp.org>
2487
2488         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2489         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2490         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2491         REPLACE_CBRTL to 1.
2492         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2493
2494 2012-03-13  Bruno Haible  <bruno@clisp.org>
2495
2496         remainderl: Avoid compilation error on AIX >= 5.2.
2497         * lib/math.in.h (remainderl): Undefine macro from the system header.
2498
2499 2012-03-13  Bruno Haible  <bruno@clisp.org>
2500
2501         Avoid compilation errors with MSVC option -fp:strict.
2502         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2503         * lib/cbrtf.c: Likewise.
2504         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2505
2506 2012-03-12  Bruno Haible  <bruno@clisp.org>
2507
2508         uninorm: Don't crash in out-of-memory conditions.
2509         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2510         gracefully.
2511         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2512         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2513
2514 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2515
2516         quote: fix syntax-check
2517         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2518         also exports quote_quoting_options.
2519
2520 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2521
2522         Collapse list of copyright years to ranges.  See
2523         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2524         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2525         build-aux/csharpexec.sh.in, build-aux/gnupload,
2526         build-aux/install-reloc, build-aux/javacomp.sh.in,
2527         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2528         build-aux/move-if-change, build-aux/reloc-ldflags,
2529         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2530
2531 2012-03-11  Bruno Haible  <bruno@clisp.org>
2532
2533         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2534         * m4/log2f-ieee.m4: New file.
2535         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2536         whether log2f works with a minus zero argument. Replace it if not.
2537         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2538         (Depends-on): Add log2-ieee.
2539         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2540         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2541
2542         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2543         * m4/log2-ieee.m4: New file.
2544         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2545         whether log2 works with a minus zero argument. Replace it if not.
2546         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2547         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2548         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2549
2550         Tests for module 'log2l-ieee'.
2551         * modules/log2l-ieee-tests: New file.
2552         * tests/test-log2l-ieee.c: New file.
2553
2554         New module 'log2l-ieee'.
2555         * modules/log2l-ieee: New file.
2556
2557         Tests for module 'log2-ieee'.
2558         * modules/log2-ieee-tests: New file.
2559         * tests/test-log2-ieee.c: New file.
2560
2561         New module 'log2-ieee'.
2562         * modules/log2-ieee: New file.
2563
2564         Tests for module 'log2f-ieee'.
2565         * modules/log2f-ieee-tests: New file.
2566         * tests/test-log2f-ieee.c: New file.
2567         * tests/test-log2-ieee.h: New file.
2568
2569         New module 'log2f-ieee'.
2570         * modules/log2f-ieee: New file.
2571
2572 2012-03-11  Bruno Haible  <bruno@clisp.org>
2573
2574         Tests for module 'log2l'.
2575         * modules/log2l-tests: New file.
2576         * tests/test-log2l.c: New file.
2577
2578         New module 'log2l'.
2579         * lib/math.in.h (log2l): New declaration.
2580         * lib/log2l.c: New file.
2581         * m4/log2l.m4: New file.
2582         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2584         REPLACE_LOG2L.
2585         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2586         REPLACE_LOG2L.
2587         * modules/log2l: New file.
2588         * tests/test-math-c++.cc: Check the declaration of log2l.
2589         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2590         and OSF/1 problems.
2591
2592 2012-03-11  Bruno Haible  <bruno@clisp.org>
2593
2594         Tests for module 'log2f'.
2595         * modules/log2f-tests: New file.
2596         * tests/test-log2f.c: New file.
2597
2598         New module 'log2f'.
2599         * lib/math.in.h (log2f): New declaration.
2600         * lib/log2f.c: New file.
2601         * m4/log2f.m4: New file.
2602         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2604         REPLACE_LOG2F.
2605         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2606         REPLACE_LOG2F.
2607         * modules/log2f: New file.
2608         * tests/test-math-c++.cc: Check the declaration of log2f.
2609         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2610         and OSF/1 and Cygwin problems.
2611
2612 2012-03-11  Bruno Haible  <bruno@clisp.org>
2613
2614         Tests for module 'log2'.
2615         * modules/log2-tests: New file.
2616         * tests/test-log2.c: New file.
2617         * tests/test-log2.h: New file.
2618
2619         New module 'log2'.
2620         * lib/math.in.h (log2): New declaration.
2621         * lib/log2.c: New file.
2622         * m4/log2.m4: New file.
2623         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2625         REPLACE_LOG2.
2626         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2627         REPLACE_LOG2.
2628         * modules/log2: New file.
2629         * tests/test-math-c++.cc: Check the declaration of log2.
2630         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2631         and OSF/1 and Cygwin problems.
2632
2633 2012-03-11  Bruno Haible  <bruno@clisp.org>
2634
2635         exp2* tests: More tests.
2636         * tests/test-exp2.h (test_function): Test all integral arguments that
2637         don't need to overflow or denormalized numbers.
2638         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2639         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2640         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2641
2642 2012-03-10  Bruno Haible  <bruno@clisp.org>
2643
2644         log1pl-ieee: Work around test failure on AIX 7.1.
2645         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2646
2647         log1pl-ieee: Work around test failure on IRIX 6.5.
2648         * m4/log1pl-ieee.m4: New file.
2649         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2650         test whether log1pl works with a minus zero argument. Replace it if
2651         not.
2652         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2654         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2655         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2656         (Depends-on): Update conditions.
2657         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2658         m4/signbit.m4.
2659         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2660         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2661
2662         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
2663         * m4/log1pf-ieee.m4: New file.
2664         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
2665         test whether log1pf works with a minus zero argument. Replace it if
2666         not.
2667         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
2668         m4/signbit.m4.
2669         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
2670         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
2671
2672         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
2673         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
2674         (configure.ac): Require gl_FUNC_LOG1PF.
2675
2676         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
2677         * m4/log1p-ieee.m4: New file.
2678         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
2679         whether log1p works with a minus zero argument. Replace it if not.
2680         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
2681         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
2682         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
2683         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
2684         (Depends-on): Update conditions.
2685         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2686         m4/signbit.m4.
2687         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2688         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2689
2690         Tests for module 'log1pl-ieee'.
2691         * modules/log1pl-ieee-tests: New file.
2692         * tests/test-log1pl-ieee.c: New file.
2693
2694         New module 'log1pl-ieee'.
2695         * modules/log1pl-ieee: New file.
2696
2697         Tests for module 'log1p-ieee'.
2698         * modules/log1p-ieee-tests: New file.
2699         * tests/test-log1p-ieee.c: New file.
2700
2701         New module 'log1p-ieee'.
2702         * modules/log1p-ieee: New file.
2703
2704         Tests for module 'log1pf-ieee'.
2705         * modules/log1pf-ieee-tests: New file.
2706         * tests/test-log1pf-ieee.c: New file.
2707         * tests/test-log1p-ieee.h: New file.
2708
2709         New module 'log1pf-ieee'.
2710         * modules/log1pf-ieee: New file.
2711
2712 2012-03-10  Bruno Haible  <bruno@clisp.org>
2713
2714         Tests for module 'log1pl'.
2715         * modules/log1pl-tests: New file.
2716         * tests/test-log1pl.c: New file.
2717
2718         New module 'log1pl'.
2719         * lib/math.in.h (log1pl): New declaration.
2720         * lib/log1pl.c: New file.
2721         * m4/log1pl.m4: New file.
2722         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2723         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2724         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2725         * modules/log1pl: New file.
2726         * tests/test-math-c++.cc: Check the declaration of log1pl.
2727         * doc/posix-functions/log1pl.texi: Mention the new module.
2728
2729 2012-03-10  Bruno Haible  <bruno@clisp.org>
2730
2731         Tests for module 'log1pf'.
2732         * modules/log1pf-tests: New file.
2733         * tests/test-log1pf.c: New file.
2734
2735         New module 'log1pf'.
2736         * lib/math.in.h (log1pf): New declaration.
2737         * lib/log1pf.c: New file.
2738         * m4/log1pf.m4: New file.
2739         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2740         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2741         REPLACE_LOG1PF.
2742         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2743         REPLACE_LOG1PF.
2744         * modules/log1pf: New file.
2745         * tests/test-math-c++.cc: Check the declaration of log1pf.
2746         * doc/posix-functions/log1pf.texi: Mention the new module.
2747
2748 2012-03-10  Bruno Haible  <bruno@clisp.org>
2749
2750         log1p tests: More tests.
2751         * tests/test-log1p.h: New file.
2752         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2753         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2754         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2755         (main): Invoke test_function.
2756
2757         log1p: Provide replacement for Minix and MSVC.
2758         * lib/math.in.h (log1p): New declaration.
2759         * lib/log1p.c: New file.
2760         * m4/log1p.m4: New file.
2761         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2762         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2763         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2764         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2765         (Depends-on): Add math, isnand, log, round.
2766         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2767         HAVE_LOG1P is 0.
2768         * tests/test-math-c++.cc: Check the declaration of log1p.
2769         * doc/posix-functions/log1p.texi: Mention the replacement.
2770
2771 2012-03-10  Bruno Haible  <bruno@clisp.org>
2772
2773         math tests: Small simplification.
2774         * tests/test-exp.h (test_function): Use the same err_bound for
2775         'double' on platforms with sizeof (long double) == sizeof (double)
2776         than on platforms with sizeof (long double) > sizeof (double).
2777         * tests/test-exp2.h (test_function): Likewise.
2778         * tests/test-expm1.h (test_function): Likewise.
2779         * tests/test-log.h (test_function): Likewise.
2780
2781 2012-03-10  Bruno Haible  <bruno@clisp.org>
2782
2783         Fix some comments.
2784         * lib/expl.c: Fix an ambiguous comment.
2785         * lib/expm1.c: Likewise.
2786         * lib/expm1l.c: Likewise.
2787         * lib/exp2.c: Likewise.
2788         * lib/exp2l.c: Likewise.
2789
2790 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2791
2792         regex: allow inclusion of <regex.h> before <limits.h>
2793         Without this patch, portable programs had to include <limits.h> before
2794         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2795         I ran into this problem with a test version of GNU grep on Solaris 8.
2796         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2797         This is done conditionally so that this change can be merged
2798         back to glibc.
2799         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2800         using the included regex.
2801
2802         fts: depend on fdopendir
2803         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2804         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2805         problem was introduced when fdopendir was split out.
2806
2807 2012-03-10  Bruno Haible  <bruno@clisp.org>
2808
2809         Remove unused variables.
2810         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2811         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2812
2813 2012-03-10  Bruno Haible  <bruno@clisp.org>
2814
2815         isnanf-nolibm: Fix last commit.
2816         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2817
2818         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2819         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2820
2821 2012-03-10  Bruno Haible  <bruno@clisp.org>
2822
2823         logf-ieee: Work around test failure on NetBSD 5.1.
2824         * m4/logf-ieee.m4: New file.
2825         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2826         whether logf works with a negative argument. Replace it if not.
2827         * lib/logf.c (logf): For negative arguments, return NaN.
2828         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2829         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2830         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2831
2832         logf-ieee: Work around test failure on Solaris 9.
2833         * modules/logf-ieee (Depends-on): Add log-ieee.
2834         (configure.ac): Require gl_FUNC_LOGF.
2835
2836         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2837         * m4/log-ieee.m4: New file.
2838         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2839         log works with a negative argument. Replace it if not.
2840         * lib/log.c (log): For negative arguments, return NaN.
2841         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2842         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2843         * doc/posix-functions/log.texi: Mention the log-ieee module.
2844
2845         Tests for module 'logl-ieee'.
2846         * modules/logl-ieee-tests: New file.
2847         * tests/test-logl-ieee.c: New file.
2848
2849         New module 'logl-ieee'.
2850         * modules/logl-ieee: New file.
2851
2852         Tests for module 'log-ieee'.
2853         * modules/log-ieee-tests: New file.
2854         * tests/test-log-ieee.c: New file.
2855
2856         New module 'log-ieee'.
2857         * modules/log-ieee: New file.
2858
2859         Tests for module 'logf-ieee'.
2860         * modules/logf-ieee-tests: New file.
2861         * tests/test-logf-ieee.c: New file.
2862         * tests/test-log-ieee.h: New file.
2863
2864         New module 'logf-ieee'.
2865         * modules/logf-ieee: New file.
2866
2867 2012-03-10  Bruno Haible  <bruno@clisp.org>
2868
2869         log: Fix bug introduced on 2012-03-09.
2870         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2871
2872 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2873
2874         timer-time: link explicitly with pthreads on glibc
2875         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2876         to support static linking, when newer glibc is
2877         detected, as that contains pthread emulation of
2878         POSIX timer functions where required.
2879         * modules/timer-time: Depend on threadlib to
2880         pull in the appropriate library to link.
2881
2882 2012-03-10  Bruno Haible  <bruno@clisp.org>
2883
2884         log* tests: More tests.
2885         * tests/test-log.h: New file.
2886         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2887         (main): Invoke test_function.
2888         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2889         (main): Invoke test_function.
2890         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2891         (main): Invoke test_function.
2892         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2893         tests/randomd.c.
2894         (Makefile.am): Add randomd.c to test_log_SOURCES.
2895         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2896         tests/randomf.c.
2897         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2898         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2899         tests/randoml.c.
2900         (Depends-on): Add 'float'.
2901         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2902
2903 2012-03-09  Bruno Haible  <bruno@clisp.org>
2904
2905         logl: Work around OSF/1 5.1 bug.
2906         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2907         * lib/logl.c (logl): If logl exists, use it and provide just the
2908         workaround.
2909         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2910         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2912         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2913         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2914         (Depends-on): Update conditions.
2915         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2916
2917 2012-03-09  Bruno Haible  <bruno@clisp.org>
2918
2919         logf: Work around OSF/1 5.1 bug.
2920         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2921         * lib/logf.c (logf): If logf exists, use it and provide just the
2922         workaround.
2923         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2924         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2926         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2927         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2928         (Depends-on): Update conditions.
2929         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2930
2931 2012-03-09  Bruno Haible  <bruno@clisp.org>
2932
2933         log: Work around OSF/1 5.1 bug.
2934         * lib/math.in.h (log): New declaration.
2935         * lib/log.c: New file.
2936         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2937         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2938         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2940         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2941         * modules/log (Files): Add lib/log.c.
2942         (Depends-on): Add math.
2943         (configure.ac): If REPLACE_LOG is 1, compile an override.
2944         * tests/test-math-c++.cc: Check the declaration of log.
2945         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2946
2947 2012-03-09  Jim Meyering  <meyering@redhat.com>
2948
2949         readtokens.c: adjust wording in a comment
2950         * lib/readtokens.c: Insert omitted "that" in a comment.
2951
2952 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2953
2954         modechange: add notations +40, 00440, etc.
2955         * lib/modechange.c (mode_compile): Support new notations
2956         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2957
2958 2012-03-08  Bruno Haible  <bruno@clisp.org>
2959
2960         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2961         * m4/exp2l-ieee.m4: New file.
2962         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2963         test whether exp2l works with a NaN argument and with a negative
2964         infinity argument. Replace it if not.
2965         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2967         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2968         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2969         (Depends-on): Update conditions.
2970         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2971         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2972         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2973
2974         Tests for module 'exp2l-ieee'.
2975         * modules/exp2l-ieee-tests: New file.
2976         * tests/test-exp2l-ieee.c: New file.
2977
2978         New module 'exp2l-ieee'.
2979         * modules/exp2l-ieee: New file.
2980
2981         Tests for module 'exp2-ieee'.
2982         * modules/exp2-ieee-tests: New file.
2983         * tests/test-exp2-ieee.c: New file.
2984
2985         New module 'exp2-ieee'.
2986         * modules/exp2-ieee: New file.
2987
2988         Tests for module 'exp2f-ieee'.
2989         * modules/exp2f-ieee-tests: New file.
2990         * tests/test-exp2f-ieee.c: New file.
2991         * tests/test-exp2-ieee.h: New file.
2992
2993         New module 'exp2f-ieee'.
2994         * modules/exp2f-ieee: New file.
2995
2996 2012-03-08  Bruno Haible  <bruno@clisp.org>
2997
2998         Tests for module 'exp2l'.
2999         * modules/exp2l-tests: New file.
3000         * tests/test-exp2l.c: New file.
3001
3002         New module 'exp2l'.
3003         * lib/math.in.h (exp2l): New declaration.
3004         * lib/exp2l.c: New file.
3005         * lib/expl-table.c: New file, extracted from lib/expl.c.
3006         * lib/expl.c (gl_expl_table): New declaration.
3007         (expl): Remove expl_table. Update reference.
3008         * m4/exp2l.m4: New file.
3009         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3011         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3012         * modules/exp2l: New file.
3013         * modules/expl (Files): Add lib/expl-table.c.
3014         (configure.ac): Compile also expl-table.c.
3015         * tests/test-math-c++.cc: Check the declaration of exp2l.
3016         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3017         problem.
3018
3019 2012-03-08  Bruno Haible  <bruno@clisp.org>
3020
3021         Tests for module 'exp2f'.
3022         * modules/exp2f-tests: New file.
3023         * tests/test-exp2f.c: New file.
3024
3025         New module 'exp2f'.
3026         * lib/math.in.h (exp2f): New declaration.
3027         * lib/exp2f.c: New file.
3028         * m4/exp2f.m4: New file.
3029         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3031         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3032         * modules/exp2f: New file.
3033         * tests/test-math-c++.cc: Check the declaration of exp2f.
3034         * doc/posix-functions/exp2f.texi: Mention the new module and the
3035         IRIX problem.
3036
3037 2012-03-08  Bruno Haible  <bruno@clisp.org>
3038
3039         Tests for module 'exp2'.
3040         * modules/exp2-tests: New file.
3041         * tests/test-exp2.c: New file.
3042         * tests/test-exp2.h: New file.
3043
3044         New module 'exp2'.
3045         * lib/math.in.h (exp2): New declaration.
3046         * lib/exp2.c: New file.
3047         * m4/exp2.m4: New file.
3048         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3050         REPLACE_EXP2.
3051         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3052         REPLACE_EXP2.
3053         * modules/exp2: New file.
3054         * tests/test-math-c++.cc: Check the declaration of exp2.
3055         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3056         and OpenBSD problems.
3057
3058 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3059
3060         savedir: fix comment typo
3061         * lib/savedir.c (savedirstream): Fix typo in comment.
3062
3063 2012-03-08  Bruno Haible  <bruno@clisp.org>
3064
3065         test-readtokens.c: use const; remove unwarranted cast
3066         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3067
3068 2012-03-08  Bruno Haible  <bruno@clisp.org>
3069
3070         fmal: Avoid compilation error on AIX.
3071         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3072         AIX 5.2..7.1.
3073
3074 2012-03-08  Bruno Haible  <bruno@clisp.org>
3075
3076         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3077         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3078         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3079         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3080         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3081         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3082         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3083
3084 2012-03-08  Bruno Haible  <bruno@clisp.org>
3085
3086         remainderf: Override buggy system function on IRIX 6.5.
3087         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3088         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3089         when it exists.
3090         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3091
3092 2012-03-08  Jim Meyering  <meyering@redhat.com>
3093
3094         test-readtokens.c: avoid const-related compilation warnings
3095         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3096
3097 2012-03-07  Jim Meyering  <meyering@redhat.com>
3098             Bruno Haible  <bruno@clisp.org>
3099
3100         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3101         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3102         tests/randomd.c.
3103         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3104         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3105         tests/randoml.c.
3106         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3107
3108 2012-03-07  Bruno Haible  <bruno@clisp.org>
3109
3110         expm1l: Avoid compilation error on AIX.
3111         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3112         AIX 5.2..7.1.
3113
3114 2012-03-07  Bruno Haible  <bruno@clisp.org>
3115
3116         expm1l: Don't override undeclared system function on IRIX 6.5.
3117         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3118         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3119         it exists. Set HAVE_DECL_EXPM1L.
3120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3121         HAVE_EXPM1L.
3122         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3123         HAVE_EXPM1L.
3124         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3125
3126 2012-03-07  Bruno Haible  <bruno@clisp.org>
3127
3128         remainderl: Don't override undeclared system function on IRIX 6.5.
3129         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3130         HAVE_REMAINDERL.
3131         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3132         declared when it exists. Set HAVE_DECL_REMAINDERL.
3133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3134         not HAVE_REMAINDERL.
3135         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3136         HAVE_REMAINDERL.
3137         * doc/posix-functions/remainderl.texi: Mention missing declaration
3138         problem.
3139
3140 2012-03-07  Bruno Haible  <bruno@clisp.org>
3141
3142         rintf: Don't override undeclared system function on IRIX 6.5.
3143         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3144         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3145         exists. Set HAVE_DECL_RINTF.
3146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3147         HAVE_RINTF.
3148         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3149         HAVE_RINTF.
3150         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3151
3152 2012-03-07  Bruno Haible  <bruno@clisp.org>
3153
3154         roundl: Avoid compilation error on AIX.
3155         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3156         AIX 5.2..7.1.
3157
3158 2012-03-07  Bruno Haible  <bruno@clisp.org>
3159
3160         roundl: Don't override undeclared system function on IRIX 6.5.
3161         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3162         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3163         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3164         * modules/roundl (configure.ac): For replacement code, test
3165         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3166         (Depends-on): Update conditions.
3167         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3168
3169 2012-03-07  Bruno Haible  <bruno@clisp.org>
3170
3171         roundf: Don't override undeclared system function on IRIX 6.5.
3172         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3173         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3174         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3175         * modules/roundf (configure.ac): For replacement code, test
3176         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3177         (Depends-on): Update conditions.
3178         * modules/roundf-ieee (Depends-on): Update conditions.
3179         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3180
3181 2012-03-07  Bruno Haible  <bruno@clisp.org>
3182
3183         round: Don't override undeclared system function on IRIX 6.5.
3184         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3185         argument.
3186         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3187         also when it is not declared. Set HAVE_ROUND. For replacement code,
3188         test HAVE_ROUND, not HAVE_DECL_ROUND.
3189         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3190         not HAVE_DECL_ROUND.
3191         (Depends-on): Update conditions.
3192         * modules/round-ieee (Depends-on): Update conditions.
3193         * doc/posix-functions/round.texi: Mention the IRIX problem.
3194
3195 2012-03-07  Bruno Haible  <bruno@clisp.org>
3196
3197         copysignf: Don't override undeclared system function on IRIX 6.5.
3198         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3199         HAVE_COPYSIGNF.
3200         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3201         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3203         not HAVE_COPYSIGNF.
3204         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3205         HAVE_COPYSIGNF.
3206         * doc/posix-functions/copysignf.texi: Mention missing declaration
3207         problem.
3208
3209 2012-03-07  Jim Meyering  <meyering@redhat.com>
3210
3211         readtokens: add tests
3212         * modules/readtokens-tests: New file.
3213         * tests/test-readtokens.c: New file.
3214
3215 2012-03-07  Jim Meyering  <meyering@redhat.com>
3216
3217         quotearg: the module must now include quote.h
3218         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3219         So must the module.
3220         * modules/quotearg (Files): Add quote.h.
3221
3222 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3223
3224         readtokens: avoid core dumps with unusual calling patterns
3225         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3226         * lib/readtokens.c: Include limits.h.
3227         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3228         (readtoken): Don't cache the delimiters; the cache code was buggy
3229         if !delim && saved_delim, or if the new n_delim differs from the old.
3230         Also, it wasn't thread-safe.
3231
3232 2012-03-07  Bruno Haible  <bruno@clisp.org>
3233
3234         quote: Adhere to common module description layout.
3235         * modules/quote (Makefile.am): Add back empty section.
3236
3237 2012-03-06  Akim Demaille  <demaille@gostai.com>
3238
3239         quote: fuse into quotearg
3240         This patch is made for the benefit of Bison.
3241         quote does not leave the choice of the quoting style to the user.
3242         quoting_style provides poor customizability, yet quoting_options,
3243         which is very rich, is hidden inside quotearg.c.  So in order to
3244         allow quote customization, move its implementation to quotearg.c.
3245         * lib/quote.c: Remove.
3246         * modules/quote: Adjust.
3247         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3248         warning: provide all the members of literal structs.
3249         (quote_quoting_options): New.
3250         (quote, quote_n): Import implementation from quote.c.
3251         * lib/quote.h: Import the comments from quote.c.
3252         (quote_quoting_options): New.
3253
3254 2012-03-06  Bruno Haible  <bruno@clisp.org>
3255
3256         Tests for module 'expm1l-ieee'.
3257         * modules/expm1l-ieee-tests: New file.
3258         * tests/test-expm1l-ieee.c: New file.
3259
3260         New module 'expm1l-ieee'.
3261         * modules/expm1l-ieee: New file.
3262
3263         Tests for module 'expm1f-ieee'.
3264         * modules/expm1f-ieee-tests: New file.
3265         * tests/test-expm1f-ieee.c: New file.
3266
3267         New module 'expm1f-ieee'.
3268         * modules/expm1f-ieee: New file.
3269
3270         Tests for module 'expm1-ieee'.
3271         * modules/expm1-ieee-tests: New file.
3272         * tests/test-expm1-ieee.c: New file.
3273         * tests/test-expm1-ieee.h: New file.
3274
3275         New module 'expm1-ieee'.
3276         * modules/expm1-ieee: New file.
3277         * m4/expm1-ieee.m4: New file.
3278         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3279         whether expm1 works with a minus zero argument. Replace it if not.
3280         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3281         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3282         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3283         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3284         (Depends-on): Update conditions.
3285         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3286         AIX problem.
3287
3288 2012-03-06  Bruno Haible  <bruno@clisp.org>
3289
3290         Work around expm1f bug on IRIX 6.5.
3291         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3292         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3293         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3294         not work.
3295         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3296         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3297         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3298         (Depends-on): Update conditions.
3299         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3300
3301 2012-03-06  Bruno Haible  <bruno@clisp.org>
3302
3303         Tests for module 'expm1l'.
3304         * modules/expm1l-tests: New file.
3305         * tests/test-expm1l.c: New file.
3306
3307         New module 'expm1l'.
3308         * lib/math.in.h (expm1l): New declaration.
3309         * lib/expm1l.c: New file.
3310         * m4/expm1l.m4: New file.
3311         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3313         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3314         * modules/expm1l: New file.
3315         * tests/test-math-c++.cc: Check the declaration of expm1l.
3316         * doc/posix-functions/expm1l.texi: Mention the new module.
3317
3318 2012-03-06  Bruno Haible  <bruno@clisp.org>
3319
3320         Tests for module 'expm1f'.
3321         * modules/expm1f-tests: New file.
3322         * tests/test-expm1f.c: New file.
3323
3324         New module 'expm1f'.
3325         * lib/math.in.h (expm1f): New declaration.
3326         * lib/expm1f.c: New file.
3327         * m4/expm1f.m4: New file.
3328         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3329         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3330         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3331         * modules/expm1f: New file.
3332         * tests/test-math-c++.cc: Check the declaration of expm1f.
3333         * doc/posix-functions/expm1f.texi: Mention the new module.
3334
3335 2012-03-06  Bruno Haible  <bruno@clisp.org>
3336
3337         Tests for module 'expm1'.
3338         * modules/expm1-tests: New file.
3339         * tests/test-expm1.c: New file.
3340         * tests/test-expm1.h: New file.
3341
3342         New module 'expm1'.
3343         * lib/math.in.h (expm1): New declaration.
3344         * lib/expm1.c: New file.
3345         * m4/expm1.m4: New file.
3346         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3348         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3349         * modules/expm1: New file.
3350         * tests/test-math-c++.cc: Check the declaration of expm1.
3351         * doc/posix-functions/expm1.texi: Mention the new module.
3352
3353 2012-03-06  Bruno Haible  <bruno@clisp.org>
3354
3355         math: Ensure declarations of math functions.
3356         * modules/acosf (Depends-on): Add 'extensions'.
3357         * modules/asinf (Depends-on): Likewise.
3358         * modules/atan2f (Depends-on): Likewise.
3359         * modules/atanf (Depends-on): Likewise.
3360         * modules/cbrt (Depends-on): Likewise.
3361         * modules/cbrtf (Depends-on): Likewise.
3362         * modules/cbrtl (Depends-on): Likewise.
3363         * modules/copysignf (Depends-on): Likewise.
3364         * modules/copysignl (Depends-on): Likewise.
3365         * modules/cosf (Depends-on): Likewise.
3366         * modules/coshf (Depends-on): Likewise.
3367         * modules/expf (Depends-on): Likewise.
3368         * modules/fabsf (Depends-on): Likewise.
3369         * modules/fabsl (Depends-on): Likewise.
3370         * modules/fmaf (Depends-on): Likewise.
3371         * modules/fmal (Depends-on): Likewise.
3372         * modules/fmodf (Depends-on): Likewise.
3373         * modules/fmodl (Depends-on): Likewise.
3374         * modules/frexpf (Depends-on): Likewise.
3375         * modules/frexpl (Depends-on): Likewise.
3376         * modules/hypot (Depends-on): Likewise.
3377         * modules/hypotf (Depends-on): Likewise.
3378         * modules/hypotl (Depends-on): Likewise.
3379         * modules/ldexpf (Depends-on): Likewise.
3380         * modules/ldexpl (Depends-on): Likewise.
3381         * modules/log10f (Depends-on): Likewise.
3382         * modules/log10l (Depends-on): Likewise.
3383         * modules/log1p (Depends-on): Likewise.
3384         * modules/logb (Depends-on): Likewise.
3385         * modules/logf (Depends-on): Likewise.
3386         * modules/modff (Depends-on): Likewise.
3387         * modules/modfl (Depends-on): Likewise.
3388         * modules/powf (Depends-on): Likewise.
3389         * modules/remainderf (Depends-on): Likewise.
3390         * modules/remainderl (Depends-on): Likewise.
3391         * modules/rintf (Depends-on): Likewise.
3392         * modules/rintl (Depends-on): Likewise.
3393         * modules/sinf (Depends-on): Likewise.
3394         * modules/sinhf (Depends-on): Likewise.
3395         * modules/sqrtf (Depends-on): Likewise.
3396         * modules/tanf (Depends-on): Likewise.
3397         * modules/tanhf (Depends-on): Likewise.
3398         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3399         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3400         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3401         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3402         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3403         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3404         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3405         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3406         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3407         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3408         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3409         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3410         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3411         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3412         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3413         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3414         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3415         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3416         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3417         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3418         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3419         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3420         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3421         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3422         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3423         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3424         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3425         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3426         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3427         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3428         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3429         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3430         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3431         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3432         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3433         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3434         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3435         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3436         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3437         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3438         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3439
3440 2012-03-06  Bruno Haible  <bruno@clisp.org>
3441
3442         math: Update module names in warnings.
3443         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3444         tanl): Use specific module name in warn-on-use warning.
3445
3446 2012-03-06  Bruno Haible  <bruno@clisp.org>
3447
3448         expl: Simplify computation.
3449         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3450
3451 2012-03-05  Bruno Haible  <bruno@clisp.org>
3452
3453         exp* tests: More tests.
3454         * tests/test-exp.h: New file.
3455         * tests/test-exp.c: Include <float.h> and test-exp.h.
3456         (main): Invoke test_function.
3457         * tests/test-expf.c: Include <float.h> and test-exp.h.
3458         (main): Invoke test_function.
3459         * tests/test-expl.c: Include <float.h> and test-exp.h.
3460         (main): Invoke test_function.
3461         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3462         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3463         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3464         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3465         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3466         (Depends-on): Add 'float'.
3467         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3468
3469         expl: Fix precision of computed result.
3470         * lib/expl.c: Completely rewritten.
3471         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3472         (Maintainer): Add me.
3473         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3474
3475 2012-03-05  Bruno Haible  <bruno@clisp.org>
3476
3477         cbrt* tests: More tests.
3478         * tests/test-cbrt.h: New file.
3479         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3480         (main): Invoke test_function.
3481         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3482         (main): Invoke test_function.
3483         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3484         (main): Invoke test_function.
3485         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3486         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3487         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3488         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3489         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3490         (Depends-on): Add 'float'.
3491         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3492
3493 2012-03-05  Bruno Haible  <bruno@clisp.org>
3494
3495         hypot* tests: More tests.
3496         * tests/test-hypot.h: New file, partially extracted from
3497         tests/test-hypotl.c.
3498         * tests/test-hypot.c: Include test-hypot.h.
3499         (main): Invoke test_function.
3500         * tests/test-hypotf.c: Include test-hypot.h.
3501         (main): Invoke test_function.
3502         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3503         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3504         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3505         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3506         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3507         tests/randomf.c.
3508         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3509         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3510         tests/randoml.c.
3511         (Depends-on): Add 'fpucw', 'float'.
3512         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3513
3514 2012-03-05  Bruno Haible  <bruno@clisp.org>
3515
3516         fpucw: Doc about FreeBSD.
3517         * lib/fpucw.h: Mention FreeBSD in comments.
3518
3519 2012-03-04  Bruno Haible  <bruno@clisp.org>
3520
3521         sqrt* tests: More tests.
3522         * tests/test-sqrt.h: New file.
3523         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3524         (main): Invoke test_function.
3525         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3526         (main): Invoke test_function.
3527         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3528         (main): Invoke test_function.
3529         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3530         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3531         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3532         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3533         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3534         (Depends-on): Add 'float'.
3535         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3536
3537 2012-03-04  Bruno Haible  <bruno@clisp.org>
3538
3539         remainder* tests: More tests.
3540         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3541         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3542         (main): Invoke test_function.
3543         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3544         (main): Invoke test_function.
3545         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3546         (main): Invoke test_function.
3547         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3548         tests/randomd.c.
3549         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3550         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3551         tests/randomf.c.
3552         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3553         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3554         tests/randoml.c.
3555         (Depends-on): Add 'float'.
3556         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3557
3558 2012-03-04  Bruno Haible  <bruno@clisp.org>
3559
3560         remainder, remainderf, remainderl: Fix computation for large quotients.
3561         * lib/remainder.c: Completely rewritten.
3562         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3563         USE_FLOAT.
3564         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3565         USE_LONG_DOUBLE.
3566         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3567         isnand, isinf. Remove round, fma.
3568         * modules/remainderf (Files): Add lib/remainder.c.
3569         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3570         Remove roundf, fmaf.
3571         * modules/remainderl (Files): Add lib/remainder.c.
3572         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3573         isinf. Remove roundl, fmal.
3574         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3575         REMAINDER_LIBM.
3576         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3577         REMAINDERF_LIBM.
3578         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3579         REMAINDERL_LIBM.
3580
3581 2012-03-04  Bruno Haible  <bruno@clisp.org>
3582
3583         fmod* tests: More tests.
3584         * tests/test-fmod.h (my_ldexp): New function.
3585         (test_function): Reduce amount of random numbers to test. Add tests
3586         of very large quotients x / y.
3587         * tests/test-fmod.c (MAX_EXP): New macro.
3588         * tests/test-fmodf.c (MAX_EXP): Likewise.
3589         * tests/test-fmodl.c (MAX_EXP): Likewise.
3590
3591 2012-03-04  Bruno Haible  <bruno@clisp.org>
3592
3593         fmod, fmodl: Fix computation for large quotients x / y.
3594         * lib/fmod.c: Completely rewritten.
3595         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3596         USE_LONG_DOUBLE.
3597         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3598         isnand. Remove fma.
3599         * modules/fmodl (Files): Add lib/fmod.c.
3600         (Depends-on): Add float, isfinite, signbit, fabsl,
3601         frexpl, ldexpl, isnanl. Remove fma.
3602         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3603         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3604
3605 2012-03-03  Bruno Haible  <bruno@clisp.org>
3606
3607         fmod* tests: More tests.
3608         * tests/test-fmod.h: New file.
3609         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3610         (main): Invoke test_function.
3611         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3612         (main): Invoke test_function.
3613         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3614         (main): Invoke test_function.
3615         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3616         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3617         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3618         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3619         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3620         (Depends-on): Add 'float'.
3621         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3622
3623 2012-03-03  Bruno Haible  <bruno@clisp.org>
3624
3625         rint* tests: More tests.
3626         * tests/test-rint.h: New file, partially extracted from
3627         tests/test-rintl.c.
3628         * tests/test-rint.c: Include test-rint.h.
3629         (main): Invoke test_function.
3630         * tests/test-rintf.c: Include test-rint.h.
3631         (main): Invoke test_function.
3632         * tests/test-rintl.c: Include test-rint.h.
3633         (main): Invoke test_function.
3634         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3635         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3636         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3637         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3638         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3639         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3640
3641 2012-03-03  Bruno Haible  <bruno@clisp.org>
3642
3643         modf* tests: More tests.
3644         * tests/test-modf.h: New file.
3645         * tests/test-modf.c: Include <float.h> and test-modf.h.
3646         (main): Invoke test_function.
3647         * tests/test-modff.c: Include <float.h> and test-modf.h.
3648         (main): Invoke test_function.
3649         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3650         (main): Invoke test_function.
3651         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3652         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3653         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3654         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3655         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3656         (Depends-on): Add 'float'.
3657         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3658
3659 2012-03-03  Bruno Haible  <bruno@clisp.org>
3660
3661         fabs* tests: More tests.
3662         * tests/test-fabs.h: New file, partially extracted from
3663         tests/test-fabsl.c.
3664         * tests/test-fabs.c (RANDOM): New macro.
3665         * tests/test-fabsf.c (RANDOM): New macro.
3666         * tests/test-fabsl.c (RANDOM): New macro.
3667         * modules/fabs-tests (Files): Add tests/randomd.c.
3668         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
3669         * modules/fabsf-tests (Files): Add tests/randomf.c.
3670         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
3671         * modules/fabsl-tests (Files): Add tests/randoml.c.
3672         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
3673
3674 2012-03-03  Bruno Haible  <bruno@clisp.org>
3675
3676         ldexp* tests: More tests.
3677         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
3678         * tests/test-ldexp.c (RANDOM): New macro.
3679         * tests/test-ldexpf.c (RANDOM): New macro.
3680         * tests/test-ldexpl.c (RANDOM): New macro.
3681         * modules/ldexp-tests (Files): Add tests/randomd.c.
3682         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
3683         * modules/ldexpf-tests (Files): Add tests/randomf.c.
3684         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3685         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3686         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3687
3688 2012-03-03  Bruno Haible  <bruno@clisp.org>
3689
3690         frexp* tests: More tests.
3691         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3692         * tests/test-frexp.c (RANDOM): New macro.
3693         * tests/test-frexpf.c (RANDOM): New macro.
3694         * tests/test-frexpl.c (RANDOM): New macro.
3695         * modules/frexp-tests (Files): Add tests/randomd.c.
3696         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3697         * modules/frexpf-tests (Files): Add tests/randomf.c.
3698         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3699         * modules/frexpl-tests (Files): Add tests/randoml.c.
3700         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3701
3702 2012-03-03  Bruno Haible  <bruno@clisp.org>
3703
3704         Support for pseudo-random numbers in tests.
3705         * tests/randomf.c: New file.
3706         * tests/randomd.c: New file.
3707         * tests/randoml.c: New file.
3708         * tests/macros.h (randomf, randomd, randoml): New declarations.
3709
3710 2012-03-03  Bruno Haible  <bruno@clisp.org>
3711
3712         frexp* tests: Refactor.
3713         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3714         * tests/test-frexp.c: Include and use it.
3715         * tests/test-frexpf.c: Likewise.
3716         * tests/test-frexpl.c: Likewise.
3717         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3718         * modules/frexpf-tests (Files): Likewise.
3719         * modules/frexpl-tests (Files): Likewise.
3720
3721 2012-03-02  Jim Meyering  <meyering@redhat.com>
3722
3723         maint: don't specify XZ_OPT=-9ev in dist-related rule
3724         Using xz's -9 option is warranted only if you have a very large
3725         tarball (see xz's documentation for the sizes vs. presets), and
3726         requires 64MiB of memory at decompression time.
3727         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3728         Automake's default of just "-e" is fine.  Override on a
3729         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3730
3731 2012-03-01  Eric Blake  <eblake@redhat.com>
3732
3733         maint.mk: allow announcement for non-gnulib project
3734         * maint.mk (announcement): Skip gnulib version if not used.
3735
3736 2012-03-01  Jim Meyering  <meyering@redhat.com>
3737
3738         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3739         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3740         envvar settings cannot interfere.  Otherwise, setting envvars like
3741         prohibit=foo require=bar, etc. would cause spurious test failures.
3742
3743 2012-03-01  Eric Blake  <eblake@redhat.com>
3744
3745         maint.mk: add per-line exclusions to prohibitions
3746         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3747         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3748         (sc_const_long_option): Use it.
3749
3750 2012-03-01  Bruno Haible  <bruno@clisp.org>
3751
3752         Tests for module 'expl-ieee'.
3753         * modules/expl-ieee-tests: New file.
3754         * tests/test-expl-ieee.c: New file.
3755
3756         New module 'expl-ieee'.
3757         * modules/expl-ieee: New file.
3758
3759         Tests for module 'exp-ieee'.
3760         * modules/exp-ieee-tests: New file.
3761         * tests/test-exp-ieee.c: New file.
3762
3763         New module 'exp-ieee'.
3764         * modules/exp-ieee: New file.
3765
3766         Tests for module 'expf-ieee'.
3767         * modules/expf-ieee-tests: New file.
3768         * tests/test-expf-ieee.c: New file.
3769         * tests/test-exp-ieee.h: New file.
3770
3771         New module 'expf-ieee'.
3772         * modules/expf-ieee: New file.
3773
3774 2012-02-29  Bruno Haible  <bruno@clisp.org>
3775
3776         cbrtl-ieee: Work around test failure on IRIX 6.5.
3777         * m4/cbrtl-ieee.m4: New file.
3778         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3779         test whether cbrtl works with a minus zero argument. Replace it if not.
3780         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3782         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3783         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3784         (Depends-on): Update conditions.
3785         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3786         m4/signbit.m4.
3787         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3788         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3789         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3790
3791         Tests for module 'cbrtl-ieee'.
3792         * modules/cbrtl-ieee-tests: New file.
3793         * tests/test-cbrtl-ieee.c: New file.
3794
3795         New module 'cbrtl-ieee'.
3796         * modules/cbrtl-ieee: New file.
3797
3798         Tests for module 'cbrt-ieee'.
3799         * modules/cbrt-ieee-tests: New file.
3800         * tests/test-cbrt-ieee.c: New file.
3801
3802         New module 'cbrt-ieee'.
3803         * modules/cbrt-ieee: New file.
3804
3805         Tests for module 'cbrtf-ieee'.
3806         * modules/cbrtf-ieee-tests: New file.
3807         * tests/test-cbrtf-ieee.c: New file.
3808         * tests/test-cbrt-ieee.h: New file.
3809
3810         New module 'cbrtf-ieee'.
3811         * modules/cbrtf-ieee: New file.
3812
3813 2012-02-29  Bruno Haible  <bruno@clisp.org>
3814
3815         cbrtf: Work around bug in IRIX 6.5 system function.
3816         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3817         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3818         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3819         work.
3820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3821         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3822         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3823         (Depends-on): Update conditions.
3824         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3825
3826 2012-02-29  Bruno Haible  <bruno@clisp.org>
3827
3828         Tests for module 'cbrtl'.
3829         * modules/cbrtl-tests: New file.
3830         * tests/test-cbrtl.c: New file.
3831
3832         New module 'cbrtl'.
3833         * lib/math.in.h (cbrtl): New declaration.
3834         * lib/cbrtl.c: New file.
3835         * m4/cbrtl.m4: New file.
3836         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3838         HAVE_DECL_CBRTL.
3839         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3840         HAVE_DECL_CBRTL.
3841         * modules/cbrtl: New file.
3842         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3843         * doc/posix-functions/cbrtl.texi: Mention the new module.
3844
3845 2012-02-29  Bruno Haible  <bruno@clisp.org>
3846
3847         Tests for module 'cbrtf'.
3848         * modules/cbrtf-tests: New file.
3849         * tests/test-cbrtf.c: New file.
3850
3851         New module 'cbrtf'.
3852         * lib/math.in.h (cbrtf): New declaration.
3853         * lib/cbrtf.c: New file.
3854         * m4/cbrtf.m4: New file.
3855         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3856         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3857         HAVE_DECL_CBRTF.
3858         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3859         HAVE_DECL_CBRTF.
3860         * modules/cbrtf: New file.
3861         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3862         * doc/posix-functions/cbrtf.texi: Mention the new module.
3863
3864 2012-02-29  Bruno Haible  <bruno@clisp.org>
3865
3866         cbrt: Provide replacement on MSVC and Minix.
3867         * lib/math.in.h (cbrt): New declaration.
3868         * lib/cbrt.c: New file.
3869         * m4/cbrt.m4: New file.
3870         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3872         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3873         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3874         (Depends-on): Add dependencies.
3875         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3876         * tests/test-math-c++.cc: Check the declaration of cbrt.
3877         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3878         replacement.
3879
3880 2012-02-29  Bruno Haible  <bruno@clisp.org>
3881
3882         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3883         * m4/hypotl-ieee.m4: New file.
3884         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3885         test whether hypotl works with mixed NaN and Infinity arguments.
3886         Replace it if not.
3887         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3889         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3890         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3891         (Depends-on): Update conditions.
3892         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3893         (Depends-on): Add hypot-ieee.
3894         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3895         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3896
3897         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3898         * m4/hypotf-ieee.m4: New file.
3899         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3900         test whether hypotf works with mixed NaN and Infinity arguments.
3901         Replace it if not.
3902         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3903         (Depends-on): Add hypot-ieee.
3904         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3905         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3906
3907         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3908         * lib/math.in.h (hypot): New declaration.
3909         * lib/hypot.c: New file.
3910         * m4/hypot-ieee.m4: New file.
3911         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3912         whether hypot works with mixed NaN and Infinity arguments. Replace it
3913         if not.
3914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3915         REPLACE_HYPOT.
3916         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3917         * modules/hypot (Files): Add lib/hypot.c.
3918         (Depends-on): Add dependencies.
3919         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3920         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3921         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3922         * tests/test-math-c++.cc: Check the declaration of hypot.
3923         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3924
3925         Tests for module 'hypotl-ieee'.
3926         * modules/hypotl-ieee-tests: New file.
3927         * tests/test-hypotl-ieee.c: New file.
3928
3929         New module 'hypotl-ieee'.
3930         * modules/hypotl-ieee: New file.
3931
3932         Tests for module 'hypot-ieee'.
3933         * modules/hypot-ieee-tests: New file.
3934         * tests/test-hypot-ieee.c: New file.
3935
3936         New module 'hypot-ieee'.
3937         * modules/hypot-ieee: New file.
3938
3939         Tests for module 'hypotf-ieee'.
3940         * modules/hypotf-ieee-tests: New file.
3941         * tests/test-hypotf-ieee.c: New file.
3942         * tests/test-hypot-ieee.h: New file.
3943
3944         New module 'hypotf-ieee'.
3945         * modules/hypotf-ieee: New file.
3946
3947 2012-02-29  Bruno Haible  <bruno@clisp.org>
3948
3949         Remove unused variables.
3950         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3951         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3952         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3953         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3954
3955 2012-02-29  Eric Blake  <eblake@redhat.com>
3956
3957         termios: fix pid_t always, not just for tcgetsid
3958         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3959         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3960         just when building tcgetsid.
3961
3962 2012-02-29  Bruno Haible  <bruno@clisp.org>
3963
3964         Tests for module 'hypotl'.
3965         * modules/hypotl-tests: New file.
3966         * tests/test-hypotl.c: New file.
3967
3968         New module 'hypotl'.
3969         * lib/math.in.h (hypotl): New declaration.
3970         * lib/hypotl.c: New file.
3971         * m4/hypotl.m4: New file.
3972         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3973         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3974         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3975         * modules/hypotl: New file.
3976         * tests/test-math-c++.cc: Check the hypotl declaration.
3977         * doc/posix-functions/hypotl.texi: Mention the new module.
3978
3979 2012-02-29  Eric Blake  <eblake@redhat.com>
3980
3981         tcgetsid: fix cygwin header bug
3982         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3983
3984         docs: update cygwin progress
3985         * doc/posix-functions/llround.texi (llround): Added in cygwin
3986         1.7.8.
3987         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3988         * doc/glibc-functions/program_invocation_name.texi
3989         (program_invocation_name): Likewise.
3990         * doc/glibc-functions/program_invocation_short_name.texi
3991         (program_invocation_short_name): Likewise.
3992         * doc/glibc-functions/madvise.texi (madvise): Likewise.
3993         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
3994         Likewise.
3995         * doc/posix-functions/pthread_spin_destroy.texi
3996         (pthread_spin_destroy): Added in cygwin 1.7.10.
3997         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
3998         Likewise.
3999         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4000         Likewise.
4001         * doc/posix-functions/pthread_spin_trylock.texi
4002         (pthread_spin_trylock): Likewise.
4003         * doc/posix-functions/pthread_spin_unlock.texi
4004         (pthread_spin_unlock): Likewise.
4005         * doc/posix-functions/pthread_setschedprio.texi
4006         (pthread_setschedprio): Likewise.
4007         * doc/posix-functions/pthread_attr_getstack.texi
4008         (pthread_attr_getstack): Likewise.
4009         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4010         (pthread_attr_getstackaddr): Likewise.
4011         * doc/glibc-functions/pthread_getattr_np.texi
4012         (pthread_getattr_np): Likewise.
4013         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4014         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4015         * doc/posix-functions/clock_settime.texi (clock_settime):
4016         Likewise.
4017         * doc/posix-functions/pthread_attr_getguardsize.texi
4018         (pthread_attr_getguardsize): Likewise.
4019         * doc/posix-functions/pthread_attr_setguardsize.texi
4020         (pthread_attr_setguardsize): Likewise.
4021         * doc/posix-functions/pthread_attr_setstack.texi
4022         (pthread_attr_setstack): Likewise.
4023         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4024         (pthread_attr_setstackaddr): Likewise.
4025         * doc/posix-functions/clock_getcpuclockid.texi
4026         (clock_getcpuclockid): Likewise.
4027         * doc/posix-functions/pthread_getcpuclockid.texi
4028         (pthread_getcpuclockid): Likewise.
4029         * doc/glibc-functions/error.texi (error): Likewise.
4030         * doc/glibc-functions/error_at_line.texi (error_at_line):
4031         Likewise.
4032         * doc/glibc-functions/error_message_count.texi
4033         (error_message_count): Likewise.
4034         * doc/glibc-functions/error_one_per_line.texi
4035         (error_one_per_line): Likewise.
4036         * doc/glibc-functions/error_print_progname.texi
4037         (error_print_progname): Likewise.
4038         * doc/posix-functions/pthread_condattr_getclock.texi
4039         (pthread_condattr_getclock): Likewise.
4040         * doc/posix-functions/pthread_condattr_setclock.texi
4041         (pthread_condattr_setclock): Likewise.
4042         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4043         Likewise.
4044         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4045         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4046         * doc/glibc-functions/get_current_dir_name.texi
4047         (get_current_dir_name): Likewise.
4048         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4049         Likewise.
4050         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4051         wrong return type.
4052         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4053         1.7.11.
4054
4055 2012-02-29  Bruno Haible  <bruno@clisp.org>
4056
4057         Tests for module 'hypotf'.
4058         * modules/hypotf-tests: New file.
4059         * tests/test-hypotf.c: New file.
4060
4061         New module 'hypotf'.
4062         * lib/math.in.h (hypotf): New declaration.
4063         * lib/hypotf.c: New file.
4064         * m4/hypotf.m4: New file.
4065         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4066         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4067         REPLACE_HYPOTF.
4068         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4069         REPLACE_HYPOTF.
4070         * modules/hypotf: New file.
4071         * tests/test-math-c++.cc: Check the hypotf declaration.
4072         * doc/posix-functions/hypotf.texi: Mention the new module.
4073
4074         hypot: Prepare for hypotf module.
4075         * m4/hypot.m4: New file.
4076         * modules/hypot (Files): Add m4/hypot.m4.
4077         (configure.ac): Invoke gl_FUNC_HYPOT.
4078
4079 2012-02-29  Bruno Haible  <bruno@clisp.org>
4080
4081         hypot tests: More tests.
4082         * tests/test-hypot.c: Include <float.h>.
4083         (main): Add tests about overflow and underflow.
4084
4085 2012-02-29  Bruno Haible  <bruno@clisp.org>
4086
4087         math code: Add comments.
4088         * lib/acosl.c: Add comment about related glibc source files.
4089         * lib/asinl.c: Likewise.
4090         * lib/atanl.c: Likewise.
4091         * lib/expl.c: Likewise.
4092         * lib/logl.c: Likewise.
4093         * lib/sincosl.c: Likewise.
4094         * lib/sinl.c: Likewise.
4095         * lib/tanl.c: Likewise.
4096         * lib/trigl.c: Likewise.
4097         * lib/cosl.c: Likewise. Fix comments.
4098
4099 2012-02-28  Bruno Haible  <bruno@clisp.org>
4100
4101         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4102         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4103         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4104         HUGE_VALL are defined.
4105         (numeric_equald): Renamed from numeric_equal.
4106         (numeric_equalf, numeric_equall): New functions.
4107         (main): Check also HUGE_VALF, HUGE_VALL.
4108         * modules/math-tests (Files): Add tests/macros.h.
4109         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4110         HUGE_VALL.
4111
4112 2012-02-28  Bruno Haible  <bruno@clisp.org>
4113
4114         doc: Move ISO C11 feature notes into POSIX chapters.
4115         * doc/posix-functions/aligned_alloc.texi: Renamed from
4116         doc/glibc-functions/aligned_alloc.texi.
4117         * doc/posix-functions/quick_exit.texi: Renamed from
4118         doc/glibc-functions/quick_exit.texi.
4119         * doc/posix-headers/uchar.texi: Renamed from
4120         doc/glibc-headers/uchar.texi.
4121         * doc/posix-functions/c16rtomb.texi: Renamed from
4122         doc/glibc-functions/c16rtomb.texi.
4123         * doc/posix-functions/c32rtomb.texi: Renamed from
4124         doc/glibc-functions/c32rtomb.texi.
4125         * doc/posix-functions/mbrtoc16.texi: Renamed from
4126         doc/glibc-functions/mbrtoc16.texi.
4127         * doc/posix-functions/mbrtoc32.texi: Renamed from
4128         doc/glibc-functions/mbrtoc32.texi.
4129         * doc/gnulib.texi: Update.
4130         (Glibc uchar.h): Remove section.
4131         Suggested by Eric Blake.
4132
4133 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4134
4135         stdnoreturn: port to MSVC better
4136         MSVC standard headers use __declspec(noreturn), so #define noreturn
4137         to empty on that platform.  Reported by Bruno Haible in
4138         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4139         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4140         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4141
4142 2012-02-28  Bruno Haible  <bruno@clisp.org>
4143
4144         doc: Mention new glibc headers and functions.
4145         * doc/glibc-headers/uchar.texi: New file.
4146         * doc/glibc-functions/aligned_alloc.texi: New file.
4147         * doc/glibc-functions/c16rtomb.texi: New file.
4148         * doc/glibc-functions/c32rtomb.texi: New file.
4149         * doc/glibc-functions/clock_adjtime.texi: New file.
4150         * doc/glibc-functions/fanotify_init.texi: New file.
4151         * doc/glibc-functions/fanotify_mark.texi: New file.
4152         * doc/glibc-functions/inet6_opt_append.texi: New file.
4153         * doc/glibc-functions/inet6_opt_find.texi: New file.
4154         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4155         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4156         * doc/glibc-functions/inet6_opt_init.texi: New file.
4157         * doc/glibc-functions/inet6_opt_next.texi: New file.
4158         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4159         * doc/glibc-functions/inet6_rth_add.texi: New file.
4160         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4161         * doc/glibc-functions/inet6_rth_init.texi: New file.
4162         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4163         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4164         * doc/glibc-functions/inet6_rth_space.texi: New file.
4165         * doc/glibc-functions/login.texi: New file.
4166         * doc/glibc-functions/mbrtoc16.texi: New file.
4167         * doc/glibc-functions/mbrtoc32.texi: New file.
4168         * doc/glibc-functions/name_to_handle_at.texi: New file.
4169         * doc/glibc-functions/ntp_gettimex.texi: New file.
4170         * doc/glibc-functions/open_by_handle_at.texi: New file.
4171         * doc/glibc-functions/prlimit.texi: New file.
4172         * doc/glibc-functions/process_vm_readv.texi: New file.
4173         * doc/glibc-functions/process_vm_writev.texi: New file.
4174         * doc/glibc-functions/recvmmsg.texi: New file.
4175         * doc/glibc-functions/scandirat.texi: New file.
4176         * doc/glibc-functions/sendmmsg.texi: New file.
4177         * doc/glibc-functions/setns.texi: New file.
4178         * doc/glibc-functions/timespec_get.texi: New file.
4179         * doc/gnulib.texi: Include them.
4180         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4181         sections.
4182         Reported by Eric Blake.
4183
4184 2012-02-28  Bruno Haible  <bruno@clisp.org>
4185
4186         Avoid compilation errors with MSVC option -fp:strict.
4187         * lib/floor.c: Use MSVC specific pragma fenv_access.
4188         * lib/ceil.c: Likewise.
4189         * lib/trunc.c: Likewise.
4190         * lib/round.c: Likewise.
4191         * lib/rint.c: Likewise.
4192         * lib/fma.c: Likewise.
4193         * lib/integer_length.c: Likewise.
4194         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4195         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4196         * tests/test-floor2.c: Likewise.
4197         * tests/test-floorf2.c: Likewise.
4198         * tests/test-ceil2.c: Likewise.
4199         * tests/test-ceilf2.c: Likewise.
4200         * tests/test-trunc2.c: Likewise.
4201         * tests/test-truncf2.c: Likewise.
4202         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4203
4204 2012-02-27  Bruno Haible  <bruno@clisp.org>
4205
4206         Tests for module 'sqrtl-ieee'.
4207         * modules/sqrtl-ieee-tests: New file.
4208         * tests/test-sqrtl-ieee.c: New file.
4209
4210         New module 'sqrtl-ieee'.
4211         * modules/sqrtl-ieee: New file.
4212
4213         Tests for module 'sqrt-ieee'.
4214         * modules/sqrt-ieee-tests: New file.
4215         * tests/test-sqrt-ieee.c: New file.
4216
4217         New module 'sqrt-ieee'.
4218         * modules/sqrt-ieee: New file.
4219
4220         Tests for module 'sqrtf-ieee'.
4221         * modules/sqrtf-ieee-tests: New file.
4222         * tests/test-sqrtf-ieee.c: New file.
4223         * tests/test-sqrt-ieee.h: New file.
4224
4225         New module 'sqrtf-ieee'.
4226         * modules/sqrtf-ieee: New file.
4227
4228 2012-02-27  Bruno Haible  <bruno@clisp.org>
4229
4230         remainderl-ieee: Work around test failure on OSF/1.
4231         * m4/remainderl-ieee.m4: New file.
4232         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4233         present, test whether remainderl works with a zero second argument.
4234         Replace it if not.
4235         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4237         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4238         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4239         (Depends-on): Update conditions.
4240         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4241         (Depends-on): Add remainder-ieee.
4242         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4243         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4244         module.
4245
4246         remainderf-ieee: Work around test failure on OSF/1.
4247         * m4/remainderf-ieee.m4: New file.
4248         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4249         present, test whether remainderf works with a zero second argument.
4250         Replace it if not.
4251         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4253         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4254         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4255         (Depends-on): Update conditions.
4256         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4257         (Depends-on): Add remainder-ieee.
4258         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4259         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4260         module.
4261
4262         remainder-ieee: Work around test failure on OSF/1.
4263         * m4/remainder-ieee.m4: New file.
4264         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4265         present, test whether remainder works with a zero second argument.
4266         Replace it if not.
4267         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4269         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4270         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4271         (Depends-on): Update dependencies.
4272         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4273         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4274         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4275
4276         Tests for module 'remainderl-ieee'.
4277         * modules/remainderl-ieee-tests: New file.
4278         * tests/test-remainderl-ieee.c: New file.
4279
4280         New module 'remainderl-ieee'.
4281         * modules/remainderl-ieee: New file.
4282
4283         Tests for module 'remainder-ieee'.
4284         * modules/remainder-ieee-tests: New file.
4285         * tests/test-remainder-ieee.c: New file.
4286
4287         New module 'remainder-ieee'.
4288         * modules/remainder-ieee: New file.
4289
4290         Tests for module 'remainderf-ieee'.
4291         * modules/remainderf-ieee-tests: New file.
4292         * tests/test-remainderf-ieee.c: New file.
4293         * tests/test-remainder-ieee.h: New file.
4294
4295         New module 'remainderf-ieee'.
4296         * modules/remainderf-ieee: New file.
4297
4298 2012-02-27  Bruno Haible  <bruno@clisp.org>
4299
4300         modff, modfl: Fix configure syntax error.
4301         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4302         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4303
4304 2012-02-27  Bruno Haible  <bruno@clisp.org>
4305
4306         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4307         * m4/fmodl-ieee.m4: New file.
4308         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4309         whether fmodl works with zero arguments. Replace it if not.
4310         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4311         (Depends-on): Add fmod-ieee.
4312         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4313         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4314
4315         fmodf-ieee: Work around test failure on OSF/1.
4316         * m4/fmodf-ieee.m4: New file.
4317         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4318         whether fmodf works with zero arguments. Replace it if not.
4319         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4321         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4322         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4323         (Depends-on): Update dependencies.
4324         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4325         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4326         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4327
4328         fmodf-ieee: Work around test failure on MSVC 9.
4329         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4330         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4331
4332         fmod-ieee: Work around test failures on OSF/1, mingw.
4333         * m4/fmod-ieee.m4: New file.
4334         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4335         whether fmod works with zero arguments. Replace it if not.
4336         * lib/math.in.h (fmod): New declaration.
4337         * lib/fmod.c: New file.
4338         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4340         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4341         * modules/fmod (Files): Add lib/fmod.c.
4342         (Depends-on): Add math, isinf, trunc, fma.
4343         (configure.ac): Arrange to compile lib/fmod.c if needed.
4344         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4345         m4/signbit.m4.
4346         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4347         * tests/test-math-c++.cc: Check the declaration of fmod.
4348         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4349
4350         fmodl-ieee: Fix test failures.
4351         * lib/fmodl.c (fmodl): Treat Inf specially.
4352         * modules/fmodl (Depends-on): Add isinf.
4353
4354         Tests for module 'fmodl-ieee'.
4355         * modules/fmodl-ieee-tests: New file.
4356         * tests/test-fmodl-ieee.c: New file.
4357
4358         New module 'fmodl-ieee'.
4359         * modules/fmodl-ieee: New file.
4360
4361         Tests for module 'fmod-ieee'.
4362         * modules/fmod-ieee-tests: New file.
4363         * tests/test-fmod-ieee.c: New file.
4364
4365         New module 'fmod-ieee'.
4366         * modules/fmod-ieee: New file.
4367
4368         Tests for module 'fmodf-ieee'.
4369         * modules/fmodf-ieee-tests: New file.
4370         * tests/test-fmodf-ieee.c: New file.
4371         * tests/test-fmod-ieee.h: New file.
4372
4373         New module 'fmodf-ieee'.
4374         * modules/fmodf-ieee: New file.
4375
4376 2012-02-27  Bruno Haible  <bruno@clisp.org>
4377
4378         Tests for module 'rintl-ieee'.
4379         * modules/rintl-ieee-tests: New file.
4380         * tests/test-rintl-ieee.c: New file.
4381
4382         New module 'rintl-ieee'.
4383         * modules/rintl-ieee: New file.
4384
4385         Tests for module 'rint-ieee'.
4386         * modules/rint-ieee-tests: New file.
4387         * tests/test-rint-ieee.c: New file.
4388
4389         New module 'rint-ieee'.
4390         * modules/rint-ieee: New file.
4391
4392         Tests for module 'rintf-ieee'.
4393         * modules/rintf-ieee-tests: New file.
4394         * tests/test-rintf-ieee.c: New file.
4395         * tests/test-rint-ieee.h: New file.
4396
4397         New module 'rintf-ieee'.
4398         * modules/rintf-ieee: New file.
4399
4400 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4401
4402         regex: re_search etc. should return -2 when memory exhausted
4403         This bug was uncovered when testing 'grep'.  Without the fix,
4404         re_search and friends return -1 when memory is exhausted, but -1
4405         means no match, and this causes grep to falsely report no-match
4406         instead of memory-exhaustion.  See
4407         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4408         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4409         trouble; this can occur if re_search_internal ran out of memory.
4410
4411 2012-02-26  Bruno Haible  <bruno@clisp.org>
4412
4413         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4414         * m4/modfl-ieee.m4: New file.
4415         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4416         whether modfl works with Inf. Replace it if not.
4417         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4419         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4420         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4421         (Depends-on): Update dependencies.
4422         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4423         m4/signbit.m4.
4424         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4425         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4426
4427         modfl-ieee: Fix dependencies.
4428         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4429
4430         modfl-ieee: Fix test failures.
4431         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4432         * modules/modfl (Depends-on): Add isfinite, isinf.
4433
4434         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4435         * m4/modff-ieee.m4: New file.
4436         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4437         whether modff works with NaN and Inf. Replace it if not.
4438         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4440         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4441         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4442         (Depends-on): Update dependencies.
4443         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4444         m4/signbit.m4.
4445         (Depends-on): Add modf-ieee.
4446         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4447         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4448
4449         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4450         * m4/modf-ieee.m4: New file.
4451         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4452         whether modf works with NaN and Inf. Replace it if not.
4453         * lib/math.in.h (modf): New declaration.
4454         * lib/modf.c: New file.
4455         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4457         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4458         * modules/modf (Files): Add lib/modf.c.
4459         (Depends-on): Add math, isfinite, trunc, isinf.
4460         (configure.ac): Addrange to compile lib/modf.c if needed.
4461         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4462         m4/signbit.m4.
4463         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4464         * tests/test-math-c++.cc: Check the declaration of modf.
4465         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4466
4467         Tests for module 'modfl-ieee'.
4468         * modules/modfl-ieee-tests: New file.
4469         * tests/test-modfl-ieee.c: New file.
4470
4471         New module 'modfl-ieee'.
4472         * modules/modfl-ieee: New file.
4473
4474         Tests for module 'modf-ieee'.
4475         * modules/modf-ieee-tests: New file.
4476         * tests/test-modf-ieee.c: New file.
4477
4478         New module 'modf-ieee'.
4479         * modules/modf-ieee: New file.
4480
4481         Tests for module 'modff-ieee'.
4482         * modules/modff-ieee-tests: New file.
4483         * tests/test-modff-ieee.c: New file.
4484         * tests/test-modf-ieee.h: New file.
4485
4486         New module 'modff-ieee'.
4487         * modules/modff-ieee: New file.
4488
4489 2012-02-26  Bruno Haible  <bruno@clisp.org>
4490
4491         Tests for module 'fabsl-ieee'.
4492         * modules/fabsl-ieee-tests: New file.
4493         * tests/test-fabsl-ieee.c: New file.
4494
4495         New module 'fabsl-ieee'.
4496         * modules/fabsl-ieee: New file.
4497
4498         Tests for module 'fabs-ieee'.
4499         * modules/fabs-ieee-tests: New file.
4500         * tests/test-fabs-ieee.c: New file.
4501
4502         New module 'fabs-ieee'.
4503         * modules/fabs-ieee: New file.
4504
4505         Tests for module 'fabsf-ieee'.
4506         * modules/fabsf-ieee-tests: New file.
4507         * tests/test-fabsf-ieee.c: New file.
4508         * tests/test-fabs-ieee.h: New file.
4509
4510         New module 'fabsf-ieee'.
4511         * modules/fabsf-ieee: New file.
4512
4513 2012-02-26  Bruno Haible  <bruno@clisp.org>
4514
4515         Tests for module 'fmal-ieee'.
4516         * modules/fmal-ieee-tests: New file.
4517         * tests/test-fmal-ieee.c: New file.
4518
4519         New module 'fmal-ieee'.
4520         * modules/fmal-ieee: New file.
4521
4522         Tests for module 'fma-ieee'.
4523         * modules/fma-ieee-tests: New file.
4524         * tests/test-fma-ieee.c: New file.
4525
4526         New module 'fma-ieee'.
4527         * modules/fma-ieee: New file.
4528
4529         Tests for module 'fmaf-ieee'.
4530         * modules/fmaf-ieee-tests: New file.
4531         * tests/test-fmaf-ieee.c: New file.
4532         * tests/test-fma-ieee.h: New file.
4533
4534         New module 'fmaf-ieee'.
4535         * modules/fmaf-ieee: New file.
4536
4537 2012-02-26  Bruno Haible  <bruno@clisp.org>
4538
4539         Tests for module 'ldexpl-ieee'.
4540         * modules/ldexpl-ieee-tests: New file.
4541         * tests/test-ldexpl-ieee.c: New file.
4542
4543         New module 'ldexpl-ieee'.
4544         * modules/ldexpl-ieee: New file.
4545
4546         Tests for module 'ldexp-ieee'.
4547         * modules/ldexp-ieee-tests: New file.
4548         * tests/test-ldexp-ieee.c: New file.
4549
4550         New module 'ldexp-ieee'.
4551         * modules/ldexp-ieee: New file.
4552
4553         Tests for module 'ldexpf-ieee'.
4554         * modules/ldexpf-ieee-tests: New file.
4555         * tests/test-ldexpf-ieee.c: New file.
4556         * tests/test-ldexp-ieee.h: New file.
4557
4558         New module 'ldexpf-ieee'.
4559         * modules/ldexpf-ieee: New file.
4560
4561 2012-02-26  Bruno Haible  <bruno@clisp.org>
4562
4563         Refactor frexp*-ieee tests.
4564         * tests/test-frexp-ieee.h: New file.
4565         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4566         (main): Just call test_function.
4567         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4568         (main): Just call test_function.
4569         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4570         (main): Just call test_function.
4571         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4572         * modules/frexp-ieee-tests (Files): Likewise.
4573         * modules/frexpl-ieee-tests (Files): Likewise.
4574
4575         Tests for module 'frexpl-ieee'.
4576         * modules/frexpl-ieee-tests: New file.
4577         * tests/test-frexpl-ieee.c: New file.
4578
4579         New module 'frexpl-ieee'.
4580         * modules/frexpl-ieee: New file.
4581
4582         Tests for module 'frexp-ieee'.
4583         * modules/frexp-ieee-tests: New file.
4584         * tests/test-frexp-ieee.c: New file.
4585
4586         New module 'frexp-ieee'.
4587         * modules/frexp-ieee: New file.
4588
4589         Tests for module 'frexpf-ieee'.
4590         * modules/frexpf-ieee-tests: New file.
4591         * tests/test-frexpf-ieee.c: New file.
4592
4593         New module 'frexpf-ieee'.
4594         * modules/frexpf-ieee: New file.
4595
4596 2012-02-26  Bruno Haible  <bruno@clisp.org>
4597
4598         roundl-ieee tests: More tests.
4599         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4600         (main): Add tests for [MX] shaded specification in POSIX.
4601         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4602         (Depends-on): Add isnanl-nolibm.
4603
4604         round-ieee tests: More tests.
4605         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4606         (main): Add tests for [MX] shaded specification in POSIX.
4607         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4608         (Depends-on): Add isnand-nolibm.
4609
4610         roundf-ieee tests: More tests.
4611         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4612         (main): Add tests for [MX] shaded specification in POSIX.
4613         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4614         (Depends-on): Add isnanf-nolibm.
4615
4616         truncl-ieee tests: More tests.
4617         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4618         (main): Add tests for [MX] shaded specification in POSIX.
4619         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4620         (Depends-on): Add isnanl-nolibm.
4621
4622         trunc-ieee tests: More tests.
4623         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4624         (main): Add tests for [MX] shaded specification in POSIX.
4625         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4626         (Depends-on): Add isnand-nolibm.
4627
4628         truncf-ieee tests: More tests.
4629         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4630         (main): Add tests for [MX] shaded specification in POSIX.
4631         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4632         (Depends-on): Add isnanf-nolibm.
4633
4634         ceill-ieee tests: More tests.
4635         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4636         (main): Add tests for [MX] shaded specification in POSIX.
4637         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4638         (Depends-on): Add isnanl-nolibm.
4639
4640         ceil-ieee tests: More tests.
4641         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4642         (main): Add tests for [MX] shaded specification in POSIX.
4643         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4644         (Depends-on): Add isnand-nolibm.
4645
4646         ceilf-ieee tests: More tests.
4647         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4648         (main): Add tests for [MX] shaded specification in POSIX.
4649         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4650         (Depends-on): Add isnanf-nolibm.
4651
4652         floorl-ieee tests: More tests.
4653         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4654         (main): Add tests for [MX] shaded specification in POSIX.
4655         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4656         (Depends-on): Add isnanl-nolibm.
4657
4658         floor-ieee tests: More tests.
4659         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4660         (main): Add tests for [MX] shaded specification in POSIX.
4661         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4662         (Depends-on): Add isnand-nolibm.
4663
4664         floorf-ieee tests: More tests.
4665         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4666         (main): Add tests for [MX] shaded specification in POSIX.
4667         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4668         (Depends-on): Add isnanf-nolibm.
4669
4670 2012-02-26  Bruno Haible  <bruno@clisp.org>
4671
4672         fpieee: More comments.
4673         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
4674
4675 2012-02-25  Bruno Haible  <bruno@clisp.org>
4676
4677         Tests for module 'log10l'.
4678         * modules/log10l-tests: New file.
4679         * tests/test-log10l.c: New file.
4680         * tests/test-math-c++.cc: Check the declaration of log10l.
4681
4682         New module 'log10l'.
4683         * lib/math.in.h (log10l): New declaration.
4684         * lib/log10l.c: New file.
4685         * m4/log10l.m4: New file.
4686         * modules/log10l: New file.
4687         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4688         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4689         HAVE_DECL_LOG10L.
4690         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4691         HAVE_DECL_LOG10L.
4692         * doc/posix-functions/log10l.texi: Mention the new module.
4693
4694 2012-02-25  Bruno Haible  <bruno@clisp.org>
4695
4696         fmodl, remainder*: Avoid wrong results due to rounding errors.
4697         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4698         expected bounds.
4699         * lib/remainderf.c (remainderf): Likewise.
4700         * lib/remainder.c (remainder): Likewise.
4701         * lib/remainderl.c (remainderl): Likewise.
4702
4703 2012-02-25  Bruno Haible  <bruno@clisp.org>
4704
4705         Tests for module 'remainderl'.
4706         * modules/remainderl-tests: New file.
4707         * tests/test-remainderl.c: New file.
4708         * tests/test-math-c++.cc: Check the declaration of remainderl.
4709
4710         New module 'remainderl'.
4711         * lib/math.in.h (remainderl): New declaration.
4712         * lib/remainderl.c: New file.
4713         * m4/remainderl.m4: New file.
4714         * modules/remainderl: New file.
4715         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4716         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4717         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4718         HAVE_REMAINDERL.
4719         * doc/posix-functions/remainderl.texi: Mention the new module.
4720
4721 2012-02-25  Bruno Haible  <bruno@clisp.org>
4722
4723         Tests for module 'remainderf'.
4724         * modules/remainderf-tests: New file.
4725         * tests/test-remainderf.c: New file.
4726         * tests/test-math-c++.cc: Check the declaration of remainderf.
4727
4728         New module 'remainderf'.
4729         * lib/math.in.h (remainderf): New declaration.
4730         * lib/remainderf.c: New file.
4731         * m4/remainderf.m4: New file.
4732         * modules/remainderf: New file.
4733         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4735         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4736         HAVE_REMAINDERF.
4737         * doc/posix-functions/remainderf.texi: Mention the new module.
4738
4739 2012-02-25  Bruno Haible  <bruno@clisp.org>
4740
4741         remainder: Support for MSVC.
4742         * lib/math.in.h (remainder): New declaration.
4743         * lib/remainder.c: New file.
4744         * m4/remainder.m4: New file.
4745         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4746         (Depends-on): Add math, round, fma.
4747         (configure.ac): Use results of gl_FUNC_REMAINDER.
4748         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4749         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4750         HAVE_DECL_REMAINDER.
4751         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4752         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4753         * tests/test-math-c++.cc: Check the declaration of remainder.
4754         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4755         problems are fixed.
4756
4757 2012-02-25  Bruno Haible  <bruno@clisp.org>
4758
4759         Tests for module 'fmodl'.
4760         * modules/fmodl-tests: New file.
4761         * tests/test-fmodl.c: New file.
4762         * tests/test-math-c++.cc: Check the declaration of fmodl.
4763
4764         New module 'fmodl'.
4765         * lib/math.in.h (fmodl): New declaration.
4766         * lib/fmodl.c: New file.
4767         * m4/fmodl.m4: New file.
4768         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4770         REPLACE_FMODL.
4771         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4772         REPLACE_FMODL.
4773         * modules/fmodl: New file.
4774         * doc/posix-functions/fmodl.texi: Mention the new module.
4775
4776 2012-02-25  Bruno Haible  <bruno@clisp.org>
4777
4778         Tests for module 'modfl'.
4779         * modules/modfl-tests: New file.
4780         * tests/test-modfl.c: New file.
4781         * tests/test-math-c++.cc: Check the declaration of modfl.
4782
4783         New module 'modfl'.
4784         * lib/math.in.h (modfl): New declaration.
4785         * lib/modfl.c: New file.
4786         * m4/modfl.m4: New file.
4787         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4789         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4790         * modules/modfl: New file.
4791         * doc/posix-functions/modfl.texi: Mention the new module.
4792
4793 2012-02-25  Bruno Haible  <bruno@clisp.org>
4794
4795         Tests for module 'fabsl'.
4796         * modules/fabsl-tests: New file.
4797         * tests/test-fabsl.c: New file.
4798         * tests/test-math-c++.cc: Check the declaration of fabsl.
4799
4800         New module 'fabsl'.
4801         * lib/math.in.h (fabsl): New declaration.
4802         * lib/fabsl.c: New file.
4803         * m4/fabsl.m4: New file.
4804         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4805         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4806         REPLACE_FABSL.
4807         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4808         REPLACE_FABSL.
4809         * modules/fabsl: New file.
4810         * doc/posix-functions/fabsl.texi: Mention the new module.
4811
4812 2012-02-25  Bruno Haible  <bruno@clisp.org>
4813
4814         fabs tests: More tests.
4815         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4816         (zero): New variable.
4817         (main): Add tests for signed zero.
4818         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4819
4820         fabsf tests: More tests.
4821         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4822         (zero): New variable.
4823         (main): Add tests for signed zero.
4824         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4825
4826 2012-02-24  Bruno Haible  <bruno@clisp.org>
4827
4828         atanl: Provide function definition on MSVC.
4829         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4830         function pointer.
4831         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4832
4833 2012-02-24  Bruno Haible  <bruno@clisp.org>
4834
4835         acosl: Provide function definition on MSVC.
4836         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4837         function pointer.
4838         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4839
4840 2012-02-24  Bruno Haible  <bruno@clisp.org>
4841
4842         asinl: Provide function definition on MSVC.
4843         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4844         function pointer.
4845         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4846
4847 2012-02-24  Bruno Haible  <bruno@clisp.org>
4848
4849         tanl: Provide function definition on MSVC.
4850         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4851         function pointer.
4852         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4853
4854 2012-02-24  Bruno Haible  <bruno@clisp.org>
4855
4856         cosl: Provide function definition on MSVC.
4857         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4858         function pointer.
4859         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4860
4861 2012-02-24  Bruno Haible  <bruno@clisp.org>
4862
4863         sinl: Provide function definition on MSVC.
4864         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4865         function pointer.
4866         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4867
4868 2012-02-24  Bruno Haible  <bruno@clisp.org>
4869
4870         logl: Provide function definition on MSVC.
4871         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4872         function pointer.
4873         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4874
4875 2012-02-24  Bruno Haible  <bruno@clisp.org>
4876
4877         expl: Provide function definition on MSVC.
4878         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4879         function pointer.
4880         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4881
4882 2012-02-24  Bruno Haible  <bruno@clisp.org>
4883
4884         sqrtl: Provide function definition on MSVC.
4885         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4886         a function pointer.
4887         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4888
4889 2012-02-24  Bruno Haible  <bruno@clisp.org>
4890
4891         ceill: Provide function definition on MSVC.
4892         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4893         used as a function pointer.
4894         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4895
4896 2012-02-24  Bruno Haible  <bruno@clisp.org>
4897
4898         floorl: Provide function definition on MSVC.
4899         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4900         used as a function pointer.
4901         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4902
4903 2012-02-24  Bruno Haible  <bruno@clisp.org>
4904
4905         ceilf: Provide function definition on MSVC.
4906         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4907         used as a function pointer.
4908         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4909
4910 2012-02-24  Bruno Haible  <bruno@clisp.org>
4911
4912         floorf: Provide function definition on MSVC.
4913         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4914         used as a function pointer.
4915         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4916
4917 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4918
4919         stdnoreturn: new module
4920         This implements a replacement for C11's <stdnoreturn.h>.
4921         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4922         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4923         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4924         * tests/test-stdnoreturn.c: New files.
4925
4926 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4927
4928         regex: fix false multibyte matches in some regular expressions
4929         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4930         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4931         * lib/regex_internal.c (re_string_skip_chars):
4932         Fix miscomputation of remain_len that may cause incomplete
4933         multi-byte character and false match.
4934
4935 2012-02-24  Jim Meyering  <meyering@redhat.com>
4936
4937         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4938         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4939         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4940         Remove now-unnecessary str''cmp obfuscation.
4941         Suggested by Akim Demaille.
4942
4943 2012-02-24  Bruno Haible  <bruno@clisp.org>
4944
4945         streq: Rename macro.
4946         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4947         * NEWS: Mention the change.
4948         * lib/mbrtowc.c (mbrtowc): Update.
4949         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4950         * lib/wcwidth.c (wcwidth): Update.
4951         Suggested by Akim Demaille and Jim Meyering.
4952
4953 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4954
4955         regex: fix typo in definition of MIN
4956         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4957         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4958
4959 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4960             Bruno Haible  <bruno@clisp.org>
4961
4962         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4963         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4964         entries into a stack-allocated buffer directly.
4965         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4966
4967 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4968             Bruno Haible  <bruno@clisp.org>
4969
4970         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4971
4972          - There were several instances of this pattern:
4973
4974              for (;;) {
4975                n = acl (f, GETACLCNT, 0, NULL);
4976                [ allocate an array A of size N ]
4977                if (acl (f, GETACL, n, a) == n)
4978                  break;
4979              }
4980
4981            This loop might never terminate if some other process is constantly
4982            manipulating the file's ACL.  The loop should be rewritten to
4983            terminate.
4984
4985          - The acl (... GETACLNT ...) call is merely an optimization; its value
4986            is merely a hint as to how big to make the array.  A better
4987            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4988            and just guess a reasonably-big size, growing the size and trying
4989            again if it's not large enough.  This guarantees termination, and
4990            saves a system call.
4991
4992         * lib/acl-internal.h: Include <limits.h>.
4993         (MIN, SIZE_MAX): New macros.
4994         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
4995         a stack-allocated buffer, and use malloc if it does not fit. Don't
4996         use GETACLCNT.
4997         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4998
4999 2012-02-19  Bruno Haible  <bruno@clisp.org>
5000
5001         acl: Fix endless loop on Solaris with vxfs.
5002         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5003         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5004         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5005         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5006         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5007         Reported by Bill Jones in
5008         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5009
5010 2012-02-19  Bruno Haible  <bruno@clisp.org>
5011
5012         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5013         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5014         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5015         that this function returns 0 in some more cases.
5016
5017 2012-02-19  Bruno Haible  <bruno@clisp.org>
5018
5019         acl: Update doc references.
5020         * doc/acl-resources.txt: Update links to Solaris documentation.
5021
5022 2012-02-19  Bruno Haible  <bruno@clisp.org>
5023
5024         Fix test failure in many locales on Solaris 11.
5025         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5026         'tr' arguments.
5027         * tests/test-pipe-filter-ii1.c (main): Likewise.
5028         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5029         expressions in the C locale.
5030         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5031         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5032
5033 2012-02-19  Bruno Haible  <bruno@clisp.org>
5034
5035         gnulib-tool: Improve usage message.
5036         * gnulib-tool (func_usage): Move doc of --help and --version to the
5037         section "Operation modes".
5038
5039 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5040
5041         README-release: make it easier to execute commands
5042         * top/README-release: break commands out on to separate lines.
5043
5044 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5045
5046         GNUmakefile: simplify detection of unconfigured trees
5047         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5048         whether the tree make is being run from is already configured or
5049         not.  Related simplifications.
5050
5051 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5052
5053         * gnulib-tool (func_usage): Document --help and --version.
5054
5055 2012-02-11  Jim Meyering  <meyering@redhat.com>
5056
5057         bootstrap: don't exit 0 upon gnulib-tool failure
5058         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5059         its exit status, not 0.
5060
5061 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5062
5063         README-release: various improvements
5064         * top/README-release: Give a command to push changes for the
5065         release.  Add "distcheck" to list of other pre-release checks.
5066         Fix instance of "make stable" which should be "make TYPE".
5067
5068 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5069
5070         maint: replace FSF snail-mail addresses with URLs
5071         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5072         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5073         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5074         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5075         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5076         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5077         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5078         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5079         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5080         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5081         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5082         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5083         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5084         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5085         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5086         * lib/glthread/thread.c, lib/glthread/thread.h:
5087         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5088         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5089         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5090         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5091         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5092         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5093         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5094         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5095         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5096         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5097         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5098         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5099         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5100         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5101         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5102         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5103         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5104         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5105         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5106         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5107         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5108         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5109         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5110         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5111         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5112         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5113         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5114         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5115         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5116         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5117         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5118         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5119         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5120         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5121         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5122         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5123         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5124         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5125         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5126         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5127         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5128         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5129         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5130         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5131         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5132         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5133         * tests/test-poll.c, tests/test-quotearg-simple.c:
5134         * tests/test-quotearg.c, tests/test-quotearg.h:
5135         * tests/test-round-ieee.c, tests/test-round1.c:
5136         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5137         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5138         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5139         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5140         * tests/test-strerror.c, tests/test-strerror_r.c:
5141         * tests/test-strsignal.c, tests/test-strverscmp.c:
5142         * tests/test-xmemdup0.c:
5143         Replace FSF snail mail addresses with URLs, as per GNU coding
5144         standards.  See glibc bug
5145         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5146
5147 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5148
5149         README-release: capitalize a word and split a line
5150         * top/README-release: Fix punctuation and spacing.
5151
5152 2012-02-08  Akim Demaille  <demaille@gostai.com>
5153
5154         fatal-signal: use C prototypes (with explicit void).
5155         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5156         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5157
5158 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5159
5160         regex: spelling fix
5161         * lib/regexec.c: spelling fix
5162
5163         regex: rely on stdint.h for SIZE_MAX
5164         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5165
5166 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5167
5168         regex: merge glibc changes
5169
5170         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5171         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5172         (init_word_char): Work even if bitset words are not exactly 32 or
5173         64 bits wide.  Don't assume there are no padding bits.
5174         * lib/regex.c [_LIBC]: Do not include <config.h>.
5175         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5176         and -Wtype-limits.
5177         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5178         needless disagreement with glibc.  All uses changed.  Define it to
5179         1 only if _GNU_SOURCE, to match glibc.
5180         (_REG_RM_NAME): Remove; no longer needed, since the names in
5181         question are now all protected by __USE_GNU.
5182         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5183         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5184         * lib/regex_internal.h (MIN): New macro.
5185
5186         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5187         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5188
5189         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5190         * lib/regex_internal.c (re_string_fetch_byte_case):
5191         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5192         is miscompiled, and it turns out it is because of an incorrect
5193         attribute on re_string_fetch_byte_case.  Unlike
5194         re_string_peek_byte_case, this one is really not pure, it modifies
5195         memory (increments pstr->cur_idx), and with the pure attribute GCC
5196         assumed it doesn't and it cached the presumed value of
5197         regexp->cur_idx in a variable across the
5198          for (;; ++i)
5199            {
5200              if (i >= BRACKET_NAME_BUF_SIZE)
5201                return REG_EBRACK;
5202              if (token->type == OP_OPEN_CHAR_CLASS)
5203                ch = re_string_fetch_byte_case (regexp);
5204              else
5205                ch = re_string_fetch_byte (regexp);
5206              if (re_string_eoi(regexp))
5207                return REG_EBRACK;
5208              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5209                break;
5210              elem->opr.name[i] = ch;
5211            }
5212
5213         2011-11-29 Andreas Schwab <schwab@redhat.com>
5214         * lib/regcomp.c (build_equiv_class):
5215         Fix access after end of search string in regex matcher.
5216
5217         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5218         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5219
5220         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5221         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5222
5223         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5224         * lib/regcomp.c (parse_branch, parse_sub_exp):
5225         More regex memory leak fixes and tests.
5226         (parse_sub_exp, parse_bracket_exp):
5227         Fix memory leak for some invalid regular expressions.
5228
5229         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5230         * lib/regex_internal.c, lib/regexec.c:
5231         Fix unnecessary overallocation due to incomplete character.  When
5232         incomplete characters are found at the end of a string the code
5233         ran amok and allocated lots of memory.  Stricter limits are now in
5234         place.
5235
5236         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5237         * lib/regex.h: Update documentation.
5238
5239         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5240         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5241
5242         2010-05-05 Andreas Schwab <schwab@redhat.com>
5243         * lib/regexec.c (find_collation_sequence_value):
5244         Fix lookup of collation sequence value during regexp matching.
5245
5246         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5247         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5248
5249         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5250         * lib/regex.h: Cleanup namespace.
5251
5252         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5253         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5254
5255         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5256         * lib/regex_internal.h: Prevent some declarations and definitions
5257         to be seen when used in tests.
5258
5259         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5260         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5261         __libc_lock_* macros if not _LIBC.
5262         (struct re_dfa_t): Add lock.
5263
5264 2012-02-07  Eric Blake  <eblake@redhat.com>
5265
5266         maint.mk: also prohibit lower-case @var@
5267         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5268         lower case, like @top_srcdir@.
5269
5270 2012-02-04  Eric Blake  <eblake@redhat.com>
5271
5272         canonicalize: avoid uninitialized memory use
5273         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5274         random '/' left in dest.
5275         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5276
5277 2012-02-04  Bruno Haible  <bruno@clisp.org>
5278
5279         isatty: Fix test failure of ptsname_r on native Windows.
5280         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5281         and don't set errno.
5282         (isatty): Test first whether fd is valid. Set errno when returning 0.
5283
5284 2012-02-04  Bruno Haible  <bruno@clisp.org>
5285
5286         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5287         * tests/test-spawn-pipe-main.c: Include progname.h.
5288         (main): Invoke set_program_name.
5289         * modules/spawn-pipe-tests (Depends-on): Add progname.
5290
5291         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5292         * tests/test-nonblocking-socket-main.c: Include progname.h.
5293         (main): Invoke set_program_name.
5294         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5295
5296         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5297         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5298         (main): Invoke set_program_name.
5299         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5300
5301 2012-02-04  Eric Blake  <eblake@redhat.com>
5302
5303         canonicalize-lgpl: fix // handling
5304         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5305
5306         canonicalize: fix // handling
5307         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5308         /// to //, since only // is special.
5309
5310 2012-02-04  Bruno Haible  <bruno@clisp.org>
5311
5312         ioctl: Fix test failure on native Windows.
5313         * lib/ioctl.c: Include msvc-nothrow.h.
5314         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5315
5316 2012-02-04  Bruno Haible  <bruno@clisp.org>
5317
5318         fsync: Avoid test failure on native Windows.
5319         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5320         read-only.
5321
5322 2012-02-04  Bruno Haible  <bruno@clisp.org>
5323
5324         sys_select: Avoid syntax error on OpenBSD 5.0.
5325         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5326         currently being included, just include the system's <sys/select.h>.
5327
5328 2012-02-04  Bruno Haible  <bruno@clisp.org>
5329
5330         sys_select: Avoid syntax error on OpenBSD 5.0.
5331         * lib/sys_select.in.h: Include <signal.h> only after the include_next
5332         <sys/select.h>, not before.
5333         Reported by Jiri B <jirib@devio.us>.
5334
5335 2012-02-04  Bruno Haible  <bruno@clisp.org>
5336
5337         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5338         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5339         global variables.
5340         * tests/test-get-rusage-data.c (main): Likewise.
5341         Reported by Jim Meyering.
5342
5343 2012-02-04  Bruno Haible  <bruno@clisp.org>
5344
5345         stdioext: Fix last commit.
5346         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5347
5348 2012-02-03  Bruno Haible  <bruno@clisp.org>
5349
5350         stdioext: Add tentative support for Plan9.
5351         * lib/stdio-impl.h: Include <errno.h>.
5352         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5353         * lib/freadable.c (freadable): Likewise.
5354         * lib/fwritable.c (fwritable): Likewise.
5355         * lib/fbufmode.c (fbufmode): Likewise.
5356         * lib/freading.c (freading): Likewise.
5357         * lib/fwriting.c (fwriting): Likewise.
5358         * lib/freadptr.c (freadptr): Likewise.
5359         * lib/freadseek.c (freadptrinc): Likewise.
5360         * lib/freadahead.c (freadahead): Likewise.
5361         * lib/fpurge.c (fpurge): Likewise.
5362         * lib/fseeko.c (rpl_fseeko): Likewise.
5363         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5364         Reported by Jens Staal <staal1978@gmail.com>.
5365
5366 2012-02-02  Jim Meyering  <meyering@redhat.com>
5367
5368         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5369         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5370         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5371         not even to try to add the attribute.  Instead, add a pragma to suppress
5372         the suggestion/warning.
5373
5374 2012-01-31  Karl Berry  <karl@gnu.org>
5375
5376         setstate doc: typo.
5377         * doc/posix-functions/setstate.texi (setstate): { not (.
5378
5379 2012-01-31  Bruno Haible  <bruno@clisp.org>
5380
5381         popen: Make more robust on Windows.
5382         * lib/popen.c: On native Windows, use the _popen based code even if
5383         HAVE_POPEN is set.
5384         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5385         environment variable on native Windows.
5386
5387 2012-01-30  Bruno Haible  <bruno@clisp.org>
5388
5389         pclose: Fix typo.
5390         * lib/stdio.in.h (pclose): Fix typo in warning message.
5391
5392 2012-01-30  Bruno Haible  <bruno@clisp.org>
5393
5394         doc about getlogin_r, setstate.
5395         * doc/posix-functions/getlogin_r.texi: List the incompatible
5396         declaration problem under "not fixed by gnulib".
5397         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5398         problem on Solaris 11 and other platforms.
5399
5400 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5401             Bruno Haible  <bruno@clisp.org>
5402
5403         poll tests: Make test more robust.
5404         * tests/test-poll.c: Include macros.h.
5405         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5406         return value of various I/O operations.
5407         * modules/poll-tests (Files): Add tests/macros.h.
5408
5409 2012-01-30  Bruno Haible  <bruno@clisp.org>
5410
5411         sys_stat: Fix support for mingw64 and MSVC.
5412         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5413         header files already do it.
5414         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5415         stat itself.
5416         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5417
5418 2012-01-30  Bruno Haible  <bruno@clisp.org>
5419
5420         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5421         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5422         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5423
5424 2012-01-29  Bruno Haible  <bruno@clisp.org>
5425
5426         quotearg: Fix test failure on MacOS X 10.5.
5427         * tests/test-quotearg-simple.c: Include localcharset.h.
5428         (main): If the locale encoding is not ASCII, bypass the tests of
5429         locale_quoting_style and clocale_quoting_style.
5430         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5431
5432 2012-01-29  Jim Meyering  <meyering@redhat.com>
5433
5434         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5435         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5436         detect uses of canonicalize_file_name.
5437
5438 2012-01-28  Bruno Haible  <bruno@clisp.org>
5439
5440         test-framework-sh: Fix test failure with AIX 7.1 diff.
5441         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5442         in column 1, like 'diff -c' does.
5443         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5444         whether 'diff -u' is used. Instead, test whether the output contains
5445         some '@' character.
5446
5447 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5448
5449         strtoimax: eliminate need for stdint.h, inttypes.h checks
5450         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5451         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5452         the prerequisites for a recently-introduced strtoimax test.
5453         I guess this might cause strtoimax to be replaced when not
5454         strictly necessary on older hosts, but this shouldn't introduce
5455         any bugs and it should make Emacs 'configure' faster on typical
5456         modern hosts.  Problem discovered when importing the latest gnulib
5457         to an Emacs test version.
5458         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5459
5460 2012-01-28  Bruno Haible  <bruno@clisp.org>
5461
5462         sys_time: Override 'struct timeval' on some native Windows platforms.
5463         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5464         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5465         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5466         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5467         needs to be overridden.
5468         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5469         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5470         * tests/test-sys_select.c: Check that the tv_sec member has the same
5471         size as a 'time_t'.
5472         * tests/test-sys_time.c: Likewise.
5473         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5474         is set, set also REPLACE_GETTIMEOFDAY.
5475         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5476         convert the resulting 'struct timeval' before returning.
5477         * lib/select.c: Include <sys/time.h>.
5478         (select, timeval): Undefine at the right place.
5479         * modules/select (Depends-on): Add sys_time.
5480         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5481         some Windows platforms.
5482         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5483
5484 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5485
5486         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5487         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5488         an integer.
5489         * lib/fcntl.c (dupfd): Likewise.
5490         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5491
5492 2012-01-28  Bruno Haible  <bruno@clisp.org>
5493
5494         fcntl: Avoid compilation error on native Windows.
5495         * modules/fcntl (Depends-on): Add 'close'.
5496
5497 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5498
5499         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5500         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5501         pointer to an integer.
5502         * lib/poll.c (IsConsoleHandle): Likewise.
5503         * lib/isatty.c (IsConsoleHandle): Likewise.
5504
5505 2012-01-28  Jim Meyering  <meyering@redhat.com>
5506
5507         doc: clarify README-release
5508         * top/README-release: Clarify: you should make a point to have
5509         the latest stable versions of build tools in your PATH, and the
5510         reference to buildreq is solely for its list of tool names, not
5511         for its minimal-functional version numbers.
5512         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5513
5514         maint.mk: use more readable (yet functionally equivalent) quoting
5515         It is common to quote a single quote in a single quoted string like
5516         this:  '...'\''...'.  Unless you know the idiom, that looks like
5517         gibberish, so prefer to double-quote the string when possible.
5518         Then you can use a more readable, lone single quote: "...'..."
5519         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5520         "don't" is more readable than the equivalent 'don'\''t'.
5521         (sc_cast_of_x_alloc_return_value): Likewise.
5522         (sc_cast_of_alloca_return_value): Likewise.
5523         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5524         rather than '\'':'\''.
5525
5526 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5527
5528         stdalign: relax _Alignof and tighten _Alignas test
5529         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5530         as it was too strict: alignof must divide offsetof, but it need
5531         not equal offsetof.  Inspired by Joseph S. Myers's comment
5532         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5533         Conversely, tighten the _Alignas test a bit, as the resulting
5534         alignment must be exactly 8.
5535
5536 2012-01-27  Bruno Haible  <bruno@clisp.org>
5537
5538         stdalign: Document the last change.
5539         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5540
5541 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5542
5543         stdalign: check that alignof and offsetof are consistent
5544         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5545         Problem reported for gnulib by Richard W.M. Jones in
5546         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5547
5548 2012-01-27  Jim Meyering  <meyering@redhat.com>
5549
5550         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5551         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5552         convert a sequence with gaps to the minimal containing range.
5553         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5554         * tests/test-update-copyright.sh: Test for this.
5555         The FSF confirmed it is ok to do this, assuming there is at
5556         least one significant change per year in the affected range:
5557         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5558
5559 2012-01-26  Bruno Haible  <bruno@clisp.org>
5560
5561         pipe2: refine doc about thread-safety
5562         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5563         multithread-safety problem.
5564         * doc/glibc-functions/accept4.texi: Likewise.
5565
5566 2012-01-26  Bruno Haible  <bruno@clisp.org>
5567
5568         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5569         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5570         In the test program, include <fcntl.h>, for O_RDONLY.
5571
5572 2012-01-26  Eric Blake  <eblake@redhat.com>
5573
5574         pipe2: document lack of thread-safety in replacement
5575         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5576         issue in replacement.
5577         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5578         Based on a report by Eric Wong.
5579
5580 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5581             Bruno Haible  <bruno@clisp.org>
5582
5583         malloca: Avoid warnings on x86_64 mingw64.
5584         * lib/malloca.c: Include <stdint.h>.
5585         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5586         * modules/malloca (Depends-on): Add stdint.
5587         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5588
5589 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5590
5591         obstack: remove __STDC__ conditionals
5592         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5593         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5594         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5595         m4/include_next.m4 as the only gnulib-maintained places that still
5596         refer to __STDC__.
5597
5598 2012-01-24  Bruno Haible  <bruno@clisp.org>
5599
5600         havelib: Modern quoting.
5601         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5602         the recent change to the GNU coding standards.
5603
5604 2012-01-24  Bruno Haible  <bruno@clisp.org>
5605
5606         stdint: Improve support for Android.
5607         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5608         Reported by Simon Josefsson <simon@josefsson.org>.
5609
5610 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5611
5612         doc: omit trailing empty lines from INSTALL etc.
5613         * doc/Makefile (INSTALL): Omit trailing empty lines.
5614         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5615         omit trailing empty lines.  This simplifies the build procedure.
5616
5617 2012-01-23  Jim Meyering  <meyering@redhat.com>
5618
5619         tests: avoid spurious warnings about gl_sockets_startup
5620         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5621         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5622         reporting a "statement with no effect".
5623         * tests/test-accept.c (main): Mark as "(void)".
5624         * tests/test-accept4.c (main): Likewise.
5625         * tests/test-bind.c (main): Likewise.
5626         * tests/test-connect.c (main): Likewise.
5627         * tests/test-getpeername.c (main): Likewise.
5628         * tests/test-getsockname.c (main): Likewise.
5629         * tests/test-getsockopt.c (main): Likewise.
5630         * tests/test-listen.c (main): Likewise.
5631         * tests/test-recv.c (main): Likewise.
5632         * tests/test-recvfrom.c (main): Likewise.
5633         * tests/test-send.c (main): Likewise.
5634         * tests/test-sendto.c (main): Likewise.
5635         * tests/test-setsockopt.c (main): Likewise.
5636         * tests/test-shutdown.c (main): Likewise.
5637
5638 2012-01-21  Bruno Haible  <bruno@clisp.org>
5639
5640         locale-fr.m4: Fix for Android.
5641         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5642         failure of the test program on Bionic libc.
5643
5644 2012-01-21  Jim Meyering  <meyering@redhat.com>
5645
5646         bootstrap: fail when bootstrap_post_import_hook fails
5647         Otherwise, it's far too easy to miss diagnostics emitted
5648         between gnulib-tool's output and that of running configure.
5649         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5650
5651 2012-01-17  Jim Meyering  <meyering@redhat.com>
5652
5653         maint: enable sc_trailing_blank
5654         * build-aux/pmccabe.css: Remove trailing blanks.
5655         * doc/acl-cygwin.txt: Likewise.
5656         * doc/gnu-oids.texi: Likewise
5657         * cfg.mk: Enable sc_trailing_blank.
5658         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5659
5660 2012-01-17  Jim Meyering  <meyering@redhat.com>
5661
5662         maint: enable sc_prohibit_openat_without_use
5663         * cfg.mk: Enable sc_prohibit_openat_without_use.
5664         Exempt lib/selinux-at.c.
5665
5666 2012-01-17  Jim Meyering  <meyering@redhat.com>
5667
5668         maint: enable sc_prohibit_cloexec_without_use
5669         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
5670         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
5671
5672 2012-01-17  Jim Meyering  <meyering@redhat.com>
5673
5674         maint: enable sc_prohibit_intprops_without_use
5675         * cfg.mk: Enable sc_prohibit_intprops_without_use
5676         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
5677
5678 2012-01-17  Jim Meyering  <meyering@redhat.com>
5679
5680         maint: enable sc_prohibit_hash_pjw_without_use
5681         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
5682         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
5683         to match any use of \<hash_pjw\>, i.e., not necessarily with a
5684         following " (".
5685
5686 2012-01-17  Jim Meyering  <meyering@redhat.com>
5687
5688         maint: enable double-word-prohibiting rule
5689         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5690         Exempt three files.
5691
5692 2012-01-17  Jim Meyering  <meyering@redhat.com>
5693
5694         maint: remove empty lines at EOF, but excluding modules/*
5695         Apply syntax rules at home as well as abroad.  Most changes
5696         were induced by running this:
5697           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5698             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5699             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5700         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5701         Exempt modules/* and two binary files.
5702         Also exempt doc/INSTALL*, per request from Bruno Haible.
5703         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5704         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5705         * doc/Copyright/request-assign.future: Likewise.
5706         * doc/Copyright/request-disclaim.changes: Likewise.
5707         * doc/INSTALL: Likewise.
5708         * doc/INSTALL.ISO: Likewise.
5709         * doc/INSTALL.UTF-8: Likewise.
5710         * doc/acl-cygwin.txt: Likewise.
5711         * doc/acl-resources.txt: Likewise.
5712         * doc/fdl-1.2.texi: Likewise.
5713         * doc/fdl-1.3.texi: Likewise.
5714         * doc/fdl.texi: Likewise.
5715         * lib/argp-pin.c: Likewise.
5716         * lib/round.c: Likewise.
5717         * lib/unicase/u16-totitle.c: Likewise.
5718         * lib/unictype/block_test.c: Likewise.
5719         * lib/uninorm/canonical-decomposition.c: Likewise.
5720         * m4/README: Likewise.
5721         * m4/relocatable-lib.m4: Likewise.
5722         * tests/test-isnand-nolibm.c: Likewise.
5723         * tests/test-isnand.c: Likewise.
5724         * tests/uninorm/NormalizationTest.txt: Likewise.
5725
5726 2012-01-17  Jim Meyering  <meyering@redhat.com>
5727
5728         maint: add framework to run syntax-check rules against gnulib sources
5729         * cfg.mk: New file, to disable all currently-failing tests.
5730         We'll enable them one by one, as they are made to pass.
5731         * Makefile (sc_maint): New rule.
5732
5733 2012-01-21  Bruno Haible  <bruno@clisp.org>
5734
5735         stdint: Add support for Android.
5736         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5737         include the system's <stdint.h>.
5738         Reported by Simon Josefsson <simon@josefsson.org>.
5739
5740 2012-01-19  Jim Meyering  <meyering@redhat.com>
5741
5742         bootstrap: add bootstrap_post_import_hook
5743         Bison does still need something like the gnulib_mk_hook whose
5744         invocation I had to remove along with slurp in commit 767ccd40.
5745         Technically, we could get along without it, but doing so would
5746         have required living with a warning and a mandatory post-bootstrap
5747         automake rerun.
5748         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5749         (bootstrap_post_import_hook): New function.
5750         Invoke it after gnulib-tool --import and before autoreconf.
5751
5752 2012-01-18  Jim Meyering  <meyering@redhat.com>
5753
5754         gitlog-to-changelog: don't use "no_"-prefixed variable name
5755         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5756         to enable both --cluster and --no-cluster.  Change variable name,
5757         s/\$no_cluster/$cluster/, and reverse usage to match.
5758
5759         gitlog-to-changelog: use "||", not "or" in expressions
5760         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5761         expressions.
5762
5763 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5764
5765         gitlog-to-changelog: new option --no-cluster
5766         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5767         clustering of adjacent commit messages.
5768
5769 2012-01-17  Jim Meyering  <meyering@redhat.com>
5770
5771         maint: spell file systems with two words, not one
5772         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5773         two words, not one.
5774
5775 2012-01-16  Jim Meyering  <meyering@redhat.com>
5776
5777         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5778         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5779
5780 2012-01-16  Eric Blake  <eblake@redhat.com>
5781
5782         bootstrap: cater to autoconf 2.59
5783         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5784         is not available.
5785
5786         bootstrap: properly check for libtool
5787         * build-aux/bootstrap (libtoolize): Also run libtool when older
5788         usage is detected.
5789
5790 2012-01-15  Bruno Haible  <bruno@clisp.org>
5791
5792         Improve support for MSVC 9.
5793         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5794         clashes on MSVC.
5795         * lib/fcntl.in.h: Likewise.
5796         * lib/stdlib.in.h: Likewise.
5797         * lib/sys_stat.in.h: Likewise.
5798
5799 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5800
5801         gnupload: we hold the master copy of this script now
5802         For motivation and more information, see:
5803         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5804         * build-aux/gnupload: Make it clear in the heading comments that the
5805         master copy of this file is maintained by gnulib.  Since we are at
5806         it, bump its copyright year and ...
5807         ($scriptversion): ... the date in its version.
5808         ($usage): Patches and bug reports should be sent to the gnulib list,
5809         not the automake one.
5810         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5811         anymore.
5812
5813 2012-01-15  Bruno Haible  <bruno@clisp.org>
5814
5815         Fix module 'random'.
5816         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5817         initstate, setstate are declared.
5818
5819 2012-01-14  Bruno Haible  <bruno@clisp.org>
5820
5821         Tests for module 'random'.
5822         * modules/random-tests: New file.
5823         * tests/test-random.c: New file, based on tests/test-random_r.c.
5824
5825         New module 'random'.
5826         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5827         declarations.
5828         * lib/random.c: New file, based on glibc/stdlib/random.c.
5829         * m4/random.m4: New file.
5830         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5831         HAVE_RANDOM.
5832         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5833         * modules/random: New file.
5834         * config/srclist.txt: Add an entry for random.c.
5835         * doc/posix-functions/random.texi: Mention the 'random' module.
5836         * doc/posix-functions/initstate.texi: Likewise.
5837         * doc/posix-functions/setstate.texi: Likewise.
5838         * doc/posix-functions/srandom.texi: Likewise.
5839
5840 2012-01-12  Bruno Haible  <bruno@clisp.org>
5841
5842         random_r: Use common idioms.
5843         * lib/random_r.c: Include <stdlib.h> first.
5844
5845         random_r: Override incompatible API on AIX, OSF/1.
5846         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5847         Override the system function if REPLACE_RANDOM_R is 1.
5848         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5849         and OSF/1, set REPLACE_RANDOM_R.
5850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5851         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5852         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5853         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5854         * doc/glibc-functions/random_r.texi: Likewise.
5855         * doc/glibc-functions/setstate_r.texi: Likewise.
5856
5857         random_r: Support for MSVC 9.
5858         * lib/random_r.c: Include stdint.h, not inttypes.h.
5859
5860 2012-01-12  Eric Blake  <eblake@redhat.com>
5861
5862         inet_ntop: guard extra work by IF_LINT
5863         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5864         better code generation when not checking for warnings.
5865         Suggested by Paul Eggert and Jim Meyering.
5866
5867         strptime: fix regression on mingw
5868         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5869         Fix regression.  Reported by Bruno Haible.
5870
5871 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5872             Bruno Haible  <bruno@clisp.org>
5873
5874         copy-file: add error-code-returning variant.
5875         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5876         (qcopy_file_preserving): New declaration.
5877         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5878         copy_file_preserving. Change return type to 'int'. Don't emit an error
5879         message here.
5880         (copy_file_preserving): New function.
5881         * tests/test-copy-file.c: Include <stdlib.h>.
5882         (main): Test qcopy_file_preserving if the environment variable
5883         NO_STDERR_OUTPUT is set.
5884         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5885         with NO_STDERR_OUTPUT
5886         * tests/test-copy-file-2.sh: Likewise.
5887
5888 2012-01-10  Bruno Haible  <bruno@clisp.org>
5889
5890         copy-file: Use 'quote' module consistently.
5891         * lib/copy-file.c (copy_file_preserving): Use quote().
5892
5893         copy-file: Refactor.
5894         * lib/copy-file.c: Include quote.h.
5895         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5896         message here.
5897         * modules/copy-file (Depends-on): Add quote.
5898
5899         acl: Export qcopy_acl.
5900         * lib/acl.h (qcopy_acl): New declaration.
5901         * lib/copy-acl.c (qcopy_acl): Make non-static.
5902
5903         acl: Rename a local variable.
5904         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5905
5906         acl: Align return values of copy_acl and qcopy_acl.
5907         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5908         maybe < -1.
5909
5910 2012-01-11  Eric Blake  <eblake@redhat.com>
5911
5912         strptime: silence gcc warnings
5913         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5914         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5915         Reported by Daniel P. Berrange.
5916
5917         inet_ntop: silence gcc warning
5918         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5919         Reported by Daniel P. Berrange.
5920
5921 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5922
5923         getloadavg test: skip the test on GNU/Linux without /proc mounted
5924         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5925         file.  When /proc is not mounted, it always fails with ENOENT.
5926         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5927         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5928
5929 2012-01-10  Bruno Haible  <bruno@clisp.org>
5930
5931         regex: Avoid link error on MSVC 9.
5932         * modules/regex (Depends-on): Add wctype.
5933
5934 2012-01-10  Bruno Haible  <bruno@clisp.org>
5935
5936         doc: Mention --with-tests option.
5937         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5938         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5939         --with-tests.
5940         Reported by Reuben Thomas.
5941
5942 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5943
5944         users.txt: order package names lexicographically.
5945         * users.txt: Order package names lexicographically.
5946
5947 2012-01-10  Jim Meyering  <meyering@redhat.com>
5948
5949         maint.mk: fix description in comment
5950         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5951
5952         ignore-value: remove deprecated ignore_ptr function
5953         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5954         * NEWS: Note this.
5955
5956 2012-01-09  Jim Meyering  <meyering@redhat.com>
5957
5958         test-init.sh: avoid a subshell
5959         * tests/test-init.sh: Remove protective subshell.
5960         Suggested by Bernhard Voelker.  While a subshell is normally
5961         required to protect against older shells (Solaris, FreeBSD) that
5962         warn about a missing program before performing redirection, the
5963         shell-selection tests performed by init.sh probably exclude any
5964         offending shell.
5965
5966 2012-01-08  Bruno Haible  <bruno@clisp.org>
5967
5968         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5969         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5970         variable.
5971
5972 2012-01-08  Bruno Haible  <bruno@clisp.org>
5973
5974         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5975         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5976         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5977         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5978         macro.
5979         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5980         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5981         * lib/spawn_faction_addopen.c: Add workaround implementation if
5982         HAVE_WORKING_POSIX_SPAWN.
5983         * modules/spawn (Makefile): Substitute
5984         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5985         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5986         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5987         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5988         (Depends-on): Update conditions.
5989         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5990         the Solaris 11 bug.
5991
5992 2012-01-08  Bruno Haible  <bruno@clisp.org>
5993
5994         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
5995         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5996         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5997         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
5998         macro.
5999         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6000         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6001         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6002         HAVE_WORKING_POSIX_SPAWN.
6003         * modules/spawn (Makefile): Substitute
6004         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6005         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6006         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6007         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6008         (Depends-on): Update conditions.
6009         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6010         the Solaris 11 bug.
6011
6012 2012-01-08  Bruno Haible  <bruno@clisp.org>
6013
6014         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6015         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6016         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6017         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6018         HAVE_WORKING_POSIX_SPAWN.
6019         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6020         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6021         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6022         * lib/spawn_faction_addclose.c: Add workaround implementation if
6023         HAVE_WORKING_POSIX_SPAWN.
6024         * modules/spawn (Makefile): Substitute
6025         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6026         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6027         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6028         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6029         (Depends-on): Update conditions.
6030         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6031         the Solaris 11 bug.
6032
6033 2012-01-08  Bruno Haible  <bruno@clisp.org>
6034
6035         doc: Update for Solaris 11 2011-11.
6036         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6037         * m4/printf.m4: Update comments.
6038
6039 2012-01-08  Bruno Haible  <bruno@clisp.org>
6040
6041         mktime: Avoid compilation error on Solaris 11.
6042         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6043
6044 2012-01-08  Bruno Haible  <bruno@clisp.org>
6045
6046         doc: Small fix.
6047         * doc/posix-headers/nl_types.texi: Correct platforms list.
6048
6049 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6050
6051         Add lgpl-3.0 module.
6052         * MODULES.html.sh (Support for building documentation): Add
6053         lgpl-3.0.
6054         * modules/lgpl-3.0: New file.
6055
6056 2012-01-08  Jim Meyering  <meyering@redhat.com>
6057
6058         select.c: indent with spaces, not TABs
6059         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6060
6061 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6062
6063         quotearg: do not use grave accent for left quote
6064         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6065         locale_quoting_style.
6066         (quotearg_buffer_restyled): Fix example.
6067         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6068
6069 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6070
6071         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6072         Most programs do not have translation catalogs for English and much
6073         less separate catalogs for British and American English.  Drop the
6074         suggestion to translators about these two, and provide it
6075         automatically for Unicode locales.  Like most programs, even those
6076         using American English, we use single quotation marks.  This conflicts
6077         with the American typographic convention, but works better when you
6078         cite the entire error message within double quotes.  It also tries not
6079         to clash with established practice and with what non-gnulib programs
6080         will usually do.
6081         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6082         using an UTF-8 or GB-18030 locale.  The list of other locales with
6083         quotes was provided by Bruno Haible.
6084         (quotearg_buffer_restyled): Adjust instructions to translators.
6085         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6086         text, since this would be wrong when using Unicode.
6087         * modules/quotearg: Depend on c-strcaseeq.
6088
6089 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6090
6091         quotearg: fix Wikipedia link
6092         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6093
6094 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6095
6096         Fix for mingw with MSVC9.
6097         * m4/ld-version-script.m4: Check that compiler rejects version
6098         scripts with syntax errors.  Reported by Bruno Haible
6099         <bruno@clisp.org>.
6100
6101 2012-01-06  Bruno Haible  <bruno@clisp.org>
6102
6103         Talk about "native Windows API", not "Woe32".
6104         * lib/accept4.c: Update comments to mention native Windows.
6105         * lib/execute.c: Likewise.
6106         * lib/fatal-signal.c: Likewise.
6107         * lib/localcharset.c: Likewise.
6108         * lib/nanosleep.c: Likewise.
6109         * lib/nl_langinfo.c: Likewise.
6110         * lib/pclose.c: Likewise.
6111         * lib/pipe-filter-gi.c: Likewise.
6112         * lib/pipe-filter-ii.c: Likewise.
6113         * lib/pipe.c: Likewise.
6114         * lib/pipe2.c: Likewise.
6115         * lib/popen.c: Likewise.
6116         * lib/progreloc.c: Likewise.
6117         * lib/relocatable.c: Likewise.
6118         * lib/sigaction.c: Likewise.
6119         * lib/sigprocmask.c: Likewise.
6120         * lib/spawn-pipe.h: Likewise.
6121         * lib/spawn-pipe.c: Likewise.
6122         * lib/spawni.c: Likewise.
6123         * lib/stat-time.h: Likewise.
6124         * lib/w32spawn.h: Likewise.
6125         * tests/test-isatty.c: Likewise.
6126         * lib/config.charset: More comments.
6127         * doc/gnulib-intro.texi: Mention native Windows.
6128         * doc/posix-functions/_Exit_C99.texi: Likewise.
6129         * doc/posix-headers/fcntl.texi: Likewise.
6130
6131 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6132
6133         argp: Avoid crash if translator uses % characters in a translation.
6134         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6135         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6136
6137 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6138
6139         doc: C11 and C++11 are now official
6140         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6141         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6142         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6143         * modules/stdalign:
6144         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6145
6146 2012-01-06  Bruno Haible  <bruno@clisp.org>
6147
6148         uc-is-grapheme-break tests: Tweak.
6149         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6150         message.
6151
6152 2012-01-06  Bruno Haible  <bruno@clisp.org>
6153
6154         test-init.sh: correct the test for diff -u
6155         * tests/test-init.sh: Also redirect stdout to /dev/null.
6156
6157 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6158
6159         Use ', not `, for quoting output.
6160         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6161         (print_changelog_deltas, get_tool_versions, main program):
6162         * build-aux/git-version-gen:
6163         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6164         * build-aux/move-if-change (help):
6165         * build-aux/useless-if-before-free (usage, main program):
6166         * check-module (parse_module_file, usage)
6167         (find_included_lib_files, check_module):
6168         * lib/argmatch.c (main) [TEST]:
6169         * lib/argp-help.c (_help):
6170         * lib/getopt1.c (main) [TEST]:
6171         * lib/git-merge-changelog.c (usage):
6172         * lib/xstrtol-error.c (xstrtol_error):
6173         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6174         * m4/argz.m4 (gl_FUNC_ARGZ):
6175         * m4/bison.m4 (gl_BISON):
6176         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6177         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6178         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6179         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6180         * m4/gc-random.m4 (gl_GC_RANDOM):
6181         * m4/intl.m4 (gt_CHECK_DECL):
6182         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6183         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6184         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6185         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6186         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6187         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6188         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6189         * tests/test-dirname.c (main):
6190         * tests/test-getpass.c (main):
6191         * tests/test-iconvme.c (main):
6192         * tests/test-parse-datetime.c (LOG):
6193         * tests/test-xstrtoimax.sh:
6194         * tests/test-xstrtol.sh:
6195         * tests/test-xstrtoll.sh:
6196         * tests/test-xstrtoumax.sh:
6197         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6198         * top/GNUmakefile (abort-due-to-no-makefile):
6199         Quote 'like this', not `like this', as per the recent change to
6200         the GNU coding standards.
6201
6202 2012-01-05  Bruno Haible  <bruno@clisp.org>
6203
6204         strtoimax: Don't force a replacement on systems where intmax_t is int.
6205         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6206         'intmax_t' is not larger than 'int'.
6207         Reported by Pádraig Brady <P@draigBrady.com>.
6208
6209 2012-01-05  Bruno Haible  <bruno@clisp.org>
6210
6211         doc: Mention NetBSD bugs.
6212         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6213         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6214
6215 2012-01-05  Bruno Haible  <bruno@clisp.org>
6216
6217         strtoumax tests: Enhance tests.
6218         * tests/test-strtoumax.c (main): Add tests for large values.
6219
6220 2012-01-05  Bruno Haible  <bruno@clisp.org>
6221
6222         strtoimax: Work around AIX 5.1 bug.
6223         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6224         definition.
6225         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6226         Set HAVE_STRTOIMAX.
6227         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6228         REPLACE_STRTOIMAX.
6229         * modules/inttypes-incomplete (Makefile.am): Substitute
6230         REPLACE_STRTOIMAX.
6231         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6232         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6233         (Depends-on): Update conditions.
6234         * tests/test-strtoimax.c (main): Add tests for large values.
6235         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6236
6237 2012-01-05  Bruno Haible  <bruno@clisp.org>
6238
6239         inttypes: Modernize.
6240         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6241         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6242         (Makefile.am): Update inttypes.h rule.
6243
6244 2012-01-05  Jim Meyering  <meyering@redhat.com>
6245
6246         init.sh: don't waste a subshell just to redirect stderr
6247         * tests/init.sh: In testing for diff -u and diff -c, use a
6248         stderr-redirecting exec inside `...` rather than a subshell.
6249
6250         test-init.sh: avoid failure on HP-UX 11.00
6251         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6252         resolves to diff -c or cmp.  Reported by Bruno Haible.
6253
6254 2012-01-05  Bruno Haible  <bruno@clisp.org>
6255
6256         Tests for module 'strtoull'.
6257         * modules/strtoull-tests: New file.
6258         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6259
6260 2012-01-05  Bruno Haible  <bruno@clisp.org>
6261
6262         Tests for module 'strtoll'.
6263         * modules/strtoll-tests: New file.
6264         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6265
6266 2012-01-05  Bruno Haible  <bruno@clisp.org>
6267
6268         Tests for module 'strtoul'.
6269         * modules/strtoul-tests: New file.
6270         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6271
6272 2012-01-05  Bruno Haible  <bruno@clisp.org>
6273
6274         Tests for module 'strtol'.
6275         * modules/strtol-tests: New file.
6276         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6277
6278 2012-01-04  Jim Meyering  <meyering@redhat.com>
6279
6280         test-init.sh: accommodate Solaris 5.10's different diff -u output
6281         * tests/test-init.sh: Also exempt @@ lines from the comparison
6282         of diff output, since Solaris 5.10 and GNU diff formats differ.
6283         Reported by Stefano Lattarini.
6284
6285 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6286
6287         test-posixtm: don't assume signed integer wraparound
6288         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6289         after signed integer overflow.  Inspired by (though it may not
6290         fix) Bruno Haible's bug report in
6291         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6292
6293         Spell out "Windows 9x" and "Windows XP".
6294         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6295         "Windows 9x" and "WinXP" with "Windows XP".
6296
6297 2012-01-04  Jim Meyering  <meyering@redhat.com>
6298
6299         test-vc-list-files-cvs.sh: remove obsolete comment
6300         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6301         double exit.  Now that's all encapsulated via skip_ and Exit.
6302
6303 2012-01-04  Bruno Haible  <bruno@clisp.org>
6304
6305         Talk about "native Windows API", not "Win32".
6306         * lib/classpath.c: Update comments to mention native Windows.
6307         * lib/csharpexec.c: Likewise.
6308         * lib/dup2.c: Likewise.
6309         * lib/error.c: Likewise.
6310         * lib/fcntl.c: Likewise.
6311         * lib/filename.h: Likewise.
6312         * lib/findprog.c: Likewise.
6313         * lib/get-rusage-as.c: Likewise.
6314         * lib/get-rusage-data.c: Likewise.
6315         * lib/getpagesize.c: Likewise.
6316         * lib/javaexec.c: Likewise.
6317         * lib/msvc-inval.c: Likewise.
6318         * lib/msvc-nothrow.c: Likewise.
6319         * lib/nanosleep.c: Likewise.
6320         * lib/nonblocking.c: Likewise.
6321         * lib/printf-parse.c: Likewise.
6322         * lib/setlocale.c: Likewise.
6323         * lib/sigaction.c: Likewise.
6324         * lib/strerror_r.c: Likewise.
6325         * lib/tmpdir.c: Likewise.
6326         * lib/vasnprintf.c: Likewise.
6327         * lib/w32spawn.h: Likewise.
6328         * lib/waitpid.c: Likewise.
6329         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6330         * m4/locale-ar.m4: Likewise.
6331         * m4/locale-fr.m4: Likewise.
6332         * m4/locale-ja.m4: Likewise.
6333         * m4/locale-tr.m4: Likewise.
6334         * m4/locale-zh.m4: Likewise.
6335         * m4/printf.m4: Likewise.
6336         * tests/test-cloexec.c: Likewise.
6337         * tests/test-copy-acl.sh: Likewise.
6338         * tests/test-copy-file.sh: Likewise.
6339         * tests/test-file-has-acl.sh: Likewise.
6340         * tests/test-set-mode-acl.sh: Likewise.
6341         * tests/test-dup-safer.c: Likewise.
6342         * tests/test-dup2.c: Likewise.
6343         * tests/test-dup3.c: Likewise.
6344         * tests/test-fcntl.c: Likewise.
6345         * tests/test-nonblocking-pipe.h: Likewise.
6346         * tests/test-nonblocking-socket.h: Likewise.
6347         * tests/test-pipe.c: Likewise.
6348         * tests/test-pipe2.c: Likewise.
6349         * tests/test-spawn-pipe-child.c: Likewise.
6350         * doc/acl-resources.txt: Likewise.
6351         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6352         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6353         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6354         * lib/localcharset.c: Update comments to mention native Windows.
6355         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6356         * lib/localename.c: Likewise.
6357         * lib/progreloc.c: Likewise.
6358         * lib/relocatable.c: Likewise.
6359         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6360         (windows_compute_revents): Renamed from win32_compute_revents.
6361         (windows_compute_revents_socket): Renamed from
6362         win32_compute_revents_socket.
6363         * lib/select.c: Update comments to mention native Windows.
6364         (windows_poll_handle): Renamed from win32_poll_handle.
6365         * m4/threadlib.m4: Update comments to mention native Windows.
6366         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6367         --enable-threads=windows instead of --enable-threads=win32. Set
6368         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6369         * lib/glthread/lock.h: Update comments to mention native Windows.
6370         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6371         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6372         USE_WIN32_THREADS.
6373         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6374         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6375         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6376         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6377         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6378         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6379         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6380         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6381         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6382         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6383         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6384         * tests/test-tls.c: Likewise.
6385         Rationale:
6386         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6387         on both 32-bit and 64-bit Windows systems.
6388         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6389         line of distinction is between "native Windows" on one side and Unix/
6390         POSIX systems on the other side. More details in
6391         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6392         Suggested by Paul Eggert.
6393
6394 2012-01-03  Bruno Haible  <bruno@clisp.org>
6395
6396         isatty: Support for MSVC 9.
6397         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6398         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6399         (_isatty_nothrow): New function.
6400         (isatty): Use it instead of _isatty.
6401         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6402         * lib/poll.c (IsConsoleHandle): Likewise.
6403         * lib/select.c (IsConsoleHandle): Likewise.
6404         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6405         (gl_PREREQ_ISATTY): New macro.
6406         * modules/isatty (Depends-on): Add msvc-inval.
6407         (configure.ac): Invoke gl_PREREQ_ISATTY.
6408
6409 2012-01-03  Jim Meyering  <meyering@redhat.com>
6410
6411         maint.mk: remove temporary transition aid from over 1.5 years ago
6412         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6413         purpose was to aid in the transition (avoiding silent malfunction)
6414         from that old name to the new _sc_search_regexp.  This shim was
6415         added by commit 219c504b.
6416
6417         init.sh: do not try to accommodate compare arguments starting with "-"
6418         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6419         compare arguments that start with "-".  Besides, we do not worry
6420         about this when invoking diff or cmp; why start now with sed?
6421         Using "--" to separate options from argument would trigger sed
6422         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6423         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6424
6425 2012-01-02  Bruno Haible  <bruno@clisp.org>
6426
6427         Enhance tests for module 'isatty'.
6428         * modules/isatty-tests (Depends-on): Add pipe-posix.
6429         * tests/test-isatty.c: Include <fcntl.h>.
6430         (DEV_NULL): New macro.
6431         (main): Test the resut of isatty() also on regular files, pipes, and
6432         /dev/null.
6433
6434         New module 'isatty'.
6435         * lib/unistd.in.h (isatty): New declaration.
6436         * lib/isatty.c: New file, based on an idea of
6437         Bastien Roucariès <roucaries.bastien@gmail.com>.
6438         * m4/isatty.m4: New file.
6439         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6440         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6441         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6442         REPLACE_ISATTY.
6443         * modules/isatty: New file.
6444         * doc/posix-functions/isatty.texi: Mention the new module.
6445         Suggested by Paolo Bonzini.
6446
6447 2012-01-02  Bruno Haible  <bruno@clisp.org>
6448
6449         canonicalize: Tweak 2011-12-29 commit.
6450         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6451         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6452
6453 2012-01-02  Jim Meyering  <meyering@redhat.com>
6454
6455         gitlog-to-changelog: describe input syntax in --help output
6456         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6457
6458         gitlog-to-changelog: fix typo in --help: show backslash before email @
6459         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6460         in sources, but not in actual output.
6461
6462 2011-12-30  Jim Meyering  <meyering@redhat.com>
6463
6464         gitlog-to-changelog: don't malfunction when name contains %-directive
6465         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6466         in a name string cause trouble.  E.g., with a user name of "%s",
6467         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6468
6469 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6470
6471         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6472         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6473         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6474         the "  (tiny change)" notation that is appended to the standard
6475         ChangeLog "date  name  email" header line.
6476
6477 2012-01-01  Jim Meyering  <meyering@redhat.com>
6478
6479         test-framework-sh: init.sh: fix "make dist" failure
6480         When using gnulib-tool's --with-tests option and any module that
6481         depends on test-framework-sh, "make dist" would fail due to the
6482         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6483         in the gltests directory, and not in the gllib/ directory.
6484         One way to work around that is to move the EXTRA_DIST += init.sh
6485         from the primary module to the -tests one:
6486         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6487         * modules/test-framework-sh (Makefile.am): ...not here.
6488         Reported by Tom G. Christensen in
6489         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6490
6491         version-etc: update copyright year reported by --version
6492         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6493
6494 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6495
6496         canonicalize: only stat() if required
6497         * lib/canonicalize.c (canonicalize_filename_mode):
6498         Avoid calling l?stat() when both CAN_MISSING,
6499         and CAN_NOLINKS are set, as we neither need
6500         to resolve symlinks or test component existence.
6501
6502 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6503
6504         doc: cover st_ino issues once; add OpenVMS etc.
6505         * doc/posix-functions/stat.texi (stat):
6506         * doc/posix-functions/lstat.texi (lstat):
6507         * doc/posix-functions/fstatat.texi (fstatat):
6508         * doc/posix-functions/fstat.texi (fstat):
6509         Move general 'struct stat' stuff to sys_stat.texi,
6510         leaving behind a pointer.
6511         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6512         Merge duplicate info about 'struct stat' problems into here.
6513         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6514         and suggest partial workarounds.
6515
6516         same-inode: port to OpenVMS
6517         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6518         three st_ino values.
6519
6520 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6521
6522         canonicalize: fix references to stat() and lstat()
6523         * lib/canonicalize.c (canonicalize_filename_mode):
6524         Ensure references always resolve to a replacement
6525         function if required (even via a macro).
6526
6527 2011-12-30  Jim Meyering  <meyering@redhat.com>
6528
6529         gitlog-to-changelog: remove a little duplication
6530         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6531         rather than twice.
6532
6533 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6534
6535         canonicalize: add support for not resolving symlinks
6536         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6537         indicate we don't want to follow symlinks.  Also
6538         provide CAN_MODE_MASK to aid setting these existing
6539         mutually exclusive values.
6540         * lib/canonicalize.c (canonicalize_filename_mode):
6541         Extract the flags from can_mode parameter, which
6542         are currently just used to select between stat()
6543         and lstat().  Also ensure that mutually exclusive
6544         values are flagged immediately as invalid.
6545         * tests/test-canonicalize.c: Verify symlinks are
6546         not followed, and that invalid flag combinations
6547         are diagnosed.
6548
6549 2011-12-25  Jim Meyering  <meyering@redhat.com>
6550
6551         gitlog-to-changelog: do not clump multi-paragraph entries
6552         Identical header lines (date,name,email+coauthors) are suppressed,
6553         thus putting all entries with those same characteristics under
6554         a single header.  However, when a log entry consists of two or
6555         more paragraphs, it may not be clear where it starts and ends.
6556         This change makes it so that such an entry is always separated
6557         from others by a header line, even when that header would
6558         otherwise be suppressed.
6559         * build-aux/gitlog-to-changelog: Implement the above.
6560         Inspired by a related request from Stefano Lattarini in
6561         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6562
6563 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6564
6565         announce-gen: fix `cmd' typo in diagnostic
6566         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6567         diagnostic: a missing '$' meant that the command was not output.
6568
6569 2011-12-23  Jim Meyering  <meyering@redhat.com>
6570
6571         test-framework-sh: distribute init.sh
6572         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6573         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6574         fail due to the lack of init.sh.
6575
6576         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6577         * modules/atexit-tests: Rather than listing tests/init.sh,
6578         now that there's a module for it, simply depend on that new module.
6579         * modules/closein-tests: Likewise.
6580         * modules/exclude-tests: Likewise.
6581         * modules/getcwd-tests: Likewise.
6582         * modules/perror-tests: Likewise.
6583         * modules/pread-tests: Likewise.
6584         * modules/pwrite-tests: Likewise.
6585         * modules/vc-list-files-tests: Likewise.
6586         * modules/verify-tests: Likewise.
6587         * modules/xalloc-die-tests: Likewise.
6588         * modules/xstrtoimax-tests: Likewise.
6589         * modules/xstrtol-tests: Likewise.
6590         * modules/xstrtoll-tests: Likewise.
6591         * modules/xstrtoumax-tests: Likewise.
6592         * modules/yesno-tests: Likewise.
6593
6594 2011-12-22  Jim Meyering  <meyering@redhat.com>
6595
6596         test-framework-sh: add minimal tests of init.sh's compare function
6597         * modules/test-framework-sh-tests: New file.
6598         * tests/test-init.sh: New file.
6599
6600         test-framework-sh: new module
6601         * modules/test-framework-sh: New file.
6602         * MODULES.html.sh (Support for maintaining and releasing projects):
6603         List it.
6604
6605         init.sh: do not emit simulated diff output to stderr
6606         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6607
6608 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6609
6610         .gitignore: ignore gnulib.dvi and regex.info
6611         * doc/.gitignore:add gnulib.dvi and regex.info
6612
6613 2011-12-22  Jim Meyering  <meyering@redhat.com>
6614
6615         init.sh: correct previous change
6616         * tests/init.sh (compare): My previous change was wrong.
6617         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6618
6619         init.sh: avoid unwarranted test failure when using "set -e"
6620         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6621         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6622         a use like "compare exp out" would get evoke an unconditional failure.
6623
6624 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6625
6626         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6627         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6628         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6629         autoreconf that did not.
6630         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6631         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6632
6633 2011-12-17  Jim Meyering  <meyering@redhat.com>
6634
6635         bootstrap: remove some now-unneeded code
6636         This script arose back when gnulib-tool was young.
6637         Since then, it has seen improvements that render much of this
6638         script unnecessary.  In particular, it can now make symlinks
6639         to the files it uses.  Also, I no longer see as much value in
6640         marking files as read-only via comments.
6641         If you relied on the symlink-creation feature of the preceding
6642         version of this script, you can get most of that functionality
6643         by adding the --symlink option to the definition of
6644         gnulib_tool_option_extras in your bootstrap.conf file.
6645         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6646         Run autopoint and libtoolize *before* gnulib-tool.
6647         After it, run an abbreviated autoreconf, rather than a loop around
6648         all tools.
6649         (slirp, bt_mark_as_generated): Remove functions.
6650
6651 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6652
6653         ftoastr: fix typo
6654         * lib/ftoastr.h: Fix misspelling in comment.
6655
6656 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6657
6658         * top/README-release: fix punctuation.
6659
6660 2011-12-17  Jim Meyering  <meyering@redhat.com>
6661
6662         bootstrap: correct the recent buildreq change
6663         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
6664         had no effect.
6665         * build-aux/bootstrap (buildreq): Bracket each search term with
6666         "*...*", so that the shell "case" statement works as intended.
6667         Add comments.
6668
6669 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
6670
6671         build: let bootstrap resort to wget when downloading .po files
6672         * build-aux/bootstrap (download_po_files): Fallback to wget when
6673         downloading the .po files via rsync fails.  This is necessary to
6674         bootstrap from behind a strict firewall.
6675
6676 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6677
6678         stdint: don't assume C++11 when compiling with g++
6679         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
6680         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
6681         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
6682         work also in C++ before C++11, as that improperly inhibits
6683         generating a substitute stdint.h for that case.
6684
6685 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6686
6687         alloca: protect comment from gnulib-tool
6688         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6689         that gnulib-tool doesn't think it's a license, and munge it to
6690         say "GCC version 3".
6691
6692 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6693
6694         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6695         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6696         $(abs_top_builddir) instead of $(top_builddir).
6697
6698 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6699
6700         strftime-tests: also test nanoseconds
6701         * tests/test-strftime.c (T): Add a test of %N.
6702
6703 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6704
6705         inttypes, stdint: add C++11 support
6706         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6707         when including inttypes.h and stdint.h.  Support this change to
6708         the standard.
6709         * doc/posix-headers/inttypes.texi (inttypes.h):
6710         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6711         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6712         Define if not defined already, for the benefit of pre-C++11 hosts.
6713         Define the standard format macros (e.g., PRId8) always.
6714         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6715         Likewise, if __cpluspus.  Define the standard constant and limit
6716         macros (e.g., INT8_C, INT8_MAX) always.
6717         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6718         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6719         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6720         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6721         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6722         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6723         Likewise.
6724
6725 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6726
6727         nonblocking tests: Fix test failure on Linux/PPC.
6728         Suggested by Prerna Saxena in
6729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6730         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6731         Set to 1100000.
6732
6733 2011-12-12  Jim Meyering  <meyering@redhat.com>
6734
6735         argmatch: don't hard-code `' when listing valid option arguments
6736         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6737         use the quote function to add quotes.  Use fputs rather than
6738         fprintf for the format string with no format directive.
6739
6740 2011-12-07  Eric Blake  <eblake@redhat.com>
6741
6742         bootstrap: detect tools required by gnulib-tool
6743         * build-aux/bootstrap (buildreq): Provide minimum implicit
6744         dependencies.
6745         * DEPENDENCIES: Mention patch as a prereq.
6746
6747 2011-12-04  Bruno Haible  <bruno@clisp.org>
6748
6749         sethostname: Port to Windows platforms.
6750         * lib/sethostname.c: Provide an alternate implementation for Windows
6751         platforms.
6752         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6753         (main): Skip the test if sethostname() fails with EPERM. On Windows
6754         platforms, don't check the result of gethostname().
6755
6756 2011-12-04  Bruno Haible  <bruno@clisp.org>
6757             Jim Meyering  <meyering@redhat.com>
6758
6759         tests: Avoid spurious error message on platforms without mktemp program.
6760         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6761
6762 2011-12-04  Bruno Haible  <bruno@clisp.org>
6763
6764         sethostname: Fix documentation.
6765         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6766         "not fixed" section.
6767
6768 2011-12-03  Bruno Haible  <bruno@clisp.org>
6769
6770         gnulib-tool: Verify that the License field is present and non-empty.
6771         * gnulib-tool (func_get_license_raw): New function, extracted from
6772         func_get_license.
6773         (func_get_license): Use it. Warn if the module is not a test module and
6774         has no license.
6775         Suggested by Jim Meyering.
6776
6777 2011-12-03  Bruno Haible  <bruno@clisp.org>
6778
6779         sethostname tests: Fix link error on mingw.
6780         * tests/test-sethostname1.c: New file, extracted from
6781         tests/test-sethostname.c.
6782         * tests/test-sethostname2.c: New file, extracted from
6783         tests/test-sethostname.c.
6784         * tests/test-sethostname.c: Remove file.
6785         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6786         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6787         (Depends-on): Add gethostname.
6788         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6789         Link the latter with $(GETHOSTNAME_LIB).
6790
6791         sethostname tests: Fix compilation error on mingw.
6792         * tests/test-sethostname.c: Don't include <sys/types.h>.
6793         (geteuid): Use a dummy value without uid_t.
6794         * modules/sethostname-tests (Depends-on): Remove sys_types.
6795
6796         sethostname tests: Avoid a gcc warning.
6797         * tests/test-sethostname.c (main): Remove an unused variable.
6798
6799         Tweak last commit.
6800         * modules/sethostname-tests (Files): Sort by decreasing importance.
6801         (configure.ac): Check for geteuid.
6802         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6803         the test when there's nothing to test. Drop an unnecessary cast.
6804         Improve an error message. Verify that the final sethostname() call
6805         succeeds.
6806
6807 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6808
6809         Add a test suite for the sethostname module.
6810         * modules/sethostname-tests: New file.  A test program
6811         for the sethostname module.
6812         * tests/test-sethostname.c: Likewise.
6813
6814 2011-12-03  Bruno Haible  <bruno@clisp.org>
6815
6816         Tweak last commit.
6817         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6818         Fix preprocessor directives indentation. Fix typos.
6819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6820         * modules/unistd (Makefile): Likewise.
6821
6822 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6823
6824         Integrate the sethostname module into unistd.
6825         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6826         into the unistd.h header.
6827         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6828         preprocessor directives.
6829         * modules/unistd: Setup the Makefile substitutions of the
6830         SETHOSTNAME preprocessor directives.
6831
6832 2011-12-03  Bruno Haible  <bruno@clisp.org>
6833
6834         Tweak last commit.
6835         * lib/sethostname.c: Don't include <string.h>.
6836         (sethostname): No need to copy the argument string to the stack. Don't
6837         call clearerr. Preserve errno when fprintf failed.
6838         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6839         Don't invoke AC_REPLACE_FUNCS.
6840         * modules/sethostname (Link): Remove empty section.
6841         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6842         failure problem.
6843
6844 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6845
6846         New module 'sethostname'.
6847         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6848         for systems that lack it.
6849         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6850         sethostname declaration and function.
6851         * modules/sethostname: New file.  Define the sethostname module.
6852
6853 2011-12-03  Bruno Haible  <bruno@clisp.org>
6854
6855         Tweak last commit.
6856         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6857
6858 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6859
6860         Split the HOST_NAME_MAX detection into a separate m4 macro.
6861         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6862         macro so it can be used by the pending sethostname module.
6863
6864 2011-12-03  Bruno Haible  <bruno@clisp.org>
6865
6866         Fix module descriptions syntax.
6867         * modules/argv-iter (License): Fix syntax.
6868         * modules/di-set (License): Likewise.
6869         * modules/ino-map (License): Likewise.
6870         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6871
6872 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6873
6874         stdalign: port to Clang 3.0
6875         Problem reported by Simon Josefsson in
6876         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6877         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6878         which has <stdalign.h> but which does not define alignof.
6879         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6880
6881 2011-12-01  Eric Blake  <eblake@redhat.com>
6882
6883         mktempd: silence dd usage
6884         * build-aux/mktempd (rand_bytes): Silence dd.
6885
6886 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6887
6888         manywarnings: Don't mention gcc version in docstring.
6889         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6890         Jim Meyering <meyering@redhat.com>.
6891
6892 2011-11-30  Jim Meyering  <meyering@redhat.com>
6893
6894         hash: mark a few floating point constants with "f" suffix
6895         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6896         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6897         floating point constants with "f", since they're destined to be
6898         saved/used as "float"s.
6899
6900 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6901
6902         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6903         * tests/test-float.c (test_long_double): Correct and re-enable the
6904         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6905
6906 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6907
6908         Avoid subtracting two pointers that don't point into the same block.
6909         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6910         only pointers into the same memory block are subtracted. We cannot
6911         assume that sizeof (ptrdiff_t) == sizeof (void *).
6912
6913 2011-11-29  Eric Blake  <eblake@redhat.com>
6914
6915         maint.mk: add syntax check for use of compare from init.sh
6916         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6917         moved here from coreutils.
6918
6919         manywarnings: drop -Wunsuffixed-float-constants
6920         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6921         '1.0D', which is the only way to silence this warning for 'double'.
6922
6923 2011-11-29  Jim Meyering  <meyering@redhat.com>
6924
6925         hash: mark compute_bucket_size with the pure attribute
6926         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6927
6928         quotearg, propername: correct pragma guard expression
6929         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6930         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6931
6932 2011-11-28  Jim Meyering  <meyering@redhat.com>
6933
6934         propername: do not mark proper_name with the const attribute
6935         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6936         since it examines data pointed to by its parameter.
6937         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6938         the suggestion from -Wsuggest-attribute=const.
6939
6940         propername: mark one more function as const
6941         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6942
6943 2011-11-27  Jim Meyering  <meyering@redhat.com>
6944
6945         mark functions with const and pure attributes
6946
6947         Mark functions per suggestions from gcc-4.6 when using these options:
6948         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6949         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6950         Follow these guidelines: when possible, apply the attribute to
6951         an extern declaration, not to its definition.  Apply it to the
6952         definition only when the definition is static.
6953         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6954         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6955         * lib/base64.h (isbase64): Likewise.
6956         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6957         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6958         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6959         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6960         (c_tolower, c_toupper): Likewise.
6961         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6962         * lib/chdir-long.c (find_non_slash): Likewise.
6963         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6964         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6965         * lib/file-type.h (file_type): Likewise.
6966         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6967         * lib/filevercmp.c (verrevcmp): Likewise.
6968         * lib/freadahead.h (freadahead): Likewise.
6969         * lib/fts.c (fts_maxarglen): Likewise.
6970         * lib/hash-pjw.h (hash_pjw): Likewise.
6971         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6972         * lib/hash.c (is_prime, next_prime): Likewise.
6973         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6974         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6975         (hash_table_ok, hash_get_first, hash_string): Likewise.
6976         (compute_bucket_size): Likewise.
6977         * lib/i-ring.h (i_ring_empty): Likewise.
6978         * lib/isnan.c (isnanl): Likewise.
6979         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6980         * lib/memcasecmp.h (memcasecmp): Likewise.
6981         * lib/memchr2.h (memchr2): Likewise.
6982         * lib/memcmp2.h (memcmp2): Likewise.
6983         * lib/parse-datetime.y (lookup_zone): Likewise.
6984         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6985         [!WINDOWS_SOCKETS]: Likewise.
6986         * lib/strnlen1.h (strnlen1): Likewise.
6987         * lib/uniwidth.in.h (uc_width): Likewise.
6988         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6989         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6990         (quoting_options_from_style): Add a comment.
6991         * lib/propername.h (proper_name): Add a comment.
6992
6993 2011-11-27  Bruno Haible  <bruno@clisp.org>
6994
6995         Remove unused macros from !_LIBC code in glibc-borrowed files.
6996         * lib/fnmatch.c (STRCOLL): Remove macro.
6997         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
6998         * lib/glob.c (__stat, __readdir64): Remove macros.
6999         * lib/tempname.c (__open64, __xstat64): Remove macros.
7000         Suggested by Paul Eggert.
7001
7002 2011-11-27  Bruno Haible  <bruno@clisp.org>
7003
7004         getcwd: Fix link error on MSVC 9.
7005         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7006
7007 2011-11-27  Bruno Haible  <bruno@clisp.org>
7008
7009         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7010         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7011         HAVE_OPENDIR is 0.
7012         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7013         HAVE_CLOSEDIR is 0.
7014         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7015         is 0.
7016         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7017
7018 2011-11-27  Bruno Haible  <bruno@clisp.org>
7019
7020         getcwd: Fix bug from 2011-08-17.
7021         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7022         platforms that need it.
7023         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7024         code of 4 to be a failure, not a success. This ensures that
7025         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7026
7027 2011-11-27  Bruno Haible  <bruno@clisp.org>
7028
7029         binary-io tests: Avoid test failure on mingw when libtool is used.
7030         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7031         Don't verify the size of t-bin-out1.tmp here.
7032         * tests/test-binary-io.sh: Verify it here.
7033         Reported by Simon Josefsson.
7034
7035 2011-11-26  Bruno Haible  <bruno@clisp.org>
7036
7037         Fix conflict between two instantiations of module 'unistd'.
7038         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7039         ${include_guard_prefix} also in the autoconf snippet.
7040         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7042         GNULIB_UNISTD_H_GETOPT.
7043         * modules/getopt-posix (configure.ac): Set the
7044         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7045         * modules/getopt-gnu (configure.ac): Likewise.
7046         * modules/unistd (Makefile.am): Change the substitution value of
7047         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7048         Reported by Simon Josefsson.
7049
7050 2011-11-25  Bruno Haible  <bruno@clisp.org>
7051
7052         pagealign_alloc: Doc and comments.
7053         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7054         module.
7055         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7056
7057 2011-11-25  Jim Meyering  <meyering@redhat.com>
7058
7059         test-update-copyright.sh: avoid false-positive failure
7060         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7061         around false positive failure on Cygwin/Windows.  The latter was
7062         matching erroneously-created files with names like
7063         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7064
7065 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7066
7067         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7068         * m4/valgrind-tests.m4: Check that the parameters that will be
7069         used works, not just a subset of them.  Reported by Bruno Haible
7070         <bruno@clisp.org>.
7071
7072 2011-11-24  Jim Meyering  <meyering@redhat.com>
7073
7074         test-stdalign.c: comment out long double tests
7075         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7076         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7077         error: '_Alignas' specifiers cannot reduce alignment of \
7078         'static_longdouble_alignas'.
7079
7080 2011-11-22  Jim Meyering  <meyering@redhat.com>
7081
7082         init.sh: make "compare /dev/null FILE" output more readable
7083         * tests/init.sh (compare_): Document the preferred order of arguments.
7084         (emit_diff_u_header_): New function.
7085         (compare_dev_null_): Emit a simulated diff, rather than just the
7086         contents of the unexpected file.  Suggestion from Bruno Haible.
7087
7088 2011-11-21  Jim Meyering  <meyering@redhat.com>
7089             Eric Blake  <eblake@redhat.com>
7090
7091         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7092         * tests/init.sh: Make our compare function slightly more portable.
7093         Reported by Bruno Haible in
7094         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7095
7096 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7097
7098         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7099         before using it, in code that ends up in config.h.
7100
7101 2011-11-20  Bruno Haible  <bruno@clisp.org>
7102
7103         getcwd: Work around getcwd bug on AIX 5..7.
7104         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7105         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7106         Use a different value for gl_cv_func_getcwd_path_max. Move the
7107         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7108         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7109         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7110         Define HAVE_MINIMALLY_WORKING_GETCWD.
7111         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7112         where it is not even minimally working, that is, on AIX.
7113         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7114         m4/getcwd-path-max.m4.
7115         (main): Update exit code computation.
7116         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7117         getcwd does not handle long file names.
7118
7119 2011-11-20  Bruno Haible  <bruno@clisp.org>
7120
7121         getcwd: Fix bug from 2009-09-10.
7122         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7123         like "no".
7124
7125 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7126
7127         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7128
7129 2011-11-20  Bruno Haible  <bruno@clisp.org>
7130
7131         fma tests: Avoid shadowing local variables.
7132         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7133         expected.
7134
7135 2011-11-20  Bruno Haible  <bruno@clisp.org>
7136
7137         copysignf tests: Fix.
7138         * tests/test-copysignf.c: Fix signature check.
7139
7140 2011-11-20  Bruno Haible  <bruno@clisp.org>
7141
7142         fma: Remove unused code.
7143         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7144         unused macros.
7145
7146 2011-11-20  Bruno Haible  <bruno@clisp.org>
7147
7148         sethostname: Fix doc about AIX.
7149         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7150         sethostname; it has it.
7151
7152         sethostname: Mention more portability problems.
7153         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7154         problem.
7155         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7156
7157 2011-11-19  Bruno Haible  <bruno@clisp.org>
7158
7159         Depend on module fcntl-h when AT_FDCWD is used.
7160         * modules/utimens (Depends-on): Add fcntl-h.
7161         * modules/areadlinkat (Depends-on): Likewise.
7162         * modules/areadlinkat-with-size (Depends-on): Likewise.
7163         * modules/faccessat (Depends-on): Likewise.
7164         * modules/fchmodat (Depends-on): Likewise.
7165         * modules/fchownat (Depends-on): Likewise.
7166         * modules/getcwd (Depends-on): Likewise.
7167         * modules/mkdirat (Depends-on): Likewise.
7168         * modules/mkfifoat (Depends-on): Likewise.
7169         * modules/readlinkat (Depends-on): Likewise.
7170         * modules/symlinkat (Depends-on): Likewise.
7171         * modules/dup2-tests (Depends-on): Likewise.
7172         * modules/fdutimensat-tests (Depends-on): Likewise.
7173         * modules/futimens-tests (Depends-on): Likewise.
7174
7175 2011-11-19  Bruno Haible  <bruno@clisp.org>
7176
7177         euidaccess: Update a comment.
7178         * lib/euidaccess.c: Update comment about platforms with faccessat.
7179
7180 2011-11-19  Bruno Haible  <bruno@clisp.org>
7181
7182         openat: Fix file list.
7183         * modules/openat (Files): Remove lib/at-func.c.
7184
7185 2011-11-19  Bruno Haible  <bruno@clisp.org>
7186
7187         fstatat: Simplify.
7188         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7189         gnulib should define rpl_fstatat, there is a
7190         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7191
7192 2011-11-19  Bruno Haible  <bruno@clisp.org>
7193
7194         Ensure 'inline' can be used in tests/test-utimens-common.h.
7195         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7196         * modules/futimens-tests (configure.ac): Likewise.
7197         * modules/utimens-tests (configure.ac): Likewise.
7198         * modules/utimensat-tests (configure.ac): Likewise.
7199
7200 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7201
7202         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7203         not hash_insert0.
7204         (hash_insert_if_absent): Doc fix.
7205
7206 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7207
7208         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7209
7210 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7211
7212         test-getcwd: disambiguate exit status
7213         * tests/test-getcwd.c (test_long_name): Return 0..7.
7214         (main): Exit with an unambiguous exit status.  The old
7215         code yielded a mysterious mixture of two failure codes.
7216
7217         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7218         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7219         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7220         rpl_fstatat or fstatat.  This should fix the other problem
7221         reported by Kai Habel in
7222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7223         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7225         and I reproduced it on a Solaris 8 host we still have in production.
7226
7227 2011-11-18  Jim Meyering  <meyering@redhat.com>
7228
7229         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7230         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7231         Add a sentence to the comment.
7232         (hash_insert0): New function that simply calls hash_insert_if_absent.
7233         * lib/hash.h (hash_insert_if_absent): Declare it.
7234         (hash_insert0): Add deprecation attribute.
7235         (_GL_ATTRIBUTE_DEPRECATED): Define.
7236         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7237         not hash_insert0.
7238         * NEWS: Mention it, even though it's not really an incompatible change.
7239
7240 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7241
7242         openat: avoid compilation failure due to lack of <errno.h> inclusion
7243         * lib/openat.c: Include <errno.h>.
7244
7245 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7246
7247         * modules/getcwd (Depends-on): Add fdopendir.
7248         This fixes one of the two problems reported by Kai Habel in
7249         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7250
7251         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7252         stdalign problem reported by Ian Beckwith in
7253         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7254         * modules/crypto/gc-arcfour (Depends-on):
7255         Depend conditionally on crypto/arcfour.
7256         * modules/crypto/gc-arctwo (Depends-on):
7257         Depend conditionally on crypto/arctwo.
7258         * modules/crypto/gc-des (Depends-on):
7259         Depend conditionally on crypto/des.
7260         * modules/crypto/gc-hmac-md5 (Depends-on):
7261         Depend conditionally on crypto/hmac-md5.
7262         * modules/crypto/gc-hmac-sha1 (Depends-on):
7263         Depend conditionally on crypto/hmac-sha1.
7264         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7265         * modules/crypto/gc-md4 (Depends-on):
7266         Depend conditionally on crypto/md4.
7267         * modules/crypto/gc-md5 (Depends-on):
7268         Depend conditionally on crypto/md5.
7269         * modules/crypto/gc-rijndael (Depends-on):
7270         Depend conditionally on crypto/rijndael.
7271         * modules/crypto/gc-sha1 (Depends-on):
7272         Depend conditionally on crypto/sha1.
7273         * modules/crypto/gc-arcfour:
7274         * modules/crypto/gc-arctwo:
7275         * modules/crypto/gc-des:
7276         * modules/crypto/gc-hmac-md5:
7277         * modules/crypto/gc-hmac-sha1:
7278         * modules/crypto/gc-md2:
7279         * modules/crypto/gc-md4:
7280         * modules/crypto/gc-md5:
7281         * modules/crypto/gc-rijndael:
7282         * modules/crypto/gc-sha1:
7283         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7284         now that the conditional dependencies do the work for us.
7285
7286 2011-11-17  Jim Meyering  <meyering@redhat.com>
7287
7288         tests: factor st_ctime-comparison out of two headers
7289         * tests/test-utimens-common.h (ctime_compare): Define.
7290         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7291         * tests/test-lutimens.h (test_lutimens): Likewise.
7292         * tests/test-utimens.h (test_utimens): Likewise.
7293
7294         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7295         Invoke the test program via an init.sh-using wrapper.
7296         * tests/test-getcwd.sh: New file.
7297         * modules/getcwd-tests (Files): Add it.
7298         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7299
7300 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7301
7302         gitlog-to-changelog: support multi-author commits.
7303         The FSF cares about keeping track of all authors of patches to its
7304         projects, but Git doesn't provide obvious support for multi-author
7305         changesets. Consensus seems to be forming around the use of extra
7306         Signed-off-by inspired lines in the log message formatted as
7307         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7308         multi-author commits between version control systems.
7309         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7310         log message and output in standard ChangeLog multi-author format.
7311         Reported by Peter Rosin <peda@lysator.liu.se>
7312
7313 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7314             Bruno Haible  <bruno@clisp.org>
7315
7316         Fix some modules' file list.
7317         * modules/fstatat (Files): Add m4/lstat.m4.
7318         * modules/openat (Files): Likewise.
7319         * modules/unlinkat (Files): Likewise.
7320
7321 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7322
7323         maint.mk: fix tight-scope.mk generation in VPATH builds.
7324         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7325         reference with $(srcdir) so that the file is found correctly even
7326         when running `make syntax-check' in a VPATH build.
7327
7328 2011-11-13  Bruno Haible  <bruno@clisp.org>
7329             Jim Meyering  <meyering@redhat.com>
7330
7331         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7332         * tests/init.sh (compare): Remove "No differences encountered" or
7333         synonymous output from the 'diff' program.
7334
7335 2011-11-13  Bruno Haible  <bruno@clisp.org>
7336
7337         Makefile: Tweak indentation.
7338         * Makefile: Use tab as first character in every line that contains rule
7339         commands.
7340
7341 2011-11-13  Bruno Haible  <bruno@clisp.org>
7342
7343         Syntax check for copyright statements.
7344         * check-copyright: New file.
7345         * Makefile (sc_check_copyright): New rule.
7346
7347 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7348
7349         * build-aux/git-version-gen: Add --prefix to configure the tag
7350         match string.
7351
7352 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7353
7354         * build-aux/git-version-gen: Add --help and --version.
7355
7356 2011-11-12  Jim Meyering  <meyering@redhat.com>
7357
7358         revamp the other test-exclude?.sh scripts to use init.sh, too
7359         * tests/test-exclude1.sh: Use init.sh.
7360         * tests/test-exclude2.sh: Likewise.
7361         * tests/test-exclude3.sh: Likewise.
7362         * tests/test-exclude4.sh: Likewise.
7363         * tests/test-exclude5.sh: Likewise.
7364         * tests/test-exclude6.sh: Likewise.
7365         * tests/test-exclude7.sh: Likewise.
7366         * tests/test-exclude8.sh: Likewise.
7367         * modules/exclude-tests (Files): List init.sh.
7368
7369         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7370         These shell scripts ignored failure of the binary test-exclude,
7371         so making the latter return 77 didn't cause them to be skipped.
7372         * tests/test-exclude5.sh: Exit with test-exclude's error status
7373         when that program fails.  Revamp to use init.sh.
7374         * tests/test-exclude2.sh: Likewise.
7375
7376         test-exclude: fix a typo
7377         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7378
7379 2011-11-11  Bruno Haible  <bruno@clisp.org>
7380
7381         obstack: Fix compilation error on MSVC 9.
7382         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7383
7384 2011-11-11  Jim Meyering  <meyering@redhat.com>
7385
7386         test-exclude: skip tests rather than failing on deficient systems
7387         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7388         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7389         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7390         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7391
7392 2011-11-10  Bruno Haible  <bruno@clisp.org>
7393
7394         ptsname_r test: Avoid gcc warning on glibc systems.
7395         * tests/test-ptsname_r.c (null_ptr): New function.
7396         (test_errors): Use it.
7397
7398 2011-11-10  Bruno Haible  <bruno@clisp.org>
7399
7400         ptsname_r: Avoid compilation error on OSF/1 5.1.
7401         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7403         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7404         function is not declared or incompatibly declared.
7405         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7406         * modules/ptsname_r (Depends-on, configure.ac): Update.
7407         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7408
7409 2011-11-10  Bruno Haible  <bruno@clisp.org>
7410
7411         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7412         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7413         When cross-compiling, guess yes on all platforms except AIX.
7414         Reported by Ludovic Courtès <ludo@gnu.org>.
7415
7416 2011-11-09  Bruno Haible  <bruno@clisp.org>
7417
7418         ptsname_r tests: Fix bugs.
7419         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7420         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7421
7422 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7423
7424         fstatat: work with cross-compilation
7425         Problem reported by Ludovic Courtès in
7426         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7427         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7428         "cross-compiling" and assume the bug is present.  Replace
7429         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7430         an inverted sense, to be more conservative about our assumptions.
7431         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7432
7433 2011-11-09  Bruno Haible  <bruno@clisp.org>
7434
7435         Improve MODULES.html output.
7436         * modules/mkfifoat (Description): Use the word "function".
7437         * modules/readlinkat (Description): Likewise.
7438         * modules/symlinkat (Description): Likewise.
7439
7440 2011-11-09  Eric Blake  <eblake@redhat.com>
7441
7442         ptsname_r-tests: new test module
7443         * modules/ptsname_r-tests: New module.
7444         * tests/test-ptsname_r.c: New file.
7445
7446         ptsname_r: new module
7447         * modules/ptsname_r: New module.
7448         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7449         * lib/ptsname.c (__ptsname_r): Split...
7450         * lib/ptsname_r.c: ...into new file.
7451         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7452         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7453         * modules/stdlib (Makefile.am): Substitute witnesses.
7454         * lib/stdlib.in.h (ptsname_r): Declare it.
7455         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7456         * MODULES.html.sh (Misc): Likewise.
7457         * modules/ptsname (Depends-on): Alter dependency.
7458         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7459
7460 2011-11-09  Jim Meyering  <meyering@redhat.com>
7461
7462         announce-gen: be more concise when there's only one URL+tarball
7463         * build-aux/announce-gen (get_tool_versions): When you distribute
7464         only one type of tarball, combine the first two "Here are..."
7465         sections and make the key-checking grammar independent of
7466         how many tarballs there are.
7467
7468 2011-11-09  Eric Blake  <eblake@redhat.com>
7469
7470         openpty: provide a stub on mingw
7471         * lib/pty.in.h (includes): Provide forward declarations.
7472         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7473
7474         raise: fix mingw handling of SIGPIPE
7475         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7476
7477 2011-11-08  Bruno Haible  <bruno@clisp.org>
7478
7479         More conditional dependencies.
7480         * modules/faccessat (Depends-on): Add conditions.
7481         * modules/fchmodat (Depends-on): Likewise.
7482         * modules/fchownat (Depends-on): Likewise.
7483         * modules/fstatat (Depends-on): Likewise.
7484         * modules/mkfifoat (Depends-on): Likewise.
7485         * modules/readlinkat (Depends-on): Likewise.
7486         * modules/symlinkat (Depends-on): Likewise.
7487         * modules/unlinkat (Depends-on): Likewise.
7488         * modules/utimensat (Depends-on): Likewise.
7489         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7490         * modules/linkat (Depends-on): Refine the conditions.
7491         * modules/renameat (Depends-on): Likewise.
7492
7493 2011-11-08  Bruno Haible  <bruno@clisp.org>
7494
7495         faccessat: Move AC_LIBOBJ invocation to module description.
7496         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7497         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7498         invocation from here...
7499         * modules/faccessat (configure.ac): ... to here. Invoke
7500         gl_PREREQ_FACCESSAT.
7501
7502 2011-11-08  Bruno Haible  <bruno@clisp.org>
7503
7504         faccessat: Simplify autoconf macro.
7505         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7506         gl_FUNC_EUIDACCESS.
7507
7508 2011-11-08  Bruno Haible  <bruno@clisp.org>
7509
7510         renameat: Fix dependencies.
7511         * modules/renameat (Depends-on): Add stdbool.
7512
7513 2011-11-08  Bruno Haible  <bruno@clisp.org>
7514
7515         mkfifoat: Fix module description.
7516         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7517         not gl_UNISTD_MODULE_INDICATOR.
7518
7519 2011-11-08  Bruno Haible  <bruno@clisp.org>
7520
7521         fstatat: Remove unused dependency.
7522         * modules/fstatat (Depends-on): Remove fstat.
7523
7524 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7525
7526         GNUmakefile: behave when Makefile is missing.
7527         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7528
7529 2011-11-08  Bruno Haible  <bruno@clisp.org>
7530
7531         openat: Conditionalize dependencies.
7532         * lib/openat.c: Reduce the scope of some #includes.
7533         * modules/openat (Depends-on): Add conditions.
7534
7535 2011-11-07  Jim Meyering  <meyering@redhat.com>
7536
7537         maint.mk: extract GPG key ID without using a temporary file
7538         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7539         without using a temporary file.  Based on a suggestion from Werner Koch
7540         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7541
7542 2011-11-07  Eric Blake  <eblake@redhat.com>
7543
7544         grantpt: fix typo
7545         * lib/stdlib.in.h (grantpt): Check correct function.
7546
7547         maint.mk: silence new syntax check
7548         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7549
7550 2011-11-06  Bruno Haible  <bruno@clisp.org>
7551
7552         Doc about floating-point and math API.
7553         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7554         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7555
7556 2011-11-06  Bruno Haible  <bruno@clisp.org>
7557
7558         stdalign tests: Skip the test when compiled by Sun C.
7559         * tests/test-stdalign.c (main): Skip the test on Sun C.
7560
7561 2011-11-06  Bruno Haible  <bruno@clisp.org>
7562
7563         ansi-c++-opt: Complete the 2011-06-05 change.
7564         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7565         does not support namespaces, set the variable to "no", not to ":".
7566
7567 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7568
7569         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7570
7571 2011-11-06  Bruno Haible  <bruno@clisp.org>
7572
7573         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7574         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7575         (minus_zerol) [HP-UX]: New macro.
7576         (unary_minus) [HP-UX]: New function.
7577         (copysignl) [HP-UX]: Use unary_minus function.
7578
7579 2011-11-06  Bruno Haible  <bruno@clisp.org>
7580
7581         ldexp, ldexpf, ldexpl: Enhance tests.
7582         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7583         and tests/test-ldexpl.c.
7584         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7585         LDEXP, MIN_EXP, MAX_EXP): New macros.
7586         Include test-ldexp.h.
7587         (main): Just call test_function.
7588         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7589         infinity.h, nan.h.
7590         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7591         MAX_EXP): New macros.
7592         Include test-ldexp.h.
7593         (x, y): Remove variables.
7594         (main): Just call test_function.
7595         * tests/test-ldexpf.c: Include float.h, isnanf-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         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7603         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7604         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7605         (Depends-on): Add isnand-nolibm, signbit, float.
7606         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7607         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7608         (Depends-on): Add isnanf-nolibm, signbit, float.
7609
7610 2011-11-06  Bruno Haible  <bruno@clisp.org>
7611
7612         math tests: Cosmetics.
7613         * tests/test-math-c++.cc: Reorder declarations.
7614
7615 2011-11-05  Bruno Haible  <bruno@clisp.org>
7616
7617         fma*: Simplify test.
7618         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7619         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7620
7621         Tests for module 'fmal'.
7622         * modules/fmal-tests: New file.
7623         * tests/test-fmal1.c: New file.
7624         * tests/test-fmal2.c: New file.
7625
7626         New module 'fmal'.
7627         * lib/math.in.h (fmal): New declaration.
7628         * lib/fmal.c: New file.
7629         * m4/fmal.m4: New file.
7630         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7631         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7632         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7633         REPLACE_FMAL.
7634         * modules/fmal: New file.
7635         * doc/posix-functions/fmal.texi: Mention the new module and the various
7636         bugs.
7637
7638         Tests for module 'fmaf'.
7639         * modules/fmaf-tests: New file.
7640         * tests/test-fmaf1.c: New file.
7641         * tests/test-fmaf2.c: New file.
7642
7643         New module 'fmaf'.
7644         * lib/math.in.h (fmaf): New declaration.
7645         * lib/fmaf.c: New file.
7646         * m4/fmaf.m4: New file.
7647         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7649         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7650         REPLACE_FMAF.
7651         * modules/fmaf: New file.
7652         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7653         bugs.
7654
7655         Tests for module 'fma'.
7656         * modules/fma-tests: New file.
7657         * tests/test-fma1.c: New file.
7658         * tests/test-fma1.h: New file.
7659         * tests/test-fma2.c: New file.
7660         * tests/test-fma2.h: New file.
7661
7662         New module 'fma'.
7663         * lib/math.in.h (fma): New declaration.
7664         * lib/fma.c: New file.
7665         * m4/fma.m4: New file.
7666         * m4/fegetround.m4: New file.
7667         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
7668         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
7669         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
7670         REPLACE_FMA.
7671         * modules/fma: New file.
7672         * doc/posix-functions/fma.texi: Mention the new module and the various
7673         bugs.
7674
7675         Extend gl_MATHFUNC.
7676         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
7677         Support 'void' as argument type.
7678         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
7679
7680 2011-11-05  Jim Meyering  <meyering@redhat.com>
7681
7682         maint.mk: also prohibit inclusion of dirent.h without use
7683         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
7684
7685 2011-11-05  Bruno Haible  <bruno@clisp.org>
7686
7687         ldexpl tests: Avoid test failure on MSVC 9.
7688         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7689         value. Needed in order to enforce the conversion from a value greater
7690         than LDBL_MAX to Infinity.
7691
7692 2011-11-05  Bruno Haible  <bruno@clisp.org>
7693
7694         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7695         * modules/at-internal: New file, extracted from modules/openat.
7696         * modules/openat-h: New file.
7697         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7698         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7699         * modules/openat (Description): Add reference to POSIX function.
7700         (Files): Remove lib/openat.h, lib/openat-proc.c.
7701         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7702         intprops, unistd.
7703         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7704         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7705         gl_FCNTL_MODULE_INDICATOR.
7706         (Include): Remove unistd.h, openat.h.
7707         * modules/areadlinkat (Files): Add lib/at-func.c.
7708         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7709         openat-die, openat-h, save-cwd.
7710         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7711         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7712         openat-die, openat-h, save-cwd, unistd.
7713         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7714         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7715         openat-h, save-cwd. Remove fcntl-h, openat.
7716         * modules/fchmodat (Files): Remove lib/openat.h.
7717         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7718         openat, stdbool, unistd.
7719         * modules/fchownat (Files): Remove lib/openat.h.
7720         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7721         openat, stdbool, sys_stat.
7722         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7723         lib/openat-proc.c.
7724         (Depends-on): Add at-internal.
7725         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7726         * modules/fstatat (Files): Remove lib/openat.h.
7727         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7728         stdbool, unistd.
7729         * modules/fts (Depends-on): Add openat-h.
7730         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7731         openat.
7732         * modules/mkdirat (Files): Remove lib/openat.h.
7733         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7734         openat, stdbool, sys_stat.
7735         * modules/mkfifoat (Files): Add lib/at-func.c.
7736         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7737         openat-h, save-cwd. Remove fcntl-h, openat.
7738         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7739         * modules/readlinkat (Files): Add lib/at-func.c.
7740         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7741         openat-h, save-cwd. Remove fcntl-h, openat.
7742         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7743         openat.
7744         * modules/selinux-at (Files): Add lib/at-func.c.
7745         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7746         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7747         * modules/symlinkat (Files): Add lib/at-func.c.
7748         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7749         openat-h, save-cwd. Remove fcntl-h, openat.
7750         * modules/unlinkat (Files): Remove lib/openat.h.
7751         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7752         stdbool.
7753         * modules/utimensat (Files): Add lib/at-func.c.
7754         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7755         openat-die, openat-h, save-cwd.
7756         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7757         * modules/fdutimensat-tests (Depends-on): Add openat.
7758         * modules/fstatat-tests (Depends-on): Add openat-h.
7759         * modules/readlinkat-tests (Depends-on): Add openat.
7760         * modules/symlinkat-tests (Depends-on): Add openat.
7761
7762 2011-11-05  Bruno Haible  <bruno@clisp.org>
7763
7764         openat: Include <stdbool.h>.
7765         * lib/openat.c: Include <stdbool.h>.
7766
7767 2011-11-04  Bruno Haible  <bruno@clisp.org>
7768
7769         fchownat, renameat, unlinkat: Fix dependencies.
7770         * modules/fchownat (Depends-on): Add fstatat.
7771         * modules/renameat (Depends-on): Likewise.
7772         * modules/unlinkat (Depends-on): Likewise.
7773
7774 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7775
7776         openat: remove direct dependency on dirent
7777         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7778         and hasn't been needed ever since fdopendir was split into its own
7779         module on 2009-08-31.
7780         * modules/openat (Depends-on): Remove dirent.
7781
7782 2011-11-04  Bruno Haible  <bruno@clisp.org>
7783
7784         renameat: Optimize code size.
7785         * modules/renameat (configure.ac): Don't compile at-func2.c if
7786         REPLACE_RENAMEAT is 1.
7787
7788 2011-11-04  Bruno Haible  <bruno@clisp.org>
7789
7790         openat tests: Fix file list.
7791         * modules/openat-tests (Files): Add tests/test-open.h.
7792
7793 2011-11-04  Bruno Haible  <bruno@clisp.org>
7794
7795         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7796         * modules/fchmodat (Depends-on): Add openat-die.
7797         * modules/fchownat (Depends-on): Likewise.
7798         * modules/linkat (Depends-on): Likewise.
7799         * modules/renameat (Depends-on): Likewise.
7800         * modules/openat (Depends-on): Add dirent.
7801
7802 2011-11-04  Jim Meyering  <meyering@redhat.com>
7803
7804         at-func*.c: fix comments
7805         * lib/at-func2.c: Correct/improve first-line comment.
7806         * lib/at-func.c: Correct grammar in first-line comment.
7807
7808 2011-11-04  Bruno Haible  <bruno@clisp.org>
7809
7810         New module 'mkdirat', split off from module 'openat'.
7811         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7812         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7813         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7814         * modules/mkdirat: New file, extracted from modules/openat.
7815         * modules/openat (Files): Remove lib/mkdirat.c.
7816         (Depends-on): Remove mkdir.
7817         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7818         (Include): Remove <sys/stat.h>.
7819         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7820         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7821         tests/test-mkdir.h.
7822         (Depends-on): Remove ignore-value.
7823         (Makefile.am): Remove rules for test-mkdirat.
7824         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7825         of module 'openat'.
7826         * NEWS: Mention the change.
7827
7828 2011-11-04  Bruno Haible  <bruno@clisp.org>
7829
7830         closedir: Avoid warning on mingw.
7831         * lib/closedir.c: Include <unistd.h>.
7832
7833 2011-11-04  Bruno Haible  <bruno@clisp.org>
7834
7835         New module 'fstatat', split off from module 'openat'.
7836         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7837         defined.
7838         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7839         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7840         gl_FUNC_FSTATAT.
7841         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7842         * modules/fstatat: New file, extracted from modules/openat.
7843         * modules/openat (Files): Remove lib/fstatat.c.
7844         (Depends-on): Remove lstat.
7845         (configure.ac): Remove AC_LIBOBJ of fstatat.
7846         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7847         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7848         tests/test-lstat.h, tests/test-stat.h.
7849         (Depends-on): Remove getcwd-lgpl.
7850         (Makefile.am): Remove rules for test-fstatat.
7851         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7852         of module 'openat'.
7853         * NEWS: Mention the change.
7854         * modules/getcwd (Depends-on): Add fstatat.
7855         * modules/linkat (Depends-on): Likewise.
7856         * modules/mkfifoat-tests (Depends-on): Likewise.
7857         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7858
7859 2011-11-03  Bruno Haible  <bruno@clisp.org>
7860
7861         New module 'unlinkat', split off from module 'openat'.
7862         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7863         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7864         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7865         * modules/unlinkat: New file, extracted from modules/openat. Correct
7866         the dependency conditions.
7867         * modules/openat (Files): Remove lib/unlinkat.c.
7868         (Depends-on): Remove rmdir, unlink.
7869         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7870         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7871         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7872         tests/test-rmdir.h, tests/test-unlink.h.
7873         (Depends-on): Remove unlinkdir.
7874         (Makefile.am): Remove rules for test-unlinkat.
7875         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7876         of module 'openat'.
7877         * NEWS: Mention the change.
7878         * modules/linkat-tests (Depends-on): Add unlinkat.
7879         * modules/mkfifoat-tests (Depends-on): Likewise.
7880         * modules/readlinkat-tests (Depends-on): Likewise.
7881
7882 2011-11-02  Bruno Haible  <bruno@clisp.org>
7883
7884         New module 'fchmodat', split off from module 'openat'.
7885         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7886         defined.
7887         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7888         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7889         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7890         * modules/fchmodat: New file, extracted from modules/openat.
7891         * modules/openat (Files): Remove lib/fchmodat.c.
7892         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7893         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7894         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7895         (Makefile.am): Remove rules for test-fchmodat.
7896         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7897         of module 'openat'.
7898         * NEWS: Mention the change.
7899
7900 2011-11-02  Jim Meyering  <meyering@redhat.com>
7901
7902         putenv: indent #definition of "environ" to placate cppi
7903         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7904
7905         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7906         Git logs are often treated as immutable, because editing them
7907         changes the SHA1 checksums of all descendants.  Thus, errors in
7908         git logs tend to stay there forever.  However, when we generate
7909         a ChangeLog file -- typically for distribution -- from that git log,
7910         we can actually make corrections in the generated file.  The key
7911         lies in recording in machine-readable/applicable form the desired
7912         corrections.  See --help for description and an example.
7913         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7914         (usage): Describe it; alphabetize option descriptions.
7915         (main): Honor the new option, carefully.
7916
7917 2011-11-01  Jim Meyering  <meyering@redhat.com>
7918
7919         gitlog-to-changelog: avoid an infloop
7920         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7921         that ends up being empty.
7922
7923 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7924
7925         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7926         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7927         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7928         contains (possibly-quoted) backslashes.  This should avoid
7929         all-too-common shell bugs if COMPLICATED contains backslashes in
7930         the "wrong" places.  Reported by David Evans in
7931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7932         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7933         because we want ASCII ranges.  Is there some reason we don't use
7934         the C locale everywhere in this script?
7935         (func_module, top level): Avoid unwanted pathname expansion when
7936         $repo_url_prefix or $repo_url_suffix_repl contain shell
7937         metacharacters like '?' and '*'.
7938
7939 2011-11-01  Bruno Haible  <bruno@clisp.org>
7940
7941         fchownat: Improve description.
7942         * modules/fchownat (Description): Add link to function.
7943
7944 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7945
7946         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7947         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7949         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7950
7951 2011-11-01  Bruno Haible  <bruno@clisp.org>
7952
7953         alignof: Avoid collision with stdalign module.
7954         * lib/alignof.h (alignof): Remove macro.
7955         * NEWS: Mention the change.
7956         Reported by Paul Eggert.
7957
7958 2011-11-01  Bruno Haible  <bruno@clisp.org>
7959
7960         New module 'fchownat', split off from module 'openat'.
7961         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7962         defined.
7963         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7964         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7965         invoke gl_FUNC_FCHOWNAT.
7966         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7967         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7968         * modules/fchownat: New file, extracted from modules/openat.
7969         * modules/openat (Files): Remove lib/fchownat.c.
7970         (Depends-on): Remove lchown.
7971         (configure.ac): Remove AC_LIBOBJ of fchownat.
7972         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7973         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7974         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7975         (Depends-on): Remove mgetgroups, usleep, stat-time.
7976         (configure.ac): Remove test for getegid.
7977         (Makefile.am): Remove rules for test-fchownat.
7978         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7979         of module 'openat'.
7980         * NEWS: Mention the change.
7981
7982 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7983
7984         stdalign: port better to MSVC and to Sun C 5.11
7985         This fixes some of the problems reported by Bruno Haible in
7986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7987         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7988         shortcomings of MSVC and of Sun C 5.11.
7989         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7990         around __declspec arg.
7991         * modules/stdalign-tests (Files): Add tests/macros.h.
7992         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
7993         Include macros.h, for ASSERT.
7994         (DECLARE_ALIGNED): Remove.
7995         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
7996         to catch bug), and to 1 if not (simplifies the rest of the code).
7997         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
7998         (CHECK_AUTO): Remove.
7999         (CHECK_ALIGNED): Check only the alignment of the static vars,
8000         since auto var alignment isn't supported by Sun C 5.11.
8001         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8002         ASSERT failures are easier to diagnose.
8003
8004 2011-10-31  Bruno Haible  <bruno@clisp.org>
8005
8006         doc about some IRIX 5.3 problems.
8007         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8008         on IRIX 5.3.
8009         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8010         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8011         5.3.
8012         * doc/posix-functions/grantpt.texi: Likewise.
8013         * doc/posix-functions/unlockpt.texi: Likewise.
8014         * doc/posix-functions/lgamma.texi: Likewise.
8015         * doc/posix-functions/nextafter.texi: Likewise.
8016         * doc/posix-functions/remainder.texi: Likewise.
8017         * doc/posix-functions/select.texi: Mention misplaced declaration on
8018         IRIX 5.3.
8019         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8020
8021 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8022
8023         gitlog-to-changelog: fix git-log invocation.
8024         git-log mishandles date strings before 1970-01-01 UTC, and there is
8025         no use to specify --since=1970-01-01 by default anyway.
8026         * build-aux/gitlog-to-changelog: By default, when no --since option
8027         was given, do not specify explicit --since option to git-log.
8028
8029 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8030
8031         gitlog-to-changelog: new option --append-dot.
8032         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8033         first non-blank line of each commit message terminated with a dot.
8034
8035 2011-10-30  Bruno Haible  <bruno@clisp.org>
8036
8037         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8038         * lib/ffsl.h: Include <config.h>.
8039         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8040
8041 2011-10-30  Jim Meyering  <meyering@redhat.com>
8042
8043         GNUmakefile: reenable "make syntax-check" for most projects
8044         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8045         build-aux variable", "syntax-check" would do nothing but succeed with
8046         the "No version control files detected..." diagnostic (unless you
8047         happened to override _build-aux via cfg.mk).
8048         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8049         to precede inclusion of maint.mk.  Otherwise, these variables would
8050         be used undefined in any project that does not override the default.
8051
8052 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8053
8054         gitlog-to-changelog: treat a message with only blank lines as empty.
8055         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8056         trailing blank lines before the code that issues a warning about an
8057         empty commit message.
8058
8059 2011-10-30  Jim Meyering  <meyering@redhat.com>
8060
8061         test-parse-datetime.c: avoid new DST-related false positive test failure
8062         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8063         based on the time/date we'll convert, not the current time.
8064         Otherwise, the moment we cross a DST boundary like today's in
8065         Europe, (CEST to CET), that offset ends up being one hour off.
8066
8067 2011-10-27  Bruno Haible  <bruno@clisp.org>
8068
8069         fstat: Tweak documentation.
8070         * modules/fstat (Description): More precise description.
8071
8072 2011-10-27  Bruno Haible  <bruno@clisp.org>
8073
8074         Update documentation regarding 'largefile' module.
8075         * doc/posix-functions/fstat.texi: Tweak wording.
8076         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8077         problems with huge directories and/or small ino_t types.
8078         * doc/posix-functions/readdir.texi: Likewise.
8079         * doc/posix-functions/rewinddir.texi: Likewise.
8080
8081 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8082
8083         maint.mk: don't maintain a second build-aux variable.
8084         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8085         depends on GNUmakefile, which already maintains a cfg.mk
8086         overridable $(_build-aux) for projects with a non-standard
8087         build-aux directory location, although without the $(srcdir)
8088         prefix.  Use that variable consistently instead of introducing a
8089         second one.  Adjust all call sites.
8090
8091 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8092
8093         Add stdalign module and use it in other modules.
8094         This is based on a previous proposal by Bruno Haible
8095         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8096
8097         stdalign: new module
8098         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8099         * modules/stdalign: New files.
8100         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8101         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8102
8103         stdalign-tests: new module
8104         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8105
8106         argp: use stdalign
8107         * lib/argp-parse.c: Include <stdalign.h>.
8108         (alignof): Remove.
8109         * modules/argp (Depends-on): Add stdalign.
8110
8111         crypto libraries: use stdalign
8112         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8113         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8114         Do not include <stdlib.h> twice, in md4.c.
8115         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8116         because we are accessing a pointer's bit-pattern, not a size.
8117         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8118         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8119         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8120         * modules/crypto/sha512: Likewise.
8121
8122         sys_socket: use stdalign, not alignof
8123         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8124         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8125
8126 2011-10-27  Bruno Haible  <bruno@clisp.org>
8127
8128         raise test: Avoid a test failure on Linux/MIPS.
8129         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8130         because 99 is a valid signal on Linux/MIPS.
8131
8132 2011-10-27  Bruno Haible  <bruno@clisp.org>
8133
8134         nonblocking tests: Fix test failure on Linux/MIPS.
8135         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8136         Set to 270000.
8137
8138 2011-10-27  Bruno Haible  <bruno@clisp.org>
8139
8140         utimensat: Work around problem on Linux/hppa.
8141         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8142         values.
8143         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8144
8145 2011-10-25  Jim Meyering  <meyering@redhat.com>
8146
8147         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8148         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8149         after symbols like NULL, size_t, etc.
8150         Reported by Alfred M. Szmidt.
8151
8152         maint.mk: exempt ENODATA from a syntax-check rule
8153         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8154         from the sc_prohibit_always-defined_macros syntax-check rule.
8155         Add a comment.  See this for more details:
8156         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8157
8158 2011-10-23  Jim Meyering  <meyering@redhat.com>
8159
8160         fts: close parent dir FD before returning from post-traversal fts_read
8161         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8162         unlink A, even though an FD open on A remained.  This is suboptimal
8163         (holding a file descriptor open longer than needed), but otherwise not
8164         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8165         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8166         that represents a real problem: it causes the removal of A to fail
8167         with e.g., "rm: cannot remove `A': Device or resource busy"
8168
8169         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8170         directory file descriptors.  After completing the final, FTS_DP,
8171         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8172         cache, but then proceeded to add a new FD to it via the subsequent
8173         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8174         final file descriptor would be closed only via fts_close's call to
8175         fd_ring_clear.  Now, it is usually closed earlier, via the final
8176         FTS_DP-returning fts_read call.
8177         * lib/fts.c (restore_initial_cwd): New function, converted from
8178         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8179         Update callers.
8180         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8181         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8182
8183 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8184             Bruno Haible  <bruno@clisp.org>
8185             Jim Meyering  <jim@meyering.net>
8186
8187         readme-release: improve safety of release prep instructions.
8188         * README-release: Don't git pull all branches when only master
8189         is needed for the release process.
8190         Run make maintainer-clean before changing trees and merging.
8191         Don't try to run ./configure right after git pull in case files
8192         that influence the bootstrap process have changed, move the
8193         ./configure step to after running ./bootstrap.
8194         Don't bootstrap "one last time"... it's the first time!
8195
8196 2011-10-22  Bruno Haible  <bruno@clisp.org>
8197
8198         errno, strerror-override: Support for MSVC 10.
8199         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8200         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8201         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8202         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8203         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8204         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8205         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8206         Assign values compatible with MSVC 10.
8207         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8208         New macros.
8209         (GNULIB_defined_EWINSOCK): New macro.
8210         * lib/strerror-override.c (strerror_override): Update accordingly.
8211         * lib/strerror-override.h: Likewise.
8212         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8213         longer equal to the corresponding errno value.
8214         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8215
8216 2011-10-22  Bruno Haible  <bruno@clisp.org>
8217
8218         perror: Recognize when test program crashes.
8219         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8220         strerror, set gl_cv_func_perror_works to no.
8221         Reported by Daniel Richard G. <skunk@iskunk.org>.
8222
8223         perror: Fix indentation.
8224         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8225
8226 2011-10-22  Bruno Haible  <bruno@clisp.org>
8227
8228         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8229         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8230         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8231         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8232         functions, not as a macro.
8233         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8234         macros.
8235         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8236         absence of macro.
8237         Suggested by Eric Blake.
8238         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8239
8240 2011-10-21  Bruno Haible  <bruno@clisp.org>
8241
8242         relocatable-prog-wrapper: Don't leave object files behind.
8243         * build-aux/install-reloc: Re-synchronize list of .o files to be
8244         removed with list of compilation units.
8245
8246 2011-10-20  Bruno Haible  <bruno@clisp.org>
8247
8248         openpty, posix_openpt: Remove code duplication.
8249         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8250         * lib/openpty.c: Include <stdlib.h>.
8251         (openpty): Use posix_openpt on all platforms except IRIX.
8252         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8253
8254 2011-10-20  Bruno Haible  <bruno@clisp.org>
8255
8256         unlockpt: Detect invalid argument.
8257         * lib/unlockpt.c: Include <fcntl.h>.
8258         (unlockpt): Check whether fd is valid, using fcntl().
8259         * modules/unlockpt (Depends-on): Add fcntl-h.
8260
8261 2011-10-20  Bruno Haible  <bruno@clisp.org>
8262
8263         openpty: Avoid compilation error on AIX 6.1.
8264         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8265
8266 2011-10-20  Bruno Haible  <bruno@clisp.org>
8267
8268         posix_openpt: Support for OpenBSD.
8269         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8270         (posix_openpt) [OpenBSD]: New code.
8271         * lib/grantpt.c: Include <fcntl.h>.
8272         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8273         * modules/grantpt (Depends-on): Add fcntl-h.
8274
8275 2011-10-20  Bruno Haible  <bruno@clisp.org>
8276
8277         posix_openpt test: Coding style.
8278         * tests/test-posix_openpt.c: Use GNU coding style.
8279
8280 2011-10-20  Bruno Haible  <bruno@clisp.org>
8281
8282         grantpt: Support --avoid=pt_chown.
8283         * modules/grantpt (Files): Add lib/pty-private.h.
8284
8285 2011-10-20  Bruno Haible  <bruno@clisp.org>
8286
8287         posix_openpt: Fix autoconf macro.
8288         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8289         unneeded check for _getpty.
8290
8291 2011-10-20  Bruno Haible  <bruno@clisp.org>
8292
8293         openpty: Update comments.
8294         * lib/openpty.c: Add comments about Minix.
8295
8296 2011-10-19  Eric Blake  <eblake@redhat.com>
8297
8298         openpty: relax license
8299         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8300
8301         pt_chown: use configmake to simplify build
8302         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8303
8304         ptsname and others: relax license
8305         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8306         * modules/unlockpt (License): Likewise.
8307         * modules/pt_chown (License): Likewise.
8308         * modules/ptsname (License): Likewise.
8309         * modules/ttyname_r (License): Likewise.
8310
8311 2011-10-19  Jim Meyering  <meyering@redhat.com>
8312
8313         posix_openpt: remove spurious #endif
8314         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8315
8316 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8317
8318         maint.mk: Respect $(build_aux) in web-manual rule.
8319         * top/maint.mk (web-manual): Find gen-announce script in user's
8320         $(build_aux) directory instead of hard-coding 'build-aux'.
8321
8322 2011-10-19  Bruno Haible  <bruno@clisp.org>
8323
8324         posix_openpt: Fix compilation error.
8325         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8326         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8327         Mention the openpty module as an alternative.
8328
8329 2011-10-19  Bruno Haible  <bruno@clisp.org>
8330
8331         Support for old NeXTstep 3.3 frexp().
8332         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8333         execution time of the test to 5 seconds.
8334         Reported by Daniel Richard G. <skunk@iskunk.org>.
8335
8336 2011-10-19  Bruno Haible  <bruno@clisp.org>
8337
8338         Support for old NeXTstep 3.3 sed.
8339         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8340         part, use /.../, not \|...|. Escape periods in the header file name.
8341         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8342         Reported by Daniel Richard G. <skunk@iskunk.org>.
8343
8344 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8345
8346         Support for old NeXTstep 3.3 gcc.
8347         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8348         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8349         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8350         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8351         * lib/regex.h (_Restrict_arr_): Likewise.
8352         * lib/regex_internal.h (re_token_t): Likewise.
8353         * lib/regexec.c (check_node_accept_bytes): Likewise.
8354         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8355
8356 2011-10-18  Eric Blake  <eblake@redhat.com>
8357
8358         posix_openpt: new module
8359         * modules/posix_openpt: New module.
8360         * m4/posix_openpt.m4: New file.
8361         * lib/posix_openpt.c: Likewise.
8362         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8363         (gl_STDLIB_H_DEFAULTS): Set defaults.
8364         * modules/stdlib (Makefile.am): Substitute macros.
8365         * lib/stdlib.in.h (posix_openpt): Declare.
8366         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8367         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8368         * modules/posix_openpt-tests: New test module.
8369         * tests/test-posix_openpt.c: New test.
8370
8371 2011-10-15  Bruno Haible  <bruno@clisp.org>
8372
8373         xstrtoll: Fix compilation failure.
8374         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8375         from lib/strtol.c.
8376         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8377         some platforms.
8378         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8379
8380 2011-10-15  Bruno Haible  <bruno@clisp.org>
8381
8382         vasnprintf: Optimize bit search operation.
8383         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8384         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8385         gl_DOUBLE_EXPONENT_LOCATION.
8386         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8387         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8388         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8389         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8390         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8391         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8392         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8393         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8394         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8395
8396 2011-10-15  Bruno Haible  <bruno@clisp.org>
8397
8398         vasnprintf: Fix comments.
8399         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8400
8401 2011-10-14  Bruno Haible  <bruno@clisp.org>
8402
8403         Tests for module 'integer_length_ll'.
8404         * modules/integer_length_ll-tests: New file.
8405         * tests/test-integer_length_ll.c: New file.
8406
8407         New module 'integer_length_ll'.
8408         * lib/integer_length_ll.c: New file.
8409         * modules/integer_length_ll: New file.
8410
8411 2011-10-14  Bruno Haible  <bruno@clisp.org>
8412
8413         Tests for module 'integer_length_l'.
8414         * modules/integer_length_l-tests: New file.
8415         * tests/test-integer_length_l.c: New file.
8416
8417         New module 'integer_length_l'.
8418         * lib/integer_length_l.c: New file.
8419         * modules/integer_length_l: New file.
8420
8421 2011-10-14  Bruno Haible  <bruno@clisp.org>
8422
8423         Tests for module 'integer_length'.
8424         * modules/integer_length-tests: New file.
8425         * tests/test-integer_length.c: New file.
8426
8427         New module 'integer_length'.
8428         * lib/integer_length.h: New file.
8429         * lib/integer_length.c: New file.
8430         * modules/integer_length: New file.
8431
8432 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8433
8434         popen: Fix dependency conditions.
8435         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8436
8437 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8438
8439         perror: Fix autoconf test.
8440         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8441         <stdlib.h> and <string.h>.
8442
8443 2011-10-14  Bruno Haible  <bruno@clisp.org>
8444
8445         ffsl: Optimize on 64-bit platforms.
8446         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8447         unrolling.
8448
8449 2011-10-13  Bruno Haible  <bruno@clisp.org>
8450
8451         ffsl: Optimize on 32-bit platforms.
8452         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8453         use ffs() without a loop.
8454
8455         ffsl, ffsll: Optimize for GCC.
8456         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8457         * lib/ffsl.c (GCC_BUILTIN): New macro.
8458         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8459
8460 2011-10-13  Bruno Haible  <bruno@clisp.org>
8461
8462         ffs, bcopy, memset: Support symbol renaming via config.h.
8463         * lib/ffs.c: Include <config.h>.
8464         * lib/bcopy.c: Likewise.
8465         * lib/memset.c: Likewise.
8466
8467 2011-10-10  Bruno Haible  <bruno@clisp.org>
8468
8469         atanl: Simplify for platforms where 'long double' == 'double'.
8470         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8471         alternative implementation.
8472         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8473         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8474         * modules/atanl (Depends-on): Add atan. Update conditions.
8475
8476 2011-10-10  Bruno Haible  <bruno@clisp.org>
8477
8478         acosl: Simplify for platforms where 'long double' == 'double'.
8479         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8480         alternative implementation.
8481         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8482         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8483         * modules/acosl (Depends-on): Add acos. Update conditions.
8484
8485 2011-10-10  Bruno Haible  <bruno@clisp.org>
8486
8487         asinl: Simplify for platforms where 'long double' == 'double'.
8488         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8489         alternative implementation.
8490         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8491         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8492         * modules/asinl (Depends-on): Add asin. Update conditions.
8493
8494 2011-10-10  Bruno Haible  <bruno@clisp.org>
8495
8496         tanl: Simplify for platforms where 'long double' == 'double'.
8497         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8498         implementation.
8499         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8500         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8501         * modules/tanl (Depends-on): Add tan. Update conditions.
8502         (configure.ac): Don't compile trigl.c if
8503         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8504
8505 2011-10-10  Bruno Haible  <bruno@clisp.org>
8506
8507         cosl: Simplify for platforms where 'long double' == 'double'.
8508         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8509         implementation.
8510         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8511         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8512         * modules/cosl (Depends-on): Add cos. Update conditions.
8513         (configure.ac): Don't compile sincosl.c and trigl.c if
8514         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8515
8516 2011-10-10  Bruno Haible  <bruno@clisp.org>
8517
8518         sinl: Simplify for platforms where 'long double' == 'double'.
8519         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8520         implementation.
8521         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8522         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8523         * modules/sinl (Depends-on): Add sin. Update conditions.
8524         (configure.ac): Don't compile sincosl.c and trigl.c if
8525         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8526
8527 2011-10-10  Bruno Haible  <bruno@clisp.org>
8528
8529         logl: Simplify for platforms where 'long double' == 'double'.
8530         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8531         implementation.
8532         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8533         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8534         * modules/logl (Depends-on): Add log. Update conditions.
8535
8536 2011-10-10  Bruno Haible  <bruno@clisp.org>
8537
8538         expl: Simplify for platforms where 'long double' == 'double'.
8539         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8540         implementation.
8541         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8542         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8543         * modules/expl (Depends-on): Add exp. Update conditions.
8544
8545 2011-10-10  Bruno Haible  <bruno@clisp.org>
8546
8547         sqrtl: Simplify for platforms where 'long double' == 'double'.
8548         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8549         alternative implementation.
8550         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8551         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8552         * modules/sqrtl (Depends-on): Update conditions.
8553
8554 2011-10-10  Bruno Haible  <bruno@clisp.org>
8555
8556         ldexpl: Simplify for platforms where 'long double' == 'double'.
8557         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8558         alternative implementation.
8559         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8560         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8561         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8562
8563 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8564
8565         ffsll: set correct witness
8566         * modules/ffsll (configure.ac): Fix typo.
8567
8568 2011-10-10  Bruno Haible  <bruno@clisp.org>
8569
8570         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8571         * lib/printf-frexpl.c: Include <config.h>.
8572         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8573         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8574         second time.
8575         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8576         gl_LONG_DOUBLE_VS_DOUBLE.
8577         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8578         conditions.
8579
8580 2011-10-10  Bruno Haible  <bruno@clisp.org>
8581
8582         frexpl: Simplify for platforms where 'long double' == 'double'.
8583         * lib/frexpl.c: Include <config.h>.
8584         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8585         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8586         time.
8587         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8588         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8589         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8590         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8591         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8592         conditions.
8593
8594 2011-10-10  Jim Meyering  <meyering@redhat.com>
8595
8596         test-renameat: don't leave behind a temporary file
8597         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8598           ERROR: files left in build directory after distclean:
8599           ./gltests/test-renameat.too
8600           make[1]: *** [distcleancheck] Error 1
8601         Reported by Tom G. Christensen.
8602
8603 2011-10-09  Bruno Haible  <bruno@clisp.org>
8604
8605         rint: Determine RINT_LIBM correctly on AIX 7.
8606         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8607         directly, not only through a function pointer. Also accept an optional
8608         4th argument with extra code.
8609         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8610         rintf() call by gcc when optimizing.
8611
8612         mathfunc.m4: Refactor.
8613         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8614         m4 variable.
8615
8616 2011-10-09  Bruno Haible  <bruno@clisp.org>
8617
8618         rintl: Simplify for platforms where 'long double' == 'double'.
8619         * lib/rintl.c: Include <config.h>.
8620         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8621         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8622         time.
8623         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8624         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8625         * modules/rintl (Depends-on): Add rint. Update conditions.
8626
8627 2011-10-09  Bruno Haible  <bruno@clisp.org>
8628
8629         roundl: Simplify for platforms where 'long double' == 'double'.
8630         * lib/roundl.c: Include <config.h>.
8631         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8632         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8633         time.
8634         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8635         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8636         * modules/roundl (Depends-on): Add round. Update conditions.
8637
8638 2011-10-09  Bruno Haible  <bruno@clisp.org>
8639
8640         truncl: Simplify for platforms where 'long double' == 'double'.
8641         * lib/truncl.c: Include <config.h>.
8642         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8643         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8644         time.
8645         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8646         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8647         * modules/truncl (Depends-on): Add trunc. Update conditions.
8648
8649 2011-10-09  Bruno Haible  <bruno@clisp.org>
8650
8651         ceill: Simplify for platforms where 'long double' == 'double'.
8652         * lib/ceill.c: Include <config.h>.
8653         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8654         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8655         time.
8656         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8657         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8658         * modules/ceill (Depends-on): Add ceil. Update conditions.
8659
8660 2011-10-09  Bruno Haible  <bruno@clisp.org>
8661
8662         floorl: Simplify for platforms where 'long double' == 'double'.
8663         * lib/floorl.c: Include <config.h>.
8664         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8665         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8666         time.
8667         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8668         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8669         * modules/floorl (Depends-on): Add floor. Update conditions.
8670
8671 2011-10-09  Bruno Haible  <bruno@clisp.org>
8672
8673         rint: Fix ordering constraints.
8674         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
8675         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
8676         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8677
8678 2011-10-09  Bruno Haible  <bruno@clisp.org>
8679
8680         copysignl: Simplify for platforms where 'long double' == 'double'.
8681         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8682         alternative.
8683         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8684         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8685         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8686
8687 2011-10-09  Bruno Haible  <bruno@clisp.org>
8688
8689         Tests for module 'rintl'.
8690         * modules/rintl-tests: New file.
8691         * tests/test-rintl.c: New file.
8692
8693         New module 'rintl'.
8694         * lib/math.in.h (rintl): New declaration.
8695         * lib/rintl.c: New file.
8696         * m4/rintl.m4: New file.
8697         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8698         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8699         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8700         * modules/rintl: New file.
8701         * tests/test-math-c++.cc: Check the declaration of rintl.
8702         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8703         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8704         * doc/posix-functions/rintl.texi: Mention the new module.
8705
8706 2011-10-09  Bruno Haible  <bruno@clisp.org>
8707
8708         Tests for module 'rintf'.
8709         * modules/rintf-tests: New file.
8710         * tests/test-rintf.c: New file.
8711
8712         New module 'rintf'.
8713         * lib/math.in.h (rintf): New declaration.
8714         * lib/rintf.c: New file.
8715         * m4/rintf.m4: New file.
8716         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8718         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8719         * modules/rintf: New file.
8720         * tests/test-math-c++.cc: Check the declaration of rintf.
8721         * doc/posix-functions/rintf.texi: Mention the new module.
8722
8723 2011-10-09  Bruno Haible  <bruno@clisp.org>
8724
8725         rint: Support for MSVC.
8726         * lib/math.in.h (rint): New declaration.
8727         * lib/rint.c: New file.
8728         * m4/rint.m4: New file.
8729         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8731         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8732         * modules/rint (Description): Fix.
8733         (Files): Add lib/rint.c, m4/rint.m4.
8734         (Depends-on): Add math.
8735         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8736         gl_MATH_MODULE_INDICATOR.
8737         * tests/test-math-c++.cc: Check the declaration of rint.
8738         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8739         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8740         * doc/posix-functions/rint.texi: Mention the replacement provided by
8741         the module.
8742
8743         rint tests: More tests.
8744         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8745         minus-zero.h, infinity.h, nan.h.
8746         (main): Skip the test if the current rounding mode is not standard. Add
8747         tests for negative numbers, minus zero, infinity, NaN.
8748         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8749         tests/nan.h.
8750         (Depends-on): Add isnand-nolibm.
8751
8752 2011-10-09  Bruno Haible  <bruno@clisp.org>
8753
8754         Tests for module 'copysignl'.
8755         * modules/copysignl-tests: New file.
8756         * tests/test-copysignl.c: New file.
8757
8758         New module 'copysignl'.
8759         * lib/math.in.h (copysignl): New declaration.
8760         * lib/copysignl.c: New file.
8761         * m4/copysignl.m4: New file.
8762         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8763         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8764         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8765         HAVE_COPYSIGNL.
8766         * modules/copysignl: New file.
8767         * tests/test-math-c++.cc: Check the declaration of copysignl.
8768         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8769         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8770         * doc/posix-functions/copysignl.texi: Mention the new module.
8771
8772 2011-10-09  Bruno Haible  <bruno@clisp.org>
8773
8774         Tests for module 'copysignf'.
8775         * modules/copysignf-tests: New file.
8776         * tests/test-copysignf.c: New file.
8777
8778         New module 'copysignf'.
8779         * lib/math.in.h (copysignf): New declaration.
8780         * lib/copysignf.c: New file.
8781         * m4/copysignf.m4: New file.
8782         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8784         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8785         HAVE_COPYSIGNF.
8786         * modules/copysignf: New file.
8787         * tests/test-math-c++.cc: Check the declaration of copysignf.
8788         * doc/posix-functions/copysignf.texi: Mention the new module.
8789
8790 2011-10-09  Bruno Haible  <bruno@clisp.org>
8791
8792         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8793         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8794         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8795         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8796         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8797         gl_SIGNAL_H_DEFAULTS.
8798
8799 2011-10-09  Bruno Haible  <bruno@clisp.org>
8800
8801         poll: Make macro safer.
8802         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8803         ac_cv_header_poll_h is not set.
8804
8805 2011-10-09  Bruno Haible  <bruno@clisp.org>
8806
8807         copysign: Provide replacement.
8808         * lib/math.in.h (copysign): New declaration.
8809         * lib/copysign.c: New file.
8810         * m4/copysign.m4: New file.
8811         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8813         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8814         HAVE_COPYSIGN.
8815         * modules/copysign (Description): Clarify.
8816         (Files): Add lib/copysign.c, m4/copysign.m4.
8817         (Depends-on): Add math, signbit.
8818         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8819         gl_MATH_MODULE_INDICATOR.
8820         * tests/test-math-c++.cc: Check the declaration of copysign.
8821         * doc/posix-functions/copysign.texi: Mention the effects of the module
8822         on Minix and MSVC.
8823
8824 2011-10-09  Bruno Haible  <bruno@clisp.org>
8825
8826         isinf: Ensure macro on AIX 5.1.
8827         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8828         macro.
8829         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8830
8831 2011-10-09  Bruno Haible  <bruno@clisp.org>
8832
8833         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8834         * modules/snprintf-posix-tests (configure.ac): Require
8835         gl_LONG_DOUBLE_VS_DOUBLE.
8836         * modules/sprintf-posix-tests (configure.ac): Likewise.
8837         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8838         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8839         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8840         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8841         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8842         tests on platforms where 'long double' is the same as 'double'.
8843         * tests/test-sprintf-posix.h (test_function): Likewise.
8844         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8845         * tests/test-vasprintf-posix.c (test_function): Likewise.
8846
8847         *printf: Fix for platforms where 'long double' == 'double'.
8848         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8849         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8850         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8851         * modules/fprintf-posix (Files): Likewise.
8852         * modules/obstack-printf-posix (Files): Likewise.
8853         * modules/snprintf-posix (Files): Likewise.
8854         * modules/sprintf-posix (Files): Likewise.
8855         * modules/vasnprintf (Files): Likewise.
8856         * modules/vasnprintf-posix (Files): Likewise.
8857         * modules/vasprintf-posix (Files): Likewise.
8858         * modules/vdprintf-posix (Files): Likewise.
8859         * modules/vfprintf-posix (Files): Likewise.
8860         * modules/vsnprintf-posix (Files): Likewise.
8861         * modules/vsprintf-posix (Files): Likewise.
8862         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8863         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8864         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8865         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8866         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8867         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8868         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8869
8870         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8871         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8872         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8873         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8874         'long double'.
8875         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8876
8877         isinf: Fix for platforms where 'long double' == 'double'.
8878         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8879         Don't blindly assume 80-bit 'long double'.
8880
8881         isfinite: Fix for platforms where 'long double' == 'double'.
8882         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8883         Don't blindly assume 80-bit 'long double'.
8884
8885         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8886         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8887         * modules/isfinite-tests (configure.ac): Require
8888         gl_LONG_DOUBLE_VS_DOUBLE.
8889         * modules/isinf-tests (configure.ac): Likewise.
8890         * modules/isnan-tests (configure.ac): Likewise.
8891         * modules/isnanl-tests (configure.ac): Likewise.
8892         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8893         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8894         tests on platforms where 'long double' is the same as 'double'.
8895         * tests/test-isinf.c (test_isinfl): Likewise.
8896         * tests/test-isnan.c (test_long_double): Likewise.
8897         * tests/test-isnanl.h (main): Likewise.
8898
8899 2011-10-08  Bruno Haible  <bruno@clisp.org>
8900
8901         Tests for module 'tanhf'.
8902         * modules/tanhf-tests: New file.
8903         * tests/test-tanhf.c: New file.
8904
8905         New module 'tanhf'.
8906         * lib/math.in.h (tanhf): New declaration.
8907         * lib/tanhf.c: New file.
8908         * m4/tanhf.m4: New file.
8909         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8911         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8912         * modules/tanhf: New file.
8913         * tests/test-math-c++.cc: Check the declaration of tanhf.
8914         * doc/posix-functions/tanhf.texi: Mention the new module.
8915
8916         tanh: Use a .m4 file.
8917         * m4/tanh.m4: New file.
8918         * modules/tanh (Files): Add it.
8919         (configure.ac): Just invoke gl_FUNC_TANH.
8920
8921 2011-10-08  Bruno Haible  <bruno@clisp.org>
8922
8923         Tests for module 'coshf'.
8924         * modules/coshf-tests: New file.
8925         * tests/test-coshf.c: New file.
8926
8927         New module 'coshf'.
8928         * lib/math.in.h (coshf): New declaration.
8929         * lib/coshf.c: New file.
8930         * m4/coshf.m4: New file.
8931         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8933         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8934         * modules/coshf: New file.
8935         * tests/test-math-c++.cc: Check the declaration of coshf.
8936         * doc/posix-functions/coshf.texi: Mention the new module.
8937
8938         cosh: Use a .m4 file.
8939         * m4/cosh.m4: New file.
8940         * modules/cosh (Files): Add it.
8941         (configure.ac): Just invoke gl_FUNC_COSH.
8942
8943 2011-10-08  Bruno Haible  <bruno@clisp.org>
8944
8945         Tests for module 'sinhf'.
8946         * modules/sinhf-tests: New file.
8947         * tests/test-sinhf.c: New file.
8948
8949         New module 'sinhf'.
8950         * lib/math.in.h (sinhf): New declaration.
8951         * lib/sinhf.c: New file.
8952         * m4/sinhf.m4: New file.
8953         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8955         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8956         * modules/sinhf: New file.
8957         * tests/test-math-c++.cc: Check the declaration of sinhf.
8958         * doc/posix-functions/sinhf.texi: Mention the new module.
8959
8960         sinh: Use a .m4 file.
8961         * m4/sinh.m4: New file.
8962         * modules/sinh (Files): Add it.
8963         (configure.ac): Just invoke gl_FUNC_SINH.
8964
8965 2011-10-08  Bruno Haible  <bruno@clisp.org>
8966
8967         Tests for module 'atan2f'.
8968         * modules/atan2f-tests: New file.
8969         * tests/test-atan2f.c: New file.
8970
8971         New module 'atan2f'.
8972         * lib/math.in.h (atan2f): New declaration.
8973         * lib/atan2f.c: New file.
8974         * m4/atan2f.m4: New file.
8975         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8976         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8977         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8978         * modules/atan2f: New file.
8979         * tests/test-math-c++.cc: Check the declaration of atan2f.
8980         * doc/posix-functions/atan2f.texi: Mention the new module.
8981
8982         atan2: Use a .m4 file.
8983         * m4/atan2.m4: New file.
8984         * modules/atan2 (Files): Add it.
8985         (configure.ac): Just invoke gl_FUNC_ATAN2.
8986
8987 2011-10-08  Bruno Haible  <bruno@clisp.org>
8988
8989         Tests for module 'atanf'.
8990         * modules/atanf-tests: New file.
8991         * tests/test-atanf.c: New file.
8992
8993         New module 'atanf'.
8994         * lib/math.in.h (atanf): New declaration.
8995         * lib/atanf.c: New file.
8996         * m4/atanf.m4: New file.
8997         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
8998         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
8999         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9000         * modules/atanf: New file.
9001         * tests/test-math-c++.cc: Check the declaration of atanf.
9002         * doc/posix-functions/atanf.texi: Mention the new module.
9003
9004         atan: Use a .m4 file.
9005         * m4/atan.m4: New file.
9006         * modules/atan (Files): Add it.
9007         (configure.ac): Just invoke gl_FUNC_ATAN.
9008
9009 2011-10-08  Bruno Haible  <bruno@clisp.org>
9010
9011         Tests for module 'acosf'.
9012         * modules/acosf-tests: New file.
9013         * tests/test-acosf.c: New file.
9014
9015         New module 'acosf'.
9016         * lib/math.in.h (acosf): New declaration.
9017         * lib/acosf.c: New file.
9018         * m4/acosf.m4: New file.
9019         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9020         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9021         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9022         * modules/acosf: New file.
9023         * tests/test-math-c++.cc: Check the declaration of acosf.
9024         * doc/posix-functions/acosf.texi: Mention the new module.
9025
9026         acos: Use a .m4 file.
9027         * m4/acos.m4: New file.
9028         * modules/acos (Files): Add it.
9029         (configure.ac): Just invoke gl_FUNC_ACOS.
9030
9031 2011-10-08  Bruno Haible  <bruno@clisp.org>
9032
9033         Tests for module 'asinf'.
9034         * modules/asinf-tests: New file.
9035         * tests/test-asinf.c: New file.
9036
9037         New module 'asinf'.
9038         * lib/math.in.h (asinf): New declaration.
9039         * lib/asinf.c: New file.
9040         * m4/asinf.m4: New file.
9041         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9042         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9043         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9044         * modules/asinf: New file.
9045         * tests/test-math-c++.cc: Check the declaration of asinf.
9046         * doc/posix-functions/asinf.texi: Mention the new module.
9047
9048         asin: Use a .m4 file.
9049         * m4/asin.m4: New file.
9050         * modules/asin (Files): Add it.
9051         (configure.ac): Just invoke gl_FUNC_ASIN.
9052
9053 2011-10-08  Bruno Haible  <bruno@clisp.org>
9054
9055         Tests for module 'tanf'.
9056         * modules/tanf-tests: New file.
9057         * tests/test-tanf.c: New file.
9058
9059         New module 'tanf'.
9060         * lib/math.in.h (tanf): New declaration.
9061         * lib/tanf.c: New file.
9062         * m4/tanf.m4: New file.
9063         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9065         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9066         * modules/tanf: New file.
9067         * tests/test-math-c++.cc: Check the declaration of tanf.
9068         * doc/posix-functions/tanf.texi: Mention the new module.
9069
9070         tan: Use a .m4 file.
9071         * m4/tan.m4: New file.
9072         * modules/tan (Files): Add it.
9073         (configure.ac): Just invoke gl_FUNC_TAN.
9074
9075 2011-10-08  Bruno Haible  <bruno@clisp.org>
9076
9077         Tests for module 'cosf'.
9078         * modules/cosf-tests: New file.
9079         * tests/test-cosf.c: New file.
9080
9081         New module 'cosf'.
9082         * lib/math.in.h (cosf): New declaration.
9083         * lib/cosf.c: New file.
9084         * m4/cosf.m4: New file.
9085         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9086         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9087         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9088         * modules/cosf: New file.
9089         * tests/test-math-c++.cc: Check the declaration of cosf.
9090         * doc/posix-functions/cosf.texi: Mention the new module.
9091
9092         cos: Use a .m4 file.
9093         * m4/cos.m4: New file.
9094         * modules/cos (Files): Add it.
9095         (configure.ac): Just invoke gl_FUNC_COS.
9096
9097 2011-10-08  Bruno Haible  <bruno@clisp.org>
9098
9099         Tests for module 'sinf'.
9100         * modules/sinf-tests: New file.
9101         * tests/test-sinf.c: New file.
9102
9103         New module 'sinf'.
9104         * lib/math.in.h (sinf): New declaration.
9105         * lib/sinf.c: New file.
9106         * m4/sinf.m4: New file.
9107         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9109         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9110         * modules/sinf: New file.
9111         * tests/test-math-c++.cc: Check the declaration of sinf.
9112         * doc/posix-functions/sinf.texi: Mention the new module.
9113
9114         sin: Use a .m4 file.
9115         * m4/sin.m4: New file.
9116         * modules/sin (Files): Add it.
9117         (configure.ac): Just invoke gl_FUNC_SIN.
9118
9119 2011-10-08  Bruno Haible  <bruno@clisp.org>
9120
9121         Tests for module 'powf'.
9122         * modules/powf-tests: New file.
9123         * tests/test-powf.c: New file.
9124
9125         New module 'powf'.
9126         * lib/math.in.h (powf): New declaration.
9127         * lib/powf.c: New file.
9128         * m4/powf.m4: New file.
9129         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9131         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9132         * modules/powf: New file.
9133         * tests/test-math-c++.cc: Check the declaration of powf.
9134         * doc/posix-functions/powf.texi: Mention the new module.
9135
9136         pow: Use a .m4 file.
9137         * m4/pow.m4: New file.
9138         * modules/pow (Files): Add it.
9139         (configure.ac): Just invoke gl_FUNC_POW.
9140
9141 2011-10-08  Bruno Haible  <bruno@clisp.org>
9142
9143         Tests for module 'log10f'.
9144         * modules/log10f-tests: New file.
9145         * tests/test-log10f.c: New file.
9146
9147         New module 'log10f'.
9148         * lib/math.in.h (log10f): New declaration.
9149         * lib/log10f.c: New file.
9150         * m4/log10f.m4: New file.
9151         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9153         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9154         * modules/log10f: New file.
9155         * tests/test-math-c++.cc: Check the declaration of log10f.
9156         * doc/posix-functions/log10f.texi: Mention the new module.
9157
9158         log10: Use a .m4 file.
9159         * m4/log10.m4: New file.
9160         * modules/log10 (Files): Add it.
9161         (configure.ac): Just invoke gl_FUNC_LOG10.
9162
9163 2011-10-08  Bruno Haible  <bruno@clisp.org>
9164
9165         Tests for module 'logf'.
9166         * modules/logf-tests: New file.
9167         * tests/test-logf.c: New file.
9168
9169         New module 'logf'.
9170         * lib/math.in.h (logf): New declaration.
9171         * lib/logf.c: New file.
9172         * m4/logf.m4: New file.
9173         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9175         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9176         * modules/logf: New file.
9177         * tests/test-math-c++.cc: Check the declaration of logf.
9178         * doc/posix-functions/logf.texi: Mention the new module.
9179
9180         log: Use a .m4 file.
9181         * m4/log.m4: New file.
9182         * modules/log (Files): Add it.
9183         (configure.ac): Just invoke gl_FUNC_LOG.
9184
9185 2011-10-08  Bruno Haible  <bruno@clisp.org>
9186
9187         Tests for module 'expf'.
9188         * modules/expf-tests: New file.
9189         * tests/test-expf.c: New file.
9190
9191         New module 'expf'.
9192         * lib/math.in.h (expf): New declaration.
9193         * lib/expf.c: New file.
9194         * m4/expf.m4: New file.
9195         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9196         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9197         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9198         * modules/expf: New file.
9199         * tests/test-math-c++.cc: Check the declaration of expf.
9200         * doc/posix-functions/expf.texi: Mention the new module.
9201
9202         exp: Use a .m4 file.
9203         * m4/exp.m4: New file.
9204         * modules/exp (Files): Add it.
9205         (configure.ac): Just invoke gl_FUNC_EXP.
9206
9207 2011-10-08  Bruno Haible  <bruno@clisp.org>
9208
9209         Tests for module 'sqrtf'.
9210         * modules/sqrtf-tests: New file.
9211         * tests/test-sqrtf.c: New file.
9212
9213         New module 'sqrtf'.
9214         * lib/math.in.h (sqrtf): New declaration.
9215         * lib/sqrtf.c: New file.
9216         * m4/sqrtf.m4: New file.
9217         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9219         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9220         * modules/sqrtf: New file.
9221         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9222         * doc/posix-functions/sqrtf.texi: Mention the new module.
9223
9224 2011-10-08  Bruno Haible  <bruno@clisp.org>
9225
9226         Tests: Avoid link failures w.r.t. libintl.
9227         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9228         $(LIBINTL).
9229         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9230         $(LIBINTL).
9231         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9232         against $(LIBINTL).
9233         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9234         $(LIBINTL).
9235         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9236         $(LIBINTL).
9237         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9238
9239 2011-10-08  Bruno Haible  <bruno@clisp.org>
9240
9241         pow tests: Defeat compiler optimizations.
9242         * tests/test-pow.c (main): Assign arguments to x and y before use.
9243
9244 2011-10-08  Bruno Haible  <bruno@clisp.org>
9245
9246         gnulib-tool: Improve last commit.
9247         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9248         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9249         ignore dependencies that are not among the modules list.
9250
9251 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9252
9253         gnulib-tool: don't follow dependencies to avoided modules
9254         This fixes a bug that is related to the previous one.
9255         * gnulib-tool (func_modules_transitive_closure)
9256         (func_emit_autoconf_snippets):
9257         Check whether a dependency is acceptable before using it.
9258         (--extract-dependencies): Report an error if --avoid is also used,
9259         since this combination of options is not yet supported.
9260
9261         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9262         Problem reported by Peter Dyballa in
9263         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9264         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9265         when echoing "$condition".
9266
9267 2011-10-07  Bruno Haible  <bruno@clisp.org>
9268
9269         Fix documentation about math functions on MacOS X.
9270         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9271         MacOS X 10.5.
9272         * doc/posix-functions/fdim.texi: Likewise.
9273         * doc/posix-functions/feclearexcept.texi: Likewise.
9274         * doc/posix-functions/fegetenv.texi: Likewise.
9275         * doc/posix-functions/fegetround.texi: Likewise.
9276         * doc/posix-functions/feholdexcept.texi: Likewise.
9277         * doc/posix-functions/feraiseexcept.texi: Likewise.
9278         * doc/posix-functions/fesetenv.texi: Likewise.
9279         * doc/posix-functions/fesetround.texi: Likewise.
9280         * doc/posix-functions/fetestexcept.texi: Likewise.
9281         * doc/posix-functions/feupdateenv.texi: Likewise.
9282         * doc/posix-functions/fmax.texi: Likewise.
9283         * doc/posix-functions/fmin.texi: Likewise.
9284         * doc/posix-functions/log2.texi: Likewise.
9285         * doc/posix-functions/modff.texi: Likewise.
9286         * doc/posix-functions/nan.texi: Likewise.
9287         * doc/posix-functions/nanf.texi: Likewise.
9288         * doc/posix-functions/nextafterf.texi: Likewise.
9289         * doc/posix-functions/remquo.texi: Likewise.
9290
9291 2011-10-07  Bruno Haible  <bruno@clisp.org>
9292
9293         modff: Drop assumption about library that defines modff.
9294         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9295         AC_CHECK_FUNCS.
9296         * modules/modff (Files): Add m4/mathfunc.m4.
9297
9298 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9299
9300         raise tests: Avoid a GCC warning.
9301         * tests/test-raise.c (handler): Use _Noreturn.
9302
9303 2011-10-07  Bruno Haible  <bruno@clisp.org>
9304
9305         Tests for module 'ldexpf'.
9306         * modules/ldexpf-tests: New file.
9307         * tests/test-ldexpf.c: New file.
9308
9309         New module 'ldexpf'.
9310         * lib/math.in.h (ldexpf): New declaration.
9311         * lib/ldexpf.c: New file.
9312         * m4/ldexpf.m4: New file.
9313         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9315         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9316         * modules/ldexpf: New file.
9317         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9318         * doc/posix-functions/ldexpf.texi: Mention the new module.
9319
9320 2011-10-06  Bruno Haible  <bruno@clisp.org>
9321
9322         frexpf: Work around problems on IRIX and mingw.
9323         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9325         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9326         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9327         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9328         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9329         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9330
9331 2011-10-06  Bruno Haible  <bruno@clisp.org>
9332
9333         fabsf: Drop assumption about library that defines fabsf.
9334         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9335         AC_CHECK_FUNCS.
9336         * modules/fabsf (Files): Add m4/mathfunc.m4.
9337
9338 2011-10-06  Bruno Haible  <bruno@clisp.org>
9339
9340         frexpf: Drop assumption about library that defines frexpf.
9341         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9342         'int *', 'float *', 'long double *', 'float', 'long double'.
9343         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9344         AC_CHECK_FUNCS.
9345         * modules/frexpf (Files): Add m4/mathfunc.m4.
9346
9347         Tests for module 'frexpf'.
9348         * modules/frexpf-tests: New file.
9349         * tests/test-frexpf.c: New file.
9350
9351         New module 'frexpf'.
9352         * lib/math.in.h (frexpf): New declaration.
9353         * lib/frexpf.c: New file.
9354         * m4/frexpf.m4: New file.
9355         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9357         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9358         * modules/frexpf: New file.
9359         * tests/test-math-c++.cc: Check the declaration of frexpf.
9360         * doc/posix-functions/frexpf.texi: Mention the new module.
9361
9362 2011-10-06  Bruno Haible  <bruno@clisp.org>
9363
9364         math: Sort function declarations of math.in.h.
9365         * lib/math.in.h (frexp, logb): Move declarations.
9366
9367 2011-10-05  Bruno Haible  <bruno@clisp.org>
9368
9369         Tests for module 'modff'.
9370         * modules/modff-tests: New file.
9371         * tests/test-modff.c: New file.
9372
9373         New module 'modff'.
9374         * lib/math.in.h (modff): New declaration.
9375         * lib/modff.c: New file.
9376         * m4/modff.m4: New file.
9377         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9378         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9379         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9380         * modules/modff: New file.
9381         * tests/test-math-c++.cc: Check the declaration of modff.
9382         * doc/posix-functions/modff.texi: Mention the new module.
9383
9384         modf tests: Make test sharper.
9385         * tests/test-modf.c (main): Strengthen upper bound.
9386
9387         modf: Use a .m4 file.
9388         * m4/modf.m4: New file.
9389         * modules/modf (Files): Add it.
9390         (configure.ac): Just invoke gl_FUNC_MODF.
9391
9392 2011-10-05  Bruno Haible  <bruno@clisp.org>
9393
9394         Tests for module 'fmodf'.
9395         * modules/fmodf-tests: New file.
9396         * tests/test-fmodf.c: New file.
9397
9398         New module 'fmodf'.
9399         * lib/math.in.h (fmodf): New declaration.
9400         * lib/fmodf.c: New file.
9401         * m4/fmodf.m4: New file.
9402         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9403         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9404         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9405         * modules/fmodf: New file.
9406         * tests/test-math-c++.cc: Check the declaration of fmodf.
9407         * doc/posix-functions/fmodf.texi: Mention the new module.
9408
9409         fmod: Use a .m4 file.
9410         * m4/fmod.m4: New file.
9411         * modules/fmod (Files): Add it.
9412         (configure.ac): Just invoke gl_FUNC_FMOD.
9413
9414 2011-10-05  Bruno Haible  <bruno@clisp.org>
9415
9416         Tests for module 'fabsf'.
9417         * modules/fabsf-tests: New file.
9418         * tests/test-fabsf.c: New file.
9419
9420         New module 'fabsf'.
9421         * lib/math.in.h (fabsf): New declaration.
9422         * lib/fabsf.c: New file.
9423         * m4/fabsf.m4: New file.
9424         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9425         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9426         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9427         * modules/fabsf: New file.
9428         * tests/test-math-c++.cc: Check the declaration of fabsf.
9429         * doc/posix-functions/fabsf.texi: Mention the new module.
9430
9431         fabs: Use a .m4 file.
9432         * m4/fabs.m4: New file.
9433         * modules/fabs (Files): Add it.
9434         (configure.ac): Just invoke gl_FUNC_FABS.
9435
9436 2011-10-05  Jim Meyering  <meyering@redhat.com>
9437
9438         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9439         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9440         ls -lL regression introduced in coreutils-8.12, it does so at the
9441         cost of an additional stat call in the common case.  Besides, now
9442         that the kernel change that prompted commit 95f7c57f has been reverted
9443         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9444         we have no use for commit 95f7c57f, "file-has-acl: use
9445         acl_extended_file_nofollow if available".
9446
9447 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9448
9449         file-has-acl: revert unintended change in behavior of ls -L
9450         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9451         derived from...
9452         (file_has_acl): ...code here.  Call it.
9453         This problem was introduced with 2011-07-22 commit 95f7c57f,
9454         "file-has-acl: use acl_extended_file_nofollow if available".
9455         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9456
9457 2011-10-03  Bruno Haible  <bruno@clisp.org>
9458
9459         poll: Avoid link errors on MSVC.
9460         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9461         * modules/poll (Depends-on): Add sockets.
9462         (Link): New section.
9463         * NEWS: Mention the change.
9464         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9465         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9466         $(LIB_POLL) instead of $(LIBSOCKET).
9467
9468 2011-10-03  Bruno Haible  <bruno@clisp.org>
9469
9470         sys_select tests: Fix link error on MSVC 9.
9471         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9472         with $(LIB_SELECT) instead of $(LIBSOCKET).
9473
9474 2011-10-03  Bruno Haible  <bruno@clisp.org>
9475
9476         sys_select: Fix compilation error on mingw.
9477         * lib/sys_select.in.h: On native Windows, include <io.h>.
9478
9479 2011-10-03  Bruno Haible  <bruno@clisp.org>
9480
9481         wmemset: Support for MSVC.
9482         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9483         whether wmemset() exists.
9484
9485 2011-10-03  Bruno Haible  <bruno@clisp.org>
9486
9487         wmemmove: Support for MSVC.
9488         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9489         whether wmemmove() exists.
9490
9491 2011-10-03  Bruno Haible  <bruno@clisp.org>
9492
9493         wmemcpy: Support for MSVC.
9494         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9495         whether wmemcpy() exists.
9496
9497 2011-10-03  Bruno Haible  <bruno@clisp.org>
9498
9499         wmemcmp: Support for MSVC.
9500         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9501         whether wmemcmp() exists.
9502
9503 2011-10-03  Bruno Haible  <bruno@clisp.org>
9504
9505         wmemchr: Support for MSVC.
9506         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9507         whether wmemchr() exists.
9508
9509 2011-10-03  Bruno Haible  <bruno@clisp.org>
9510
9511         glthread/*, strsignal: Support for MSVC.
9512         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9513         including <winsock.h> on MSVC 9.
9514         * lib/glthread/lock.h: Likewise.
9515         * lib/glthread/thread.h: Likewise.
9516         * lib/glthread/tls.h: Likewise.
9517         * lib/glthread/yield.h: Likewise.
9518         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9519         if HAVE_UNISTD_H is false.
9520         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9521
9522 2011-10-03  Bruno Haible  <bruno@clisp.org>
9523
9524         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9525         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9526         Set to 100000.
9527
9528 2011-10-03  Bruno Haible  <bruno@clisp.org>
9529
9530         acl: Fix specification.
9531         * lib/file-has-acl.c (file_has_acl): Fix specification.
9532
9533 2011-10-03  Bruno Haible  <bruno@clisp.org>
9534
9535         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9536         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9537         (compute_curr_prefix, shared_library_fullname,
9538         find_shared_library_fullname, get_shared_library_fullname, relocate):
9539         Use it together with PIC && INSTALLDIR.
9540         Reported by <jojelino@gmail.com>
9541         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9542
9543 2011-10-01  Jim Meyering  <meyering@redhat.com>
9544
9545         maint.mk: adjust a release-related rule not to require use of gzip
9546         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9547         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9548         projects that build only .tar.xz files.  Also fix an erroneous test.
9549
9550         test-linkat: don't leave behind a temporary file
9551         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9552         Otherwise, coreutils' "make distcheck" would fail with this:
9553           Only in /c/cu/tests/torture/coreutils/test/\
9554             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9555           make[2]: *** [my-distcheck] Error 1
9556
9557         float, math: add omitted file
9558         * lib/itold.c: Add file, required for yesterday's float change.
9559
9560 2011-10-01  Bruno Haible  <bruno@clisp.org>
9561
9562         isinf: Fix for OpenBSD/x86.
9563         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9564         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9565         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9566
9567 2011-10-01  Bruno Haible  <bruno@clisp.org>
9568
9569         isfinite: Fix syntax error in configure test.
9570         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9571
9572         isfinite: Fix typo.
9573         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9574         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9575
9576 2011-10-01  Bruno Haible  <bruno@clisp.org>
9577
9578         nonblocking tests: Fix test failure on Linux/IA-64.
9579         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9580         Set to 270000.
9581
9582 2011-10-01  Bruno Haible  <bruno@clisp.org>
9583
9584         mkfifoat tests: Fix a test failure on mingw.
9585         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9586         with error ENOSYS.
9587
9588 2011-09-30  Bruno Haible  <bruno@clisp.org>
9589
9590         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9591         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9592         'long double'. Set REPLACE_ITOLD.
9593         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9594         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9595         * lib/itold.c: New file.
9596         * modules/float (Files): Add lib/itold.c.
9597         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9598         (Makefile.am): Substitute REPLACE_ITOLD.
9599         * modules/math (Depends-on): Add float.
9600         (Makefile.am): Substitute REPLACE_ITOLD.
9601         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9602         * doc/posix-headers/math.texi: Likewise.
9603         * doc/posix-functions/logl.texi: Likewise.
9604
9605 2011-09-30  Bruno Haible  <bruno@clisp.org>
9606
9607         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9608         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9609         Set to 140000.
9610
9611 2011-09-30  Bruno Haible  <bruno@clisp.org>
9612
9613         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9614         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9615         invocation, say "right after AC_PROG_CC_STDC", not "right after
9616         AC_PROG_CC".
9617         Reported by Gary V. Vaughan <gary@gnu.org>.
9618
9619 2011-09-30  Bruno Haible  <bruno@clisp.org>
9620
9621         Centralize C99 requirement.
9622         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9623         * modules/stdarg (configure.ac-early): Invoke it instead of
9624         AC_PROG_CC_STDC.
9625         Reported by Gary V. Vaughan and Paul Eggert.
9626
9627 2011-09-29  Bruno Haible  <bruno@clisp.org>
9628
9629         float: Fix LDBL_MAX value on Linux/PowerPC.
9630         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9631         on Linux/PowerPC.
9632         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9633         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9634         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9635         platform.
9636         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9637
9638 2011-09-29  Bruno Haible  <bruno@clisp.org>
9639
9640         doc: Improve doc about gl_EARLY.
9641         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9642         AC_PROG_CC_STDC invocation.
9643         Reported by Gary V. Vaughan <gary@gnu.org>.
9644
9645 2011-09-28  Bruno Haible  <bruno@clisp.org>
9646
9647         fgetc, fputc, fread, fwrite tests: Fix link error.
9648         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9649         on non-MSVC platforms.
9650         * tests/test-fputc.c (main): Likewise.
9651         * tests/test-fread.c (main): Likewise.
9652         * tests/test-fwrite.c (main): Likewise.
9653         Reported by Jim Meyering.
9654
9655 2011-09-27  Bruno Haible  <bruno@clisp.org>
9656
9657         fputc, fwrite tests: Avoid test failure on MSVC.
9658         * tests/test-fgetc.c: Include msvc-inval.h.
9659         (main): Invoke gl_msvc_inval_ensure_handler.
9660         * tests/test-fputc.c: Include msvc-inval.h.
9661         (main): Invoke gl_msvc_inval_ensure_handler.
9662         * tests/test-fread.c: Include msvc-inval.h.
9663         (main): Invoke gl_msvc_inval_ensure_handler.
9664         * tests/test-fwrite.c: Include msvc-inval.h.
9665         (main): Invoke gl_msvc_inval_ensure_handler.
9666         * modules/fgetc-tests (Depends-on): Add msvc-inval.
9667         * modules/fputc-tests (Depends-on): Likewise.
9668         * modules/fread-tests (Depends-on): Likewise.
9669         * modules/fwrite-tests (Depends-on): Likewise.
9670
9671 2011-09-27  Bruno Haible  <bruno@clisp.org>
9672
9673         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
9674         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
9675         (raise): Remove older, duplicated declaration.
9676         (_gl_raise_SIGPIPE): New declaration.
9677         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
9678         (rpl_raise): Remove function.
9679         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
9680         a gnulib-defined SIGPIPE here.
9681         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
9682         'sigprocmask' has detected missing signal-blocking and the module
9683         'sigpipe' is enabled.
9684         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9685
9686 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9687
9688         base64-tests: avoid memory leak
9689         * tests/test-base64.c (main): Plug memory leak.
9690
9691         base32: new module
9692         * modules/base32: New module.
9693         * lib/base32.c: New file.
9694         * lib/base32.h: Likewise.
9695         * m4/base32.m4: Likewise.
9696         * modules/base32-tests: New test.
9697         * tests/test-base32.c: Likewise.
9698         * MODULES.html.sh (Misc): Mention it.
9699
9700 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9701
9702         gnulib: use more-standard license notice wording
9703         * gnulib-tool (func_emit_copyright_notice): When emitting a
9704         license notice into a file, use the standard wording as suggested
9705         by the current information for GNU maintainers, except say "file"
9706         rather than "program".  The new wording gives a license version
9707         number, which addresses an issue raised by Glenn Morris in
9708         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9709         * m4/onceonly.m4: Use that same wording here, too.
9710
9711         dup2: minor simplification
9712         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9713         as lib/dup2.c no longer uses 'inline'.
9714
9715 2011-09-25  Bruno Haible  <bruno@clisp.org>
9716
9717         strings: Fix compilation error on MSVC.
9718         * lib/strings.in.h: Include <stddef.h> for size_t.
9719
9720 2011-09-25  Bruno Haible  <bruno@clisp.org>
9721
9722         fflush et al.: Document limitation on MSVC.
9723         * doc/posix-functions/fflush.texi: Document possible crash in handling
9724         mode other than DEFAULT_HANDLING.
9725         * doc/posix-functions/fgetc.texi: Likewise.
9726         * doc/posix-functions/fputc.texi: Likewise.
9727         * doc/posix-functions/fread.texi: Likewise.
9728         * doc/posix-functions/fwrite.texi: Likewise.
9729
9730 2011-09-25  Bruno Haible  <bruno@clisp.org>
9731
9732         msvc-inval: Allow three invalid parameter handling modes.
9733         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9734         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9735         macros.
9736         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9737         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9738         SANE_LIBRARY_HANDLING as a no-op.
9739         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9740         <stdlib.h>.
9741         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9742
9743 2011-09-25  Bruno Haible  <bruno@clisp.org>
9744
9745         msvc-inval: Make handler multithread-safe.
9746         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9747         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9748         declarations.
9749         (gl_msvc_inval_current): New declaration.
9750         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9751         Operate on the structure returned by gl_msvc_inval_current().
9752         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9753         Remove varaiables.
9754         (tls_index, tls_initialized): New variables.
9755         (not_per_thread): New variable.
9756         (gl_msvc_inval_current): New function.
9757         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9758         returned by gl_msvc_inval_current().
9759
9760 2011-09-25  Bruno Haible  <bruno@clisp.org>
9761
9762         msvc-inval: Install handler globally.
9763         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9764         !_MSC_VER.
9765         (gl_msvc_invalid_parameter_handler): Remove declaration.
9766         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9767         declarations.
9768         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9769         Install the handler globally, don't uninstall it.
9770         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9771         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9772         currently valid, call RaiseException instead.
9773         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9774         for !_MSC_VER.
9775
9776 2011-09-25  Bruno Haible  <bruno@clisp.org>
9777
9778         strerror_r-posix: Fix for MSVC 9.
9779         * lib/strerror_r.c (local_snprintf): New function.
9780         (snprintf): Define to local_snprintf, not to _snprintf.
9781
9782 2011-09-25  Bruno Haible  <bruno@clisp.org>
9783
9784         ftruncate: Support for MSVC 9.
9785         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9786         (chsize_nothrow): New function.
9787         (chsize): Redefine as a macro.
9788         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9789         * modules/ftruncate (Depends-on): Add msvc-inval.
9790
9791 2011-09-25  Bruno Haible  <bruno@clisp.org>
9792
9793         New module 'fstat'.
9794         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9795         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9796         * lib/fchdir.c (rpl_fstat): Remove function.
9797         * m4/fstat.m4: New file.
9798         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9799         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9800         declared.
9801         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9802         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9803         * modules/fstat: New file.
9804         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9805         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9806         is set.
9807         * doc/posix-functions/fstat.texi: Mention the new module and the
9808         problem on MSVC.
9809         * NEWS: Mention the change.
9810         * modules/acl (Depends-on): Add fstat.
9811         * modules/chdir-safer (Depends-on): Likewise.
9812         * modules/chown (Depends-on): Likewise.
9813         * modules/copy-file (Depends-on): Likewise.
9814         * modules/fchdir (Depends-on): Likewise.
9815         * modules/fdopendir (Depends-on): Likewise.
9816         * modules/fopen (Depends-on): Likewise.
9817         * modules/fts (Depends-on): Likewise.
9818         * modules/getcwd (Depends-on): Likewise.
9819         * modules/isapipe (Depends-on): Likewise.
9820         * modules/linkat (Depends-on): Likewise.
9821         * modules/lseek (Depends-on): Likewise.
9822         * modules/mkdir-p (Depends-on): Likewise.
9823         * modules/open (Depends-on): Likewise.
9824         * modules/openat (Depends-on): Likewise.
9825         * modules/read-file (Depends-on): Likewise.
9826         * modules/renameat (Depends-on): Likewise.
9827         * modules/utimens (Depends-on): Likewise.
9828
9829 2011-09-25  Bruno Haible  <bruno@clisp.org>
9830
9831         linkat: Fix compilation on MSVC 9.
9832         * lib/linkat.c: Don't include <stdint.h>.
9833
9834 2011-09-25  Bruno Haible  <bruno@clisp.org>
9835
9836         fclose: Support for MSVC 9.
9837         * lib/fclose.c: Include msvc-inval.h.
9838         (fclose_nothrow): New function.
9839         (rpl_fclose): Use it.
9840         * modules/fclose (Depends-on): Add msvc-inval.
9841         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9842
9843 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9844
9845         dup2: minor simplifications
9846         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9847         that it's a performance win.
9848         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9849         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9850
9851 2011-09-24  Jim Meyering  <meyering@redhat.com>
9852
9853         test-futimens: avoid a warning from gcc -Wshadow
9854         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9855         to avoid a shadowing warning.
9856
9857 2011-09-24  Bruno Haible  <bruno@clisp.org>
9858
9859         fdopen: Support for MSVC 9.
9860         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9861         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9862         * lib/fdopen.c: Include msvc-inval.h.
9863         (fdopen_nothrow): New function.
9864         (rpl_fdopen): Use it.
9865         * modules/fdopen (Depends-on): Add msvc-inval.
9866         * modules/fclose-tests (Depends-on): Add fdopen.
9867         * modules/fflush-tests (Depends-on): Likewise.
9868         * modules/fgetc-tests (Depends-on): Likewise.
9869         * modules/fputc-tests (Depends-on): Likewise.
9870         * modules/fread-tests (Depends-on): Likewise.
9871         * modules/freopen-tests (Depends-on): Likewise.
9872         * modules/fseeko-tests (Depends-on): Likewise.
9873         * modules/ftello-tests (Depends-on): Likewise.
9874         * modules/fwrite-tests  (Depends-on): Likewise.
9875         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9876
9877 2011-09-24  Bruno Haible  <bruno@clisp.org>
9878
9879         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9880         * modules/fgetc-tests (Depends-on): Add unistd.
9881         * modules/fputc-tests (Depends-on): Likewise.
9882         * modules/fread-tests (Depends-on): Likewise.
9883         * modules/fwrite-tests (Depends-on): Likewise.
9884
9885 2011-09-24  Bruno Haible  <bruno@clisp.org>
9886
9887         dup: Simplify autoconf test.
9888         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9889         on gl_MSVC_INVAL's result.
9890
9891 2011-09-24  Bruno Haible  <bruno@clisp.org>
9892
9893         Tests for function fwrite().
9894         * modules/fwrite-tests: New file.
9895         * tests/test-fwrite.c: New file.
9896         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9897
9898         Tests for function fread().
9899         * modules/fread-tests: New file.
9900         * tests/test-fread.c: New file.
9901         * modules/stdio-tests (Depends-on): Add fread-tests.
9902
9903         Activate fputc tests.
9904         * modules/stdio-tests (Depends-on): Add fputc-tests.
9905
9906         Enhance fgetc, fputc tests.
9907         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9908         * tests/test-fputc.c (main): Likewise.
9909
9910 2011-09-24  Bruno Haible  <bruno@clisp.org>
9911
9912         write: Support for MSVC 9.
9913         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9914         is not 1.
9915         * lib/write.c (write_nothrow): New function.
9916         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9917         not 1. Use write_nothrow.
9918         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9919         invalid parameter handler.
9920         (gl_PREREQ_WRITE): New macro.
9921         * modules/write (Depends-on): Add msvc-inval.
9922         (configure.ac): Invoke gl_PREREQ_WRITE.
9923         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9924
9925 2011-09-24  Bruno Haible  <bruno@clisp.org>
9926
9927         read: Fix last commit.
9928         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9929
9930 2011-09-24  Bruno Haible  <bruno@clisp.org>
9931
9932         dup2: Fix last commit.
9933         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9934         (rpl_dup2): Disable fcntl workaround on native Windows.
9935
9936         sigprocmask: Make code safer.
9937         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9938         section that changes macro definitions for this compilation unit.
9939
9940 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9941
9942         dup2: clarify by coalescing Windows-specific material
9943         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9944         "msvc-nothrow.h"' to the Windows-specific section, so that the
9945         Emacs source need not contain these include files.
9946         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9947         Windows-specific fixes into this function rather than just the
9948         nothrow fix, as this shortens and clarifies the code.  Always
9949         define as a function, as that's a bit cleaner than having it be
9950         sometimes a function and sometimes a macro.
9951         (rpl_dup2): Move the Windows-specific stuff out of here and into
9952         ms_windows_dup2.  Don't protect the Haiku-related fix with
9953         "#if !defined __linux__", as the same code also works around
9954         a Linux kernel bug, and it doesn't add any system calls on any
9955         platform.  Add comment about FreeBSD 6.1.
9956
9957         sigprocmask: move #include directive
9958         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9959         Windows-specific section, so that the Emacs source need not
9960         contain msvc-inval.h.
9961
9962 2011-09-23  Bruno Haible  <bruno@clisp.org>
9963
9964         read: Support for MSVC 9.
9965         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9966         is not 1.
9967         * lib/read.c (read_nothrow): New function.
9968         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9969         read_nothrow.
9970         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9971         invalid parameter handler.
9972         (gl_PREREQ_READ): New macro.
9973         * modules/read (Depends-on): Add msvc-inval.
9974         (configure.ac): Invoke gl_PREREQ_READ.
9975         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9976
9977 2011-09-23  Bruno Haible  <bruno@clisp.org>
9978
9979         close: Support for MSVC 9.
9980         * lib/close.c: Include <errno.h>, msvc-inval.h.
9981         (close_nothrow): New function.
9982         (rpl_close): Use it.
9983         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9984         invalid parameter handler.
9985         * modules/close (Depends-on): Add msvc-inval.
9986         * modules/dup2-tests (Depends-on): Add close.
9987         * modules/dup3-tests (Depends-on): Likewise.
9988         * modules/fcntl-tests (Depends-on): Likewise.
9989         * modules/spawn-pipe-tests (Depends-on): Likewise.
9990         * modules/unistd-safer-tests (Depends-on): Likewise.
9991         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9992
9993 2011-09-23  Bruno Haible  <bruno@clisp.org>
9994
9995         New module 'dup'.
9996         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
9997         Allow replacement.
9998         * lib/dup.c: New file.
9999         * lib/fchdir.c (rpl_dup): Remove function.
10000         * m4/dup.m4: New file.
10001         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10002         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10003         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10004         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10005         * modules/dup: New file.
10006         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10007         'dup' module is in use.
10008         * modules/fdopendir (Depends-on): Add dup.
10009         * modules/fdutimensat-tests (Depends-on): Likewise.
10010         * modules/fts (Depends-on): Likewise.
10011         * modules/futimens-tests (Depends-on): Likewise.
10012         * modules/posix_spawnp-tests (Depends-on): Likewise.
10013         * modules/unistd-safer-tests (Depends-on): Likewise.
10014         * modules/utimens-tests (Depends-on): Likewise.
10015         * doc/posix-functions/dup.texi: Mention the new module and the problem
10016         on MSVC.
10017
10018 2011-09-23  Bruno Haible  <bruno@clisp.org>
10019
10020         getdtablesize: Support for MSVC 9.
10021         * lib/getdtablesize.c: Include msvc-inval.h.
10022         (_setmaxstdio_nothrow): New function.
10023         (_setmaxstdio): Redefine it.
10024         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10025         * modules/getdtablesize (Depends-on): Add msvc-inval.
10026         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10027
10028 2011-09-23  Bruno Haible  <bruno@clisp.org>
10029
10030         signal-h: Rename from signal.
10031         * modules/signal-h: Renamed from modules/signal.
10032         * modules/pthread_sigmask (Depends-on): Update.
10033         * modules/raise (Depends-on): Likewise.
10034         * modules/sigaction (Depends-on): Likewise.
10035         * modules/sigpipe (Depends-on): Likewise.
10036         * modules/sigprocmask (Depends-on): Likewise.
10037         * modules/sys_select (Depends-on): Likewise.
10038         * modules/signal-h-tests: Renamed from modules/signal-tests.
10039         (Files, Depends-on, Makefile.am): Update.
10040         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10041         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10042         (Files, Makefile.am): Update.
10043         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10044         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10045         * modules/signal: New placeholder file.
10046         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10047         * doc/posix-headers/signal.texi: Update.
10048         * NEWS: Mention the change.
10049
10050 2011-09-23  Bruno Haible  <bruno@clisp.org>
10051
10052         sigprocmask: Avoid crashes through signal() on MSVC 9.
10053         * lib/sigprocmask.c: Include msvc-inval.h.
10054         (signal_nothrow): New function.
10055         (signal): Redefine it.
10056         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10057         * modules/sigprocmask (Depends-on): Add msvc-inval.
10058         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10059
10060 2011-09-23  Bruno Haible  <bruno@clisp.org>
10061
10062         Tests for module 'raise'.
10063         * modules/raise-tests: New file.
10064         * tests/test-raise.c: New file.
10065
10066         raise: Support for MSVC.
10067         * lib/signal.in.h (raise): New declaration.
10068         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10069         for native Windows platforms.
10070         * m4/raise.m4: New file.
10071         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10072         HAVE_RAISE, REPLACE_RAISE.
10073         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10074         REPLACE_RAISE.
10075         * modules/raise (Status, Notice): Remove fields.
10076         (Files): Add m4/raise.m4.
10077         (Depends-on): Add signal, msvc-inval.
10078         (configure.ac): Use the common idioms.
10079         (Maintainer): Add me.
10080         * tests/test-signal-c++.cc: Check the signature of raise.
10081         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10082
10083 2011-09-23  Bruno Haible  <bruno@clisp.org>
10084
10085         pipe2: Fix compilation on pre-C99 compilers.
10086         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10087
10088 2011-09-23  Bruno Haible  <bruno@clisp.org>
10089
10090         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10091         * lib/msvc-nothrow.h: New file.
10092         * lib/msvc-nothrow.c: New file.
10093         * m4/msvc-nothrow.m4: New file.
10094         * modules/msvc-nothrow: New file.
10095         * lib/dup2.c: Include msvc-nothrow.h.
10096         (rpl_dup2): No need to protect _get_osfhandle call here.
10097         * lib/accept4.c: Include msvc-nothrow.h.
10098         * lib/error.c: Likewise.
10099         * lib/fcntl.c: Likewise.
10100         * lib/lseek.c: Likewise.
10101         * lib/nonblocking.c: Likewise.
10102         * lib/poll.c: Likewise.
10103         * lib/read.c: Likewise.
10104         * lib/select.c: Likewise.
10105         * lib/sockets.h: Likewise.
10106         * lib/sockets.c: Likewise.
10107         * lib/stdio-read.c: Likewise.
10108         * lib/stdio-write.c: Likewise.
10109         * lib/write.c: Likewise.
10110         * lib/w32sock.h: Likewise.
10111         * lib/w32spawn.h: Likewise.
10112         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10113         * lib/fsync.c: Likewise.
10114         * lib/isapipe.c: Likewise.
10115         * modules/dup2 (Depends-on): Add msvc-nothrow.
10116         * modules/accept4 (Depends-on): Likewise.
10117         * modules/error (Depends-on): Likewise.
10118         * modules/fcntl (Depends-on): Likewise.
10119         * modules/lseek (Depends-on): Likewise.
10120         * modules/nonblocking (Depends-on): Likewise.
10121         * modules/poll (Depends-on): Likewise.
10122         * modules/read (Depends-on): Likewise.
10123         * modules/select (Depends-on): Likewise.
10124         * modules/sockets (Depends-on): Likewise.
10125         * modules/sigpipe (Depends-on): Likewise.
10126         * modules/write (Depends-on): Likewise.
10127         * modules/accept (Depends-on): Likewise.
10128         * modules/bind (Depends-on): Likewise.
10129         * modules/connect (Depends-on): Likewise.
10130         * modules/gethostname (Depends-on): Likewise.
10131         * modules/getpeername (Depends-on): Likewise.
10132         * modules/getsockname (Depends-on): Likewise.
10133         * modules/getsockopt (Depends-on): Likewise.
10134         * modules/ioctl (Depends-on): Likewise.
10135         * modules/listen (Depends-on): Likewise.
10136         * modules/recv (Depends-on): Likewise.
10137         * modules/recvfrom (Depends-on): Likewise.
10138         * modules/send (Depends-on): Likewise.
10139         * modules/sendto (Depends-on): Likewise.
10140         * modules/setsockopt (Depends-on): Likewise.
10141         * modules/shutdown (Depends-on): Likewise.
10142         * modules/socket (Depends-on): Likewise.
10143         * modules/execute (Depends-on): Likewise.
10144         * modules/spawn-pipe (Depends-on): Likewise.
10145         * modules/flock (Depends-on): Likewise.
10146         * modules/fsync (Depends-on): Likewise.
10147         * modules/isapipe (Depends-on): Likewise.
10148         * tests/test-cloexec.c: Include msvc-nothrow.h.
10149         * tests/test-dup-safer.c: Likewise.
10150         * tests/test-dup2.c: Likewise.
10151         * tests/test-dup3.c: Likewise.
10152         * tests/test-fcntl.c: Likewise.
10153         * tests/test-pipe.c: Likewise.
10154         * tests/test-pipe2.c: Likewise.
10155         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10156         * modules/unistd-safer-tests (Depends-on): Likewise.
10157         * modules/dup2-tests (Depends-on): Likewise.
10158         * modules/dup3-tests (Depends-on): Likewise.
10159         * modules/fcntl-tests (Depends-on): Likewise.
10160         * modules/pipe-posix-tests (Depends-on): Likewise.
10161         * modules/pipe2-tests (Depends-on): Likewise.
10162
10163 2011-09-23  Bruno Haible  <bruno@clisp.org>
10164
10165         dup2: Make code more maintainable.
10166         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10167         (rpl_dup2): Use it.
10168         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10169         * modules/dup2 (configure.ac): Invoke it.
10170         Reported by Paul Eggert.
10171
10172 2011-09-23  Bruno Haible  <bruno@clisp.org>
10173
10174         msvc-inval: Fix compilation error.
10175         * lib/msvc-inval.h: Include <excpt.h>.
10176
10177 2011-09-23  Bruno Haible  <bruno@clisp.org>
10178
10179         mkdir: Tweak for MSVC 9.
10180         * lib/sys_stat.in.h: Update comments.
10181         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10182
10183         Tests for module 'chdir'.
10184         * modules/chdir-tests: New file.
10185         * tests/test-chdir.c: New file.
10186
10187         New module 'chdir'.
10188         * modules/chdir: New file.
10189         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10190         (chdir): New declaration.
10191         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10192         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10193         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10194         * tests/test-unistd-c++.cc: Check signature of chdir.
10195         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10196         * modules/chdir-long (Depends-on): Add chdir.
10197         * modules/fchdir (Depends-on): Likewise.
10198         * modules/rename (Depends-on): Likewise.
10199         * modules/savewd (Depends-on): Likewise.
10200
10201         rmdir: Support for mingw, MSVC 9.
10202         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10203         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10204
10205         getcwd: Tweak for MSVC 9.
10206         * lib/unistd.in.h: Update comments.
10207         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10208
10209 2011-09-22  Bruno Haible  <bruno@clisp.org>
10210
10211         strerror_r-posix: Avoid a link error on MSVC.
10212         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10213         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10214
10215 2011-09-22  Bruno Haible  <bruno@clisp.org>
10216
10217         select: Avoid link errors on MSVC.
10218         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10219         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10220         * modules/pselect (Link): Likewise.
10221         * NEWS: Mention the change.
10222         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10223         test-select-stdin against $(LIB_SELECT).
10224         * modules/pselect-tests (Makefile.am): Link test-pselect against
10225         $(LIB_SELECT).
10226
10227 2011-09-22  Bruno Haible  <bruno@clisp.org>
10228
10229         select: Avoid compilation error on MSVC.
10230         * lib/select.c: Don't include <stdbool.h>.
10231
10232 2011-09-21  Bruno Haible  <bruno@clisp.org>
10233
10234         Consolidate all uses of PATH_MAX in *.m4 files.
10235         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10236         macros.
10237         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10238         and gl_PATHMAX_SNIPPET.
10239         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10240         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10241         * modules/chdir-long (Files): Add m4/pathmax.m4.
10242         * modules/getcwd (Files): Likewise.
10243
10244 2011-09-21  Bruno Haible  <bruno@clisp.org>
10245
10246         ftruncate: Un-deprecate, concentrate on Win32 support.
10247         * modules/ftruncate (Status, Notice): Remove sections.
10248         (Depends-on): Add largefile.
10249         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10250         non-mingw platforms.
10251         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10252         include <io.h>.
10253         * modules/perror-tests (Depends-on): Add ftruncate.
10254         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10255         'ftruncate' module.
10256
10257 2011-09-21  Bruno Haible  <bruno@clisp.org>
10258
10259         Add dependencies to new dirent related modules.
10260         * modules/opendir (Depends-on): Add closedir.
10261         * modules/getcwd (Depends-on): Add opendir, closedir.
10262         * modules/dirent-safer-tests (Depends-on): Likewise.
10263         * modules/fdopendir-tests (Depends-on): Likewise.
10264         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10265         * modules/renameat-tests (Depends-on): Likewise.
10266
10267 2011-09-21  Bruno Haible  <bruno@clisp.org>
10268
10269         opendir: Avoid compilation error on mingw.
10270         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10271         * modules/opendir (Depends-on): Add unistd.
10272
10273 2011-09-21  Bruno Haible  <bruno@clisp.org>
10274
10275         ftruncate tests: Avoid a test failure on mingw.
10276         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10277
10278 2011-09-21  Bruno Haible  <bruno@clisp.org>
10279
10280         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10281         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10282         native Windows.
10283
10284 2011-09-21  Bruno Haible  <bruno@clisp.org>
10285
10286         New module 'fdopen'.
10287         * lib/stdio.in.h (fdopen): New declaration.
10288         * lib/fdopen.c: New file.
10289         * m4/fdopen.m4: New file.
10290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10291         REPLACE_FDOPEN.
10292         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10293         REPLACE_FDOPEN.
10294         * modules/fdopen: New file.
10295         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10296         * tests/test-stdio-c++.cc: Check signature of fdopen.
10297         * doc/posix-functions/fdopen.texi: Mention the new module.
10298
10299 2011-09-21  Bruno Haible  <bruno@clisp.org>
10300
10301         unlockpt tests: Avoid test failure on NetBSD 5.1.
10302         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10303         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10304
10305 2011-09-21  Bruno Haible  <bruno@clisp.org>
10306
10307         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10308         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10309         * tests/test-getlogin_r.c (main): Likewise.
10310
10311 2011-09-20  Bruno Haible  <bruno@clisp.org>
10312
10313         time tests: Don't require pid_t.
10314         * doc/posix-headers/time.texi: Revert last change.
10315         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10316         * tests/test-time.c: Comment out the check for pid_t.
10317
10318 2011-09-20  Bruno Haible  <bruno@clisp.org>
10319
10320         fsync tests: Avoid a test failure on mingw.
10321         * tests/test-fsync.c (main): Allow a failure with EIO.
10322
10323 2011-09-20  Bruno Haible  <bruno@clisp.org>
10324
10325         euidaccess: Update comments.
10326         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10327
10328 2011-09-20  Bruno Haible  <bruno@clisp.org>
10329
10330         Ensure EBADF returns for socket functions on mingw.
10331         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10332         descriptor is invalid.
10333         * lib/bind.c (rpl_bind): Likewise.
10334         * lib/connect.c (rpl_connect): Likewise.
10335         * lib/getpeername.c (rpl_getpeername): Likewise.
10336         * lib/getsockname.c (rpl_getsockname): Likewise.
10337         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10338         * lib/listen.c (rpl_listen): Likewise.
10339         * lib/recv.c (rpl_recv): Likewise.
10340         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10341         * lib/send.c (rpl_send): Likewise.
10342         * lib/sendto.c (rpl_sendto): Likewise.
10343         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10344         * lib/shutdown.c (rpl_shutdown): Likewise.
10345
10346 2011-09-20  Bruno Haible  <bruno@clisp.org>
10347
10348         select tests: EBADF tests.
10349         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10350         test_bad_fd): New functions.
10351         (test_function): Invoke also test_bad_fd.
10352
10353 2011-09-20  Bruno Haible  <bruno@clisp.org>
10354
10355         Tests for module 'posix_spawn_file_actions_addopen.
10356         * modules/posix_spawn_file_actions_addopen-tests: New file.
10357         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10358
10359         Tests for module 'posix_spawn_file_actions_adddup2'.
10360         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10361         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10362
10363         Tests for module 'posix_spawn_file_actions_addclose'.
10364         * modules/posix_spawn_file_actions_addclose-tests: New file.
10365         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10366
10367 2011-09-20  Bruno Haible  <bruno@clisp.org>
10368
10369         Tests for module 'unlockpt'.
10370         * modules/unlockpt-tests: New file.
10371         * tests/test-unlockpt.c: New file.
10372         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10373
10374         Tests for module 'grantpt'.
10375         * modules/grantpt-tests: New file.
10376         * tests/test-grantpt.c: New file.
10377         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10378
10379 2011-09-20  Bruno Haible  <bruno@clisp.org>
10380
10381         freopen tests: EBADF tests.
10382         * tests/test-freopen.c: Include errno.h, unistd.h.
10383         (main): Add tests for EBADF, commented out for the moment.
10384
10385         fclose tests: EBADF tests.
10386         * tests/test-fclose.c (main): Add tests for EBADF.
10387
10388         fflush tests: EBADF tests.
10389         * tests/test-fflush.c: Include errno.h, macros.h.
10390         (main): Add tests for EBADF.
10391
10392         ftello tests: EBADF tests.
10393         * tests/test-ftello4.sh: New file.
10394         * tests/test-ftello4.c: New file.
10395         * modules/ftello-tests (Files): Add them.
10396         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10397
10398         fseeko tests: EBADF tests.
10399         * tests/test-fseeko4.sh: New file.
10400         * tests/test-fseeko4.c: New file.
10401         * modules/fseeko-tests (Files): Add them.
10402         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10403
10404         Tests for function fputc().
10405         * modules/fputc-tests: New file.
10406         * tests/test-fputc.c: New file.
10407         * modules/stdio-tests (Depends-on): Add fputc-tests.
10408
10409         Tests for function fgetc().
10410         * modules/fgetc-tests: New file.
10411         * tests/test-fgetc.c: New file.
10412         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10413
10414         Tests for function fdopen().
10415         * modules/fdopen-tests: New file.
10416         * tests/test-fdopen.c: New file.
10417         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10418
10419         Tests for module 'vdprintf'.
10420         * modules/vdprintf-tests: New file.
10421         * tests/test-vdprintf.c: New file.
10422
10423         Tests for module 'dprintf'.
10424         * modules/dprintf-tests: New file.
10425         * tests/test-dprintf.c: New file.
10426
10427 2011-09-20  Bruno Haible  <bruno@clisp.org>
10428
10429         Tests for module 'ioctl'.
10430         * modules/ioctl-tests: New file.
10431         * tests/test-ioctl.c: New file.
10432
10433 2011-09-20  Bruno Haible  <bruno@clisp.org>
10434
10435         fcntl tests: EBADF tests.
10436         * tests/test-fcntl.c (main): Add more tests for EBADF.
10437
10438 2011-09-20  Bruno Haible  <bruno@clisp.org>
10439
10440         utimensat tests: EBADF tests.
10441         * tests/test-utimensat.c (main): Add tests for EBADF.
10442
10443         renameat tests: EBADF tests.
10444         * tests/test-renameat.c (main): Add tests for EBADF.
10445
10446         mkfifoat tests: EBADF tests.
10447         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10448
10449         readlinkat tests: EBADF tests.
10450         * tests/test-readlinkat.c (main): Add tests for EBADF.
10451
10452         symlinkat tests: EBADF tests.
10453         * tests/test-symlinkat.c (main): Add tests for EBADF.
10454
10455         linkat tests: EBADF tests.
10456         * tests/test-linkat.c (main): Add tests for EBADF.
10457
10458         Tests for module 'faccessat'.
10459         * modules/faccessat-tests: New file.
10460         * tests/test-faccessat.c: New file.
10461
10462         fdopendir tests: EBADF tests.
10463         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10464
10465         openat tests: EBADF tests.
10466         * tests/test-fchownat.c (main): Add tests for EBADF.
10467         * tests/test-fstatat.c (main): Likewise.
10468         * tests/test-mkdirat.c (main): Likewise.
10469         * tests/test-openat.c (main): Likewise.
10470         * tests/test-unlinkat.c (main): Likewise.
10471         * tests/test-fchmodat.c: New file.
10472         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10473         (Makefile.am): Also run 'test-fchmodat'.
10474
10475 2011-09-20  Bruno Haible  <bruno@clisp.org>
10476
10477         utimens, futimens, fdutimensat tests: EBADF tests.
10478         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10479
10480         Tests for function fstat().
10481         * modules/fstat-tests: New file.
10482         * tests/test-fstat.c: New file.
10483         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10484
10485 2011-09-20  Bruno Haible  <bruno@clisp.org>
10486
10487         test-ttyname_r tests: EBADF tests.
10488         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10489
10490         Tests for module 'isatty'.
10491         * modules/isatty-tests: New file.
10492         * tests/test-isatty.c: New file.
10493
10494         Tests for module 'write'.
10495         * modules/write-tests: New file.
10496         * tests/test-write.c: New file.
10497
10498         Tests for module 'read'.
10499         * modules/read-tests: New file.
10500         * tests/test-read.c: New file.
10501
10502         pwrite tests: EBADF tests.
10503         * tests/test-pwrite.c (main): Add tests for EBADF.
10504
10505         pread tests: EBADF tests.
10506         * tests/test-pread.c (main): Add tests for EBADF.
10507
10508         lseek tests: EBADF tests.
10509         * tests/test-lseek.c (main): Add more tests for EBADF.
10510
10511         Tests for module 'ftruncate'.
10512         * modules/ftruncate-tests: New file.
10513         * tests/test-ftruncate.sh: New file.
10514         * tests/test-ftruncate.c: New file.
10515
10516         fsync tests: EBADF tests.
10517         * tests/test-fsync.c (main): Add more tests for EBADF.
10518
10519         fdatasync tests: EBADF tests.
10520         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10521
10522         Tests for module 'fchown'.
10523         * modules/fchown-tests: New file.
10524         * tests/test-fchown.c: New file.
10525
10526         Tests for module 'fchmod'.
10527         * modules/fchmod-tests: New file.
10528         * tests/test-fchmod.c: New file.
10529
10530         fchdir tests: EBADF tests.
10531         * tests/test-fchdir.c (main): Add more tests for EBADF.
10532
10533         dup2 tests: EBADF tests.
10534         * tests/test-dup2.c (main): Add more tests for EBADF.
10535
10536         Tests for module 'dup'.
10537         * modules/dup-tests: New file.
10538         * tests/test-dup.c: New file.
10539
10540         Tests for module 'close'.
10541         * modules/close-tests: New file.
10542         * tests/test-close.c: New file.
10543
10544 2011-09-20  Bruno Haible  <bruno@clisp.org>
10545
10546         Tests for module 'shutdown'.
10547         * modules/shutdown-tests: New file.
10548         * tests/test-shutdown.c: New file.
10549
10550         Tests for module 'setsockopt'.
10551         * modules/setsockopt-tests: New file.
10552         * tests/test-setsockopt.c: New file.
10553
10554         Tests for module 'sendto'.
10555         * modules/sendto-tests: New file.
10556         * tests/test-sendto.c: New file.
10557
10558         Tests for module 'send'.
10559         * modules/send-tests: New file.
10560         * tests/test-send.c: New file.
10561
10562         Tests for module 'recvfrom'.
10563         * modules/recvfrom-tests: New file.
10564         * tests/test-recvfrom.c: New file.
10565
10566         Tests for module 'recv'.
10567         * modules/recv-tests: New file.
10568         * tests/test-recv.c: New file.
10569
10570         Tests for module 'listen'.
10571         * modules/listen-tests: New file.
10572         * tests/test-listen.c: New file.
10573
10574         Tests for module 'getsockopt'.
10575         * modules/getsockopt-tests: New file.
10576         * tests/test-getsockopt.c: New file.
10577
10578         Tests for module 'getsockname'.
10579         * modules/getsockname-tests: New file.
10580         * tests/test-getsockname.c: New file.
10581
10582         Tests for module 'getpeername'.
10583         * modules/getpeername-tests: New file.
10584         * tests/test-getpeername.c: New file.
10585
10586         Tests for module 'connect'.
10587         * modules/connect-tests: New file.
10588         * tests/test-connect.c: New file.
10589
10590         Tests for module 'bind'.
10591         * modules/bind-tests: New file.
10592         * tests/test-bind.c: New file.
10593
10594         accept4 tests: Fix for native Windows.
10595         * tests/test-accept4.c: Include sockets.h.
10596         (main): Invoke gl_sockets_startup.
10597         * modules/accept4-tests (Depends-on): Add sockets.
10598
10599         accept tests: Fix for native Windows.
10600         * tests/test-accept.c: Include sockets.h.
10601         (main): Invoke gl_sockets_startup.
10602         * modules/accept-tests (Depends-on): Add sockets.
10603
10604 2011-09-19  Bruno Haible  <bruno@clisp.org>
10605
10606         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10607         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10608         do...while(0).
10609         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10610         Suggested by Paul Eggert.
10611
10612 2011-09-19  Bruno Haible  <bruno@clisp.org>
10613
10614         sched: Ensure pid_t is defined.
10615         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10616         not define pid_t.
10617         * lib/sched.in.h: Include <sys/types.h>.
10618         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10619         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10620
10621 2011-09-19  Bruno Haible  <bruno@clisp.org>
10622
10623         msvc-inval: Ensure the entire expansion is a single statement.
10624         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10625         of braces.
10626
10627 2011-09-19  Jim Meyering  <meyering@redhat.com>
10628
10629         tests: use printf, not echo in init.sh's warn_ function
10630         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10631         misbehave when given strings containing a backslash or starting
10632         with e.g., -n.  James Youngman suggested setting IFS.
10633
10634 2011-09-19  Eric Blake  <eblake@redhat.com>
10635
10636         futimens: enhance test
10637         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10638         closed non-negative fd.
10639
10640         date: accept 'hence' as opposite of 'ago'
10641         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10642         * tests/test-parse-datetime.c (main): Enhance test.
10643         Suggested by Jesse Wilson.
10644
10645 2011-09-19  Jim Meyering  <meyering@redhat.com>
10646
10647         getcwd: don't fail in a deep directory on a system without openat
10648         Before this change, getcwd would fail when called from a directory
10649         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10650         the non-openat implementation used "..", "../..", "../../..", etc.
10651         to access ancestor directories.  With too many, that string would
10652         be longer than PATH_MAX.
10653         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10654         using gnulib's openat replacement.
10655         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10656         we're using the replacement function.
10657
10658 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10659
10660         maint.mk: avoid warnings from perl about missing files
10661         * top/maint.mk (def_sym_regex): Ignore files listed in
10662         $(gl_other_headers_) that do not exist, say because a project
10663         does not use a corresponding module.
10664
10665 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10666
10667         stat: use pathmax.h only if needed
10668         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
10669         This is better for Emacs, which does not have a mingw port and
10670         therefore can avoid the pathmax module.
10671
10672         utimens: remove dependency on dup2
10673         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
10674         to work around the Linux kernel bug.
10675         * modules/utimens (Depends-on): Remove dup2.
10676
10677 2011-09-18  Bruno Haible  <bruno@clisp.org>
10678
10679         inet_ntop, inet_pton: Look for it also in libresolv.
10680         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
10681         libnsl, search for it in libresolv.
10682         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10683         Needed on Solaris 7.
10684
10685 2011-09-18  Bruno Haible  <bruno@clisp.org>
10686
10687         accept, accept4 tests: Avoid link error on Solaris.
10688         * modules/accept-tests (Makefile.am): Link test-accept against
10689         $(LIBSOCKET).
10690         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10691         $(LIBSOCKET).
10692
10693         accept4: Avoid link error on Solaris.
10694         * modules/accept4 (Link): New section.
10695
10696         socket functions: Avoid link errors on Solaris.
10697         * modules/accept (Depends-on): Add socketlib.
10698         (Link): New section.
10699         * modules/bind (Depends-on): Add socketlib.
10700         (Link): New section.
10701         * modules/connect (Depends-on): Add socketlib.
10702         (Link): New section.
10703         * modules/getpeername (Depends-on): Add socketlib.
10704         (Link): New section.
10705         * modules/getsockname (Depends-on): Add socketlib.
10706         (Link): New section.
10707         * modules/getsockopt (Depends-on): Add socketlib.
10708         (Link): New section.
10709         * modules/listen (Depends-on): Add socketlib.
10710         (Link): New section.
10711         * modules/recv (Depends-on): Add socketlib.
10712         (Link): New section.
10713         * modules/recvfrom (Depends-on): Add socketlib.
10714         (Link): New section.
10715         * modules/send (Depends-on): Add socketlib.
10716         (Link): New section.
10717         * modules/sendto (Depends-on): Add socketlib.
10718         (Link): New section.
10719         * modules/setsockopt (Depends-on): Add socketlib.
10720         (Link): New section.
10721         * modules/shutdown (Depends-on): Add socketlib.
10722         (Link): New section.
10723         * modules/socket (Depends-on): Add socketlib.
10724         (Link): New section.
10725
10726 2011-09-18  Bruno Haible  <bruno@clisp.org>
10727
10728         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10729         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10730         than 5 seconds.
10731         * modules/ptsname-tests (configure.ac): Test for alarm.
10732
10733 2011-09-18  Bruno Haible  <bruno@clisp.org>
10734
10735         posix_spawn_file_actions_add*: Fix module dependencies.
10736         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10737         posix_spawn_file_actions_init.
10738         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10739         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10740
10741 2011-09-18  Bruno Haible  <bruno@clisp.org>
10742
10743         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10744         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10745         * tests/test-renameat.c (main): Likewise.
10746
10747 2011-09-18  Bruno Haible  <bruno@clisp.org>
10748
10749         Tests for module 'accept4'.
10750         * modules/accept4-tests: New file.
10751         * tests/test-accept4.c: New file.
10752
10753 2011-09-18  Bruno Haible  <bruno@clisp.org>
10754
10755         Tests for module 'accept'.
10756         * modules/accept-tests: New file.
10757         * tests/test-accept.c: New file.
10758
10759 2011-09-18  Bruno Haible  <bruno@clisp.org>
10760
10761         dup2: Support for MSVC.
10762         * lib/dup2.c: Include msvc-inval.h.
10763         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10764         _get_osfhandle calls.
10765         * modules/dup2 (Depends-on): Add msvc-inval.
10766         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10767
10768         New module 'msvc-inval'.
10769         * lib/msvc-inval.h: New file.
10770         * lib/msvc-inval.c: New file.
10771         * m4/msvc-inval.m4: New file.
10772         * modules/msvc-inval: New file.
10773
10774 2011-09-17  Bruno Haible  <bruno@clisp.org>
10775
10776         Tests for module 'pclose'.
10777         * modules/pclose-tests: New file.
10778
10779         New module 'pclose'.
10780         * lib/stdio.in.h (pclose): New declaration.
10781         * lib/pclose.c: New file.
10782         * m4/pclose.m4: New file.
10783         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10784         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10785         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10786         * modules/pclose: New file.
10787         * modules/popen-tests (Depends-on): Add pclose.
10788         * modules/popen-safer-tests (Depends-on): Likewise.
10789         * doc/posix-functions/pclose.texi: Mention the new module.
10790
10791 2011-09-17  Bruno Haible  <bruno@clisp.org>
10792
10793         popen: Support for MSVC.
10794         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10795         * lib/popen.c (popen): Provide alternate definition for native Windows.
10796         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10798         * modules/popen (Depends-on, configure.ac): Update condition.
10799         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10800         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10801         fixed.
10802
10803 2011-09-17  Bruno Haible  <bruno@clisp.org>
10804
10805         isnanl, isnand, isnanf: Work around MSVC bug.
10806         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10807
10808 2011-09-17  Bruno Haible  <bruno@clisp.org>
10809
10810         sys_socket tests: Fix recent mistake.
10811         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10812
10813 2011-09-17  Bruno Haible  <bruno@clisp.org>
10814
10815         putenv: Support for MSVC.
10816         * modules/putenv (Depends-on): Add environ.
10817         * lib/putenv.c (environ): Disable declaration.
10818         * lib/unistd.in.h: Update comment.
10819
10820 2011-09-17  Bruno Haible  <bruno@clisp.org>
10821
10822         math: Avoid macro redefinition warnings on MSVC.
10823         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10824         Undefine before redefining.
10825
10826 2011-09-17  Bruno Haible  <bruno@clisp.org>
10827
10828         doc: Mention functions which are declared as macros.
10829         * doc/posix-functions/*[fl].texi: Mention that some functions are
10830         defined as macros with arguments only.
10831
10832 2011-09-17  Bruno Haible  <bruno@clisp.org>
10833
10834         Add dependencies to new dirent related modules.
10835         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10836         * modules/fts (Depends-on): Likewise.
10837         * modules/glob (Depends-on): Likewise.
10838         * modules/savedir (Depends-on): Likewise.
10839         * modules/scandir (Depends-on): Likewise.
10840         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10841         * modules/fdopendir (Depends-on): Add opendir.
10842
10843 2011-09-17  Bruno Haible  <bruno@clisp.org>
10844
10845         inet_pton: Support for MSVC on Windows Vista or newer.
10846         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10847         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10848         HAVE_DECL_INET_PTON is defined.
10849         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10850         On platforms with <winsock2.h>, test whether inet_pton is declared in
10851         <ws2tcpip.h>. If so, arrange to replace it.
10852         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10853         REPLACE_INET_PTON.
10854         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10855         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10856         (Depends-on, configure.ac): Update condition.
10857         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10858
10859 2011-09-17  Bruno Haible  <bruno@clisp.org>
10860
10861         inet_ntop: Support for MSVC on Windows Vista or newer.
10862         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10863         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10864         HAVE_DECL_INET_NTOP is defined.
10865         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10866         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10867         <ws2tcpip.h>. If so, arrange to replace it.
10868         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10869         REPLACE_INET_NTOP.
10870         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10871         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10872         (Depends-on, configure.ac): Update condition.
10873         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10874
10875 2011-09-16  Eric Blake  <eblake@redhat.com>
10876
10877         test-fsync: yet another enhancement
10878         * tests/test-fsync.c (main): Also test behavior on read-only text
10879         file.
10880
10881 2011-09-16  Bruno Haible  <bruno@clisp.org>
10882
10883         Enhance fsync, fdatasync tests.
10884         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10885         * tests/test-fdatasync.c (main): Likewise.
10886
10887 2011-09-16  Bruno Haible  <bruno@clisp.org>
10888
10889         Support for MSVC compiler: Ensure mode_t gets defined.
10890         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10891         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10893         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10894         * tests/test-fcntl-h.c: Check that mode_t is defined.
10895         * tests/test-sys_stat.c: Likewise.
10896         * tests/test-sys_types.c: Likewise.
10897         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10898         * doc/posix-headers/sys_stat.texi: Likewise.
10899         * doc/posix-headers/sys_types.texi: Likewise.
10900
10901 2011-09-16  Bruno Haible  <bruno@clisp.org>
10902
10903         sys_stat: Support for MSVC.
10904         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10905         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10906         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10907         MSVC.
10908
10909 2011-09-16  Bruno Haible  <bruno@clisp.org>
10910
10911         Support for MSVC compiler: Ensure off_t gets defined.
10912         * lib/unistd.in.h: Include <sys/types.h>.
10913         * tests/test-fcntl-h.c: Check that off_t is defined.
10914         * tests/test-sys_stat.c: Likewise.
10915         * tests/test-sys_types.c: Likewise.
10916
10917 2011-09-16  Eric Blake  <eblake@redhat.com>
10918
10919         fdatasync: port to Solaris
10920         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10921         * modules/fdatasync (Link): Document it.
10922         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10923
10924         fdatasync: port to MacOS X 10.7
10925         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10926         declared.
10927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10928         * modules/unistd (Makefile.am): Substitute it.
10929         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10930         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10931
10932         fdatasync: minor improvements
10933         * modules/fdatasync (Depends-on): Add condition for fsync.
10934         * lib/fdatasync.c (fdatasync): Add comment.
10935         * tests/test-unistd-c++.cc: Test fdatasync.
10936
10937         unistd: update refs to newer POSIX
10938         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10939         Suggested by Bruno Haible.
10940
10941         fdatasync: new module
10942         * modules/fsync (Description): Document difference to fdatasync.
10943         * modules/fdatasync: New module.
10944         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10945         * lib/fdatasync.c (fdatasync): Likewise.
10946         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10947         defaults.
10948         * modules/unistd (Makefile.am): Set witnesses.
10949         * lib/unistd.in.h (fdatasync): Declare.
10950         * MODULES.html.sh: Document it.
10951         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10952         * modules/fdatasync-tests: New test.
10953         * tests/test-fdatasync.c: Likewise.
10954
10955 2011-09-16  Eric Blake  <eblake@redhat.com>
10956
10957         test-fsync: enhance tests
10958         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10959         * tests/test-fsync.c (main): Enhance test.
10960
10961 2011-09-15  Bruno Haible  <bruno@clisp.org>
10962
10963         Support for MSVC compiler: Ensure ssize_t gets defined.
10964         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10965         * doc/posix-headers/stdio.texi: Likewise.
10966         * modules/stdio (Depends-on): Add ssize_t.
10967         * modules/sys_socket (Depends-on): Likewise.
10968         * modules/sys_types (Depends-on): Likewise.
10969         * modules/sys_uio (Depends-on): Likewise.
10970         * modules/unistd (Depends-on): Likewise.
10971         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10972         * tests/test-sys_types.c: Check that ssize_t is defined.
10973
10974 2011-09-14  Bruno Haible  <bruno@clisp.org>
10975
10976         Avoid using #, the m4 comment starter character, near brackets.
10977         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10978         delimiter character in sed expressions.
10979         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10980         Suggested by Eric Blake.
10981
10982         Properly quote AC_CHECK_DECLS' 4th argument.
10983         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10984         argument.
10985         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10986         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10987         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10988         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10989         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10990         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10992         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
10993         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
10994         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10995         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
10996         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10997         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10998         * m4/isinf.m4 (gl_ISINF): Likewise.
10999         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11000         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11001         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11002         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11003         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11004         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11005         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11006         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11007         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11008         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11009         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11010         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11012         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11013         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11014         Reported by Eric Blake.
11015
11016         Properly quote AC_CHECK_DECL's 4th argument.
11017         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11018         argument.
11019         * m4/argp.m4 (gl_ARGP): Likewise.
11020         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11021         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11022         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11023         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11024         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11025         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11027         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11028         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11029         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11030         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11031         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11032         Reported by Eric Blake.
11033
11034 2011-09-14  Eric Blake  <eblake@redhat.com>
11035
11036         opendir: avoid compile warning
11037         * lib/opendir.c (includes): Always include errno.h.
11038         Reported by Tatsuro MATSUOKA.
11039
11040 2011-09-14  Jim Meyering  <meyering@redhat.com>
11041
11042         maint.mk: sc_tight_scope: propagate failure from sub-make
11043         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11044         Reported by Martin von Gagern.
11045
11046 2011-09-13  Bruno Haible  <bruno@clisp.org>
11047
11048         tempname: Support for MSVC.
11049         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11050         MSVC.
11051         * modules/tempname (Depends-on): Add fcntl-h.
11052
11053 2011-09-13  Bruno Haible  <bruno@clisp.org>
11054
11055         sys_time: Support for MSVC.
11056         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11057         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11058         include <winsock2.h>.
11059         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11060         function declarations that collide with POSIX.
11061         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11062         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11063
11064 2011-09-13  Bruno Haible  <bruno@clisp.org>
11065
11066         stat: Support for MSVC.
11067         * lib/stat.c: Include pathmax.h.
11068         * modules/stat (Depends-on): Add pathmax.
11069
11070         pathmax: Support for native Windows.
11071         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11072
11073 2011-09-12  Bruno Haible  <bruno@clisp.org>
11074
11075         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11076         * lib/dirent.in.h (struct dirent): New type.
11077         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11078         DT_WHT): New macros.
11079         (DIR): New type.
11080         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11081         (readdir, rewinddir): New declarations.
11082         * lib/dirent-private.h: New file.
11083         * lib/opendir.c: New file.
11084         * lib/readdir.c: New file.
11085         * lib/rewinddir.c: New file.
11086         * lib/closedir.c: New file.
11087         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11088         * m4/opendir.m4: New file.
11089         * m4/readdir.m4: New file.
11090         * m4/rewinddir.m4: New file.
11091         * m4/closedir.m4: New file.
11092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11093         REPLACE_CLOSEDIR here.
11094         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11095         readdir, rewinddir are declared.
11096         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11097         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11098         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11099         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11100         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11101         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11102         * modules/opendir: New file.
11103         * modules/readdir: New file.
11104         * modules/rewinddir: New file.
11105         * modules/closedir: New file.
11106         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11107         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11108         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11109         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11110         * NEWS: Mention the 'fchdir' change.
11111
11112 2011-09-11  Bruno Haible  <bruno@clisp.org>
11113
11114         asm-underscore.m4: Support for MSVC.
11115         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11116         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11117
11118 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11119
11120         Doc about crypt functions.
11121         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11122         needing for _GNU_SOURCE to get crypt.
11123         * doc/posix-functions/encrypt.texi: Likewise.
11124         * doc/posix-functions/setkey.texi: Likewise.
11125
11126 2011-09-11  Bruno Haible  <bruno@clisp.org>
11127
11128         doc: Update regarding MSVC 9.
11129         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11130         tested".
11131         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11132         * doc/posix-headers/*.texi: Likewise.
11133         * doc/pastposix-functions/*.texi: Likewise.
11134         * doc/glibc-functions/*.texi: Likewise.
11135         * doc/glibc-headers/*.texi: Likewise.
11136
11137 2011-09-11  Bruno Haible  <bruno@clisp.org>
11138
11139         unistd et al.: Don't assume <unistd.h> exists.
11140         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11141         does not exist.
11142         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11143         exist. But include <stdlib.h>.
11144         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11145         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11146         symlink() does not exist.
11147         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11148         include <io.h> instead.
11149         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11150         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11151         include <direct.h> instead.
11152         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11153         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11154         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11155         <io.h> instead.
11156         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11157         correctly if the system does not have hard links.
11158         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11159         <direct.h> instead.
11160         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11161         it when looking for function declarations.
11162         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11163         <direct.h> and <io.h> instead.
11164         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11165
11166 2011-09-11  Bruno Haible  <bruno@clisp.org>
11167
11168         strcase: Support for MSVC.
11169         * modules/strcase (Status, Notice): Remove obsoletion mark.
11170         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11171         * doc/posix-functions/strncasecmp.texi: Likewise.
11172
11173         strings: Don't assume <strings.h> exists.
11174         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11175         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11176         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11177         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11178
11179 2011-09-11  Bruno Haible  <bruno@clisp.org>
11180
11181         dirent: Don't assume <dirent.h> exists.
11182         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11183         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11184         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11185         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11186
11187 2011-09-11  Bruno Haible  <bruno@clisp.org>
11188
11189         Fix wint_t on MSVC.
11190         * lib/wchar.in.h (wint_t): On MSVC, override it.
11191         * lib/wctype.in.h (wint_t): Likewise.
11192         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11193         MSVC.
11194         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11195         * doc/posix-headers/wctype.texi: Likewise.
11196
11197 2011-09-11  Bruno Haible  <bruno@clisp.org>
11198
11199         sys_types: Fix typo.
11200         * lib/sys_types.in.h: Fix typo in comment.
11201         Reported by Paul Eggert.
11202
11203         Support for MSVC compiler: Ensure size_t gets defined.
11204         * modules/strings (Depends-on): Add 'sys_types'.
11205         * modules/sys_uio (Depends-on): Likewise.
11206         * lib/sys_uio.in.h: Update comment.
11207
11208         C++ tests for module 'sys_types'.
11209         * modules/sys_types-c++-tests: New file.
11210         * tests/test-sys_types-c++.cc: New file.
11211
11212         Tests for module 'sys_types'.
11213         * modules/sys_types-tests: New file.
11214         * tests/test-sys_types.c: New file.
11215
11216         New module 'sys_types'.
11217         * lib/sys_types.in.h: New file.
11218         * m4/sys_types_h.m4: New file.
11219         * modules/sys_types: New file.
11220         * doc/posix-headers/sys_types.texi: Mention the new module and the
11221         size_t problem on MSVC 9.
11222
11223 2011-09-11  Bruno Haible  <bruno@clisp.org>
11224
11225         Support for MSVC compiler: Avoid division by a literal 0.
11226         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11227         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11228         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11229         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11230         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11231         * tests/infinity.h: New file.
11232         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11233         on MSVC.
11234         * tests/test-ceilf1.c: Include infinity.h.
11235         (main): Use Infinityf.
11236         * tests/test-ceil1.c: Include infinity.h.
11237         (main): Use Infinityd.
11238         * tests/test-ceill.c: Include infinity.h.
11239         (main): Use Infinityl.
11240         * tests/test-dprintf-posix.c: Include infinity.h.
11241         (test_function): Use Infinityd.
11242         * tests/test-floorf1.c: Include infinity.h.
11243         (main): Use Infinityf.
11244         * tests/test-floor1.c: Include infinity.h.
11245         (main): Use Infinityd.
11246         * tests/test-floorl.c: Include infinity.h.
11247         (main): Use Infinityl.
11248         * tests/test-fprintf-posix.c: Include infinity.h.
11249         (test_function): Use Infinityd.
11250         * tests/test-frexp.c: Include infinity.h.
11251         (main): Use Infinityd.
11252         * tests/test-frexpl.c: Include infinity.h.
11253         (main): Use Infinityl.
11254         * tests/test-isfinite.c: Include infinity.h.
11255         (test_isfinitef): Use Infinityf.
11256         (test_isfinited): Use Infinityd.
11257         (test_isfinitel): Use Infinityl.
11258         * tests/test-isinf.c: Include infinity.h.
11259         (test_isinff): Use Infinityf.
11260         (test_isinfd): Use Infinityd.
11261         (test_isinfl): Use Infinityl.
11262         * tests/test-isnan.c: Include infinity.h.
11263         (test_float): Use Infinityf.
11264         (test_double): Use Infinityd.
11265         (test_long_double): Use Infinityl.
11266         * tests/test-isnanf.h: Include infinity.h.
11267         (main): Use Infinityf.
11268         * tests/test-isnand.h: Include infinity.h.
11269         (main): Use Infinityd.
11270         * tests/test-isnanl.h: Include infinity.h.
11271         (main): Use Infinityl.
11272         * tests/test-ldexpl.c: Include infinity.h.
11273         (main): Use Infinityl.
11274         * tests/test-printf-posix.h: Include infinity.h.
11275         (test_function): Use Infinityd.
11276         * tests/test-roundf1.c: Include infinity.h.
11277         (main): Use Infinityf.
11278         * tests/test-round1.c: Include infinity.h.
11279         (main): Use Infinityd.
11280         * tests/test-roundl.c: Include infinity.h.
11281         (main): Use Infinityl.
11282         * tests/test-signbit.c: Include infinity.h.
11283         (test_signbitf): Use Infinityf.
11284         (test_signbitd): Use Infinityd.
11285         (test_signbitl): Use Infinityl.
11286         * tests/test-snprintf-posix.h: Include infinity.h.
11287         (test_function): Use Infinityd, Infinityl.
11288         * tests/test-sprintf-posix.h: Include infinity.h.
11289         (test_function): Use Infinityd, Infinityl.
11290         * tests/test-truncf1.c: Include infinity.h.
11291         (main): Use Infinityf.
11292         * tests/test-trunc1.c: Include infinity.h.
11293         (main): Use Infinityd.
11294         * tests/test-truncl.c: Include infinity.h.
11295         (main): Use Infinityl.
11296         * tests/test-vasnprintf-posix.c: Include infinity.h.
11297         (test_function): Use Infinityd, Infinityl.
11298         * tests/test-vasprintf-posix.c: Include infinity.h.
11299         (test_function): Use Infinityd, Infinityl.
11300         * modules/ceilf-tests (Files): Add tests/infinity.h.
11301         * modules/ceil-tests (Files): Likewise.
11302         * modules/ceill-tests (Files): Likewise.
11303         * modules/dprintf-posix-tests (Files): Likewise.
11304         * modules/floorf-tests (Files): Likewise.
11305         * modules/floor-tests (Files): Likewise.
11306         * modules/floorl-tests (Files): Likewise.
11307         * modules/fprintf-posix-tests (Files): Likewise.
11308         * modules/frexp-tests (Files): Likewise.
11309         * modules/frexp-nolibm-tests (Files): Likewise.
11310         * modules/frexpl-tests (Files): Likewise.
11311         * modules/frexpl-nolibm-tests (Files): Likewise.
11312         * modules/isfinite-tests (Files): Likewise.
11313         * modules/isinf-tests (Files): Likewise.
11314         * modules/isnan-tests (Files): Likewise.
11315         * modules/isnanf-tests (Files): Likewise.
11316         * modules/isnanf-nolibm-tests (Files): Likewise.
11317         * modules/isnand-tests (Files): Likewise.
11318         * modules/isnand-nolibm-tests (Files): Likewise.
11319         * modules/isnanl-tests (Files): Likewise.
11320         * modules/isnanl-nolibm-tests (Files): Likewise.
11321         * modules/ldexpl-tests (Files): Likewise.
11322         * modules/printf-posix-tests (Files): Likewise.
11323         * modules/roundf-tests (Files): Likewise.
11324         * modules/round-tests (Files): Likewise.
11325         * modules/roundl-tests (Files): Likewise.
11326         * modules/signbit-tests (Files): Likewise.
11327         * modules/snprintf-posix-tests (Files): Likewise.
11328         * modules/sprintf-posix-tests (Files): Likewise.
11329         * modules/truncf-tests (Files): Likewise.
11330         * modules/trunc-tests (Files): Likewise.
11331         * modules/truncl-tests (Files): Likewise.
11332         * modules/vasnprintf-posix-tests (Files): Likewise.
11333         * modules/vasprintf-posix-tests (Files): Likewise.
11334         * modules/vdprintf-posix-tests (Files): Likewise.
11335         * modules/vfprintf-posix-tests (Files): Likewise.
11336         * modules/vprintf-posix-tests (Files): Likewise.
11337         * modules/vsnprintf-posix-tests (Files): Likewise.
11338         * modules/vsprintf-posix-tests (Files): Likewise.
11339         * modules/xprintf-posix-tests (Files): Likewise.
11340
11341 2011-09-11  Bruno Haible  <bruno@clisp.org>
11342
11343         Ensure pid_t gets defined.
11344         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11345         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11346         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11347         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11348         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11349         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11350         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11351         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11352         * tests/test-fcntl-h.c: Check that pid_t is defined.
11353         * tests/test-sched.c: Likewise.
11354         * tests/test-termios.c: Likewise.
11355         * tests/test-time.c: Likewise.
11356         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11357         * doc/posix-headers/signal.texi: Likewise.
11358         * doc/posix-headers/sys_types.texi: Likewise.
11359         * doc/posix-headers/time.texi: Likewise.
11360
11361 2011-09-11  Bruno Haible  <bruno@clisp.org>
11362
11363         acl: Fix compilation on Solaris 10 (older version).
11364         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11365         of ACE_EVERYONE.
11366         * lib/set-mode-acl.c (qset_acl): Likewise.
11367         Reported by Christian Jullien <eligis@orange.fr>.
11368
11369 2011-09-10  Bruno Haible  <bruno@clisp.org>
11370
11371         iconv, unsetenv: Add support for MSVC compiler.
11372         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11373         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11374
11375 2011-09-10  Bruno Haible  <bruno@clisp.org>
11376
11377         *printf: Add support for MSVC compiler.
11378         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11379         handles the exception caused by the %n directive. When cross-compiling,
11380         guess no on native Windows.
11381         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11382         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11383         emulate it through vsnprintf.
11384         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11385         * doc/posix-functions/dprintf.texi: Update documentation regarding
11386         MSVC 9.
11387         * doc/posix-functions/fprintf.texi: Likewise.
11388         * doc/posix-functions/printf.texi: Likewise.
11389         * doc/posix-functions/snprintf.texi: Likewise.
11390         * doc/posix-functions/sprintf.texi: Likewise.
11391         * doc/posix-functions/swprintf.texi: Likewise.
11392         * doc/posix-functions/vdprintf.texi: Likewise.
11393         * doc/posix-functions/vfprintf.texi: Likewise.
11394         * doc/posix-functions/vprintf.texi: Likewise.
11395         * doc/posix-functions/vsnprintf.texi: Likewise.
11396         * doc/posix-functions/vsprintf.texi: Likewise.
11397         * doc/glibc-functions/asprintf.texi: Likewise.
11398         * doc/glibc-functions/obstack_printf.texi: Likewise.
11399         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11400         * doc/glibc-functions/vasprintf.texi: Likewise.
11401
11402 2011-09-10  Bruno Haible  <bruno@clisp.org>
11403
11404         nocrash: Add support for native Windows.
11405         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11406
11407 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11408             Bruno Haible  <bruno@clisp.org>
11409
11410         absolute-header, include-next: Add support for MSVC compiler.
11411         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11412         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11413         directory separator in #line directives.
11414         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11415         recognize also backslash as directory separator in #line directives.
11416
11417 2011-09-08  Jim Meyering  <meyering@redhat.com>
11418
11419         maint.mk: mark the post-release commit log with "maint: " prefix
11420         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11421         one-line commit-log summary.
11422
11423 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11424             Bruno Haible  <bruno@clisp.org>
11425
11426         Doc about crypt functions.
11427         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11428         systems.
11429         * doc/posix-functions/encrypt.texi: Likewise.
11430         * doc/posix-functions/setkey.texi: Likewise.
11431
11432 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11433
11434         * lib/gc.h: Fix copyright header.
11435
11436 2011-09-07  Bruno Haible  <bruno@clisp.org>
11437
11438         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11439         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11440         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11441
11442 2011-09-07  Bruno Haible  <bruno@clisp.org>
11443
11444         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11445         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11446         * lib/freopen.c: Likewise.
11447         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11448         * lib/lstat.c: Likewise.
11449         * lib/stat.c: Likewise.
11450         * lib/open.c: Use different syntax for include of <fcntl.h>.
11451         * lib/openat.c: Include fcntl.h again, explicitly.
11452
11453 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11454
11455         parse-datetime: document the newly accepted format
11456         * doc/parse-datetime.texi (Combined date and time of day items):
11457         New section.
11458
11459 2011-09-06  Bruno Haible  <bruno@clisp.org>
11460
11461         acl: Fix a test failure on newer Solaris 10 with ZFS.
11462         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11463         ENOSYS as no ACL.
11464         Reported by Jim Meyering.
11465
11466 2011-09-06  Bruno Haible  <bruno@clisp.org>
11467
11468         acl: Update for AIX >= 5.3 with NFS.
11469         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11470         ENOSYS as no ACL.
11471
11472         acl: Fix a test failure on AIX >= 5.3 with NFS.
11473         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11474         as no ACL.
11475
11476 2011-09-06  Bruno Haible  <bruno@clisp.org>
11477
11478         acl: Fix a test failure on IRIX 6.5 with NFS.
11479         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11480         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11481         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11482         * lib/copy-acl.c (qcopy_acl): Likewise.
11483
11484 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11485
11486         openat: port to AIX 7.1 with large files
11487         AIX 7.1 does a "#define openat open64at" if large files are in use,
11488         so we can't simply #undef openat.  Use the orig_openat trick (similar
11489         to orig_open in lib/open.c) to work around the problem.  Problem
11490         reported by Kevin Brott for GNU tar, in the thread containing
11491         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11492         * lib/openat.c (__need_system_fcntl_h): Define first.
11493         Include <fcntl.h> and <sys/types.h> before undefining.
11494         (orig_openat) [HAVE_OPENAT]: New inline function.
11495         (openat) [HAVE_OPENAT]: Do not undef.
11496         (rpl_openat): Use orig_openat, not openat.
11497
11498 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11499             Bruno Haible  <bruno@clisp.org>
11500
11501         acl: Avoid errors on NonStop Kernel.
11502         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11503         ENOTSUP errors.
11504
11505 2011-09-05  Bruno Haible  <bruno@clisp.org>
11506
11507         acl: Clean up Solaris code.
11508         * lib/acl-internal.h: Remove no-op #if.
11509         * lib/file-has-acl.c: Likewise.
11510         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11511         * lib/copy-acl.c (qcopy_acl): Likewise.
11512
11513 2011-09-05  Bruno Haible  <bruno@clisp.org>
11514
11515         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11516         binaries built on the original Solaris 10.
11517         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11518         trivial.
11519
11520 2011-09-05  Bruno Haible  <bruno@clisp.org>
11521
11522         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11523         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11524         10.
11525         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11526         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11527         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11528         instead of acl_get, facl_get, acl_set, facl_set.
11529
11530 2011-09-05  Bruno Haible  <bruno@clisp.org>
11531
11532         copy-file: Try unit tests on more file systems.
11533         * tests/test-copy-file-1.sh: New file.
11534         * tests/test-copy-file-2.sh: New file.
11535         * modules/copy-file-tests (Files): Add them.
11536         (Makefile.am): Add them to TESTS.
11537
11538         acl: Try unit tests on more file systems.
11539         * tests/test-file-has-acl-1.sh: New file.
11540         * tests/test-file-has-acl-2.sh: New file.
11541         * tests/test-set-mode-acl-1.sh: New file.
11542         * tests/test-set-mode-acl-2.sh: New file.
11543         * tests/test-copy-acl-1.sh: New file.
11544         * tests/test-copy-acl-2.sh: New file.
11545         * modules/acl-tests (Files): Add them.
11546         (Makefile.am): Add them to TESTS.
11547
11548 2011-09-04  Bruno Haible  <bruno@clisp.org>
11549
11550         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11551         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11552         10.
11553         (OLD_ALLOW, OLD_DENY): New macros.
11554         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11555         ACE_ACCESS_ALLOWED_ACE_TYPE.
11556         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11557         ACE_ACCESS_DENIED_ACE_TYPE.
11558         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11559         (NEW_ACE_EXECUTE): Fix value.
11560         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11561         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11562         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11563         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11564         NEW_ACE_SYNCHRONIZE): New macros.
11565         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11566         instead of acl_fromtext, acl_set, facl_set.
11567         Fixes a coreutils/tests/cp/perm failure.
11568
11569 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11570
11571         openat: test for fstatat (..., 0) bug
11572         Further testing with tar suggests that fstatat (..., 0)
11573         does not work in general, on AIX 7.1; see
11574         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11575         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11576         replacement fstatat (which is what older AIX releases were using
11577         anyway).
11578         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11579         use is now changed to orig_fstatat.  This was probably the right
11580         thing to do anyway.
11581         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11582         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11583         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11584         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11585         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11586         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11587         if the bug is found.
11588
11589         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11590         This tests for another fstatat bug on AIX 7.1:
11591         fstatat (AT_FDCWD, ..., 0) does not work.  See
11592         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11593         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11594         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11595         (rpl_fstatat): Adjust so that it works around either (or both)
11596         bugs if present.
11597         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11598
11599 2011-09-03  Karl Berry  <karl@gnu.org>
11600
11601         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11602         in index entries.
11603
11604 2011-09-02  Bruno Haible  <bruno@clisp.org>
11605
11606         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11607         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11608         values of AR, ARFLAGS, RANLIB.
11609         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11610
11611 2011-09-02  Bruno Haible  <bruno@clisp.org>
11612
11613         Find 'ar' program that fits with --host argument.
11614         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11615
11616 2011-09-02  Bruno Haible  <bruno@clisp.org>
11617
11618         tests: init.sh: Support any non-GNU diff.
11619         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11620         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11621         Solaris 8.
11622
11623 2011-09-02  Bruno Haible  <bruno@clisp.org>
11624
11625         tests: init.sh: work also with any non-GNU diff that supports -u
11626         * tests/init.sh: Relax check for diff -u support.
11627         Rather than checking for GNU diff via --version, simply check
11628         for support for -u itself.  Useful at least on OpenBSD 4.9,
11629         AIX 7.1, IRIX 6.5, and Solaris 10.
11630
11631 2011-09-01  Bruno Haible  <bruno@clisp.org>
11632
11633         strtoimax, strtoumax: Document problem on HP-UX 11.
11634         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11635         * doc/posix-functions/strtoumax.texi: Likewise.
11636
11637 2011-09-01  Bruno Haible  <bruno@clisp.org>
11638
11639         strtoumax: Avoid link error on OSF/1 with DTK cc.
11640         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11641         defined as a function.
11642         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11643         strtoumax is defined, not whether it is declared.
11644
11645 2011-09-01  Bruno Haible  <bruno@clisp.org>
11646
11647         strtoimax: Avoid link error on OSF/1 with DTK cc.
11648         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11649         defined as a function.
11650         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11651         strtoimax is defined, not whether it is declared.
11652
11653 2011-09-01  Bruno Haible  <bruno@clisp.org>
11654
11655         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11656         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11657         as a function.
11658         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11659         whether it is declared.
11660
11661 2011-09-01  Bruno Haible  <bruno@clisp.org>
11662
11663         imaxabs: Avoid link error on OSF/1 with DTK cc.
11664         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
11665         as a function.
11666         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
11667         whether it is declared.
11668
11669 2011-09-01  Bruno Haible  <bruno@clisp.org>
11670
11671         Tests for module 'strtoumax'.
11672         * modules/strtoumax-tests: New file.
11673         * tests/test-strtoumax.c: New file.
11674
11675         Tests for module 'strtoimax'.
11676         * modules/strtoimax-tests: New file.
11677         * tests/test-strtoimax.c: New file.
11678
11679         Tests for module 'imaxdiv'.
11680         * modules/imaxdiv-tests: New file.
11681         * tests/test-imaxdiv.c: New file.
11682
11683         Tests for module 'imaxabs'.
11684         * modules/imaxabs-tests: New file.
11685         * tests/test-imaxabs.c: New file.
11686
11687 2011-09-01  Bruno Haible  <bruno@clisp.org>
11688
11689         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11690         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11691         pthread_create.
11692
11693 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11694
11695         openat: work around AIX 7.1 fstatat issue
11696         This should fix the problem that was not properly fixed
11697         in the previous change, dated 2011-08-30.
11698         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11699         __need_system_stat_h defined.
11700         (orig_fstatat) [HAVE_FSTATAT]: New function.
11701         (rpl_fstatat): Go back to the old way of doing things,
11702         except call orig_fstatat instead of fstatat.
11703         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11704         Remove unnecessary check whether fstatat fills in st_size etc.
11705
11706 2011-09-01  Bruno Haible  <bruno@clisp.org>
11707
11708         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11709         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11710         just include the system's header.
11711
11712 2011-08-31  Jim Meyering  <meyering@redhat.com>
11713
11714         tests: avoid spurious assertion failure in test-float.c on ppc64
11715         * tests/test-float.c (test_long_double): Comment out an assertion,
11716         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11717         with gcc-4.4.4.
11718
11719         maint: indent with spaces, not TABs
11720         I need to get in the habit of running gnulib's "make check".
11721         Both of these would have been caught.
11722         * m4/largefile.m4: Indent with spaces, not TABs.
11723         * lib/parse-datetime.y (iso_8601_time): Likewise.
11724         Spotted by Pádraig Brady.
11725
11726         test-parse-datetime.c: accommodate a relatively strict gcc warning
11727         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11728         to avoid a warning from gcc's -Werror=missing-declarations.
11729         Insert a few spaces-before-funcall-parenthesis.
11730
11731 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11732
11733         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11734         The parser now accepts ISO 8601 date-time strings with "T" as the
11735         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11736         with a space between the date and time strings.  Now it also parses
11737         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11738         variants like "2004-02-29T16:21:42.333-07:00"
11739         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11740         of day representation using the 'T' separator character.
11741         * doc/parse-datetime.texi (General date syntax): replace use of
11742         deprecated --iso-8601 option with --rfc-3339 in example of date
11743         command output formats that can be parsed.
11744         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11745         lib/parse-datetime.y.
11746         (gmt_offset): New function.
11747         (main): Add additional test cases to validate ISO8601 extended
11748         date and time of day parsing.
11749
11750 2011-08-31  Bruno Haible  <bruno@clisp.org>
11751
11752         freopen: Documentation.
11753         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11754         name.
11755         Reported by Claudio Bley <claudio.bley@gmail.com>.
11756
11757 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11758
11759         freopen: Don't crash if the filename argument is NULL.
11760         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11761         NULL.
11762
11763 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11764
11765         openat: work around AIX 7.1 fstatat bug
11766         Problem reported by Kevin Brott for GNU tar, in the thread containing
11767         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11768         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11769         FSTATAT_ST_SIZE_ETC_BROKEN.
11770         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11771         rpl_fstatat.
11772         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11773         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11774         AC_CHECK_FUNCS_ONCE for fstatat.
11775         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11776         fchmodat, mkdirat, openat and unlinkat.
11777
11778 2011-08-30  Bruno Haible  <bruno@clisp.org>
11779
11780         Avoid endless recursions if config.h includes some header files.
11781         * lib/fopen.c (__need_FILE): Define already before including config.h.
11782         * lib/freopen.c (__need_FILE): Likewise.
11783         * lib/open.c (__need_system_fcntl_h): Likewise.
11784         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11785         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11786         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11787
11788 2011-08-25  Karl Berry  <karl@gnu.org>
11789
11790         * config/srclist.txt (ylwrap): new try.
11791         * build-aux/ylwrap: new file.
11792
11793 2011-08-23  Bruno Haible  <bruno@clisp.org>
11794
11795         tmpdir: Use a good default directory on native Windows.
11796         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11797         (P_tmpdir): Default to _P_tmpdir on native Windows.
11798         (path_search): On native Windows, try the value returned by GetTempPath
11799         before trying P_tmpdir.
11800         * modules/tmpdir (Depends-on): Add pathmax.
11801         Suggested by John Darrington <john@darrington.wattle.id.au>.
11802
11803 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11804
11805         doc: fix typo in README-release
11806         * top/README-release: Capitalize first word of a sentence.
11807
11808 2011-08-19  Jim Meyering  <meyering@redhat.com>
11809
11810         fts: do not exhaust memory when processing million-entry directories
11811         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11812         directory would require about 256*N bytes of memory.  Thus, it was
11813         easy to construct a directory too large to be processed by any of
11814         those tools.  With this change, fts' maximum memory utilization is
11815         now limited to around 30MB.
11816         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11817         (fts_read): When we've processed the final entry (i.e., when
11818         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11819         using the parent entry to read any remaining entries.  Dispatch
11820         depending on what fts_build returns:
11821         - NULL+stop, aka failure: stop
11822         - NULL otherwise: move up in the dir hierarchy
11823         - non-NULL: handle this new entry
11824         (fts_build): Declare and use new local, continue_readdir.
11825         Prepare to be called from fts_read, when the entries
11826         from a partially-read directory have just been exhausted.
11827         In that case, we'll skip the opendir and instead use the parent's
11828         fts_dirp and derive dir_fd from that.
11829         Finally, in the readdir loop, if we read max_entries entries,
11830         exit the loop ensuring *not* to call closedir.  This is required
11831         so that fts_dirp can be reused on a subsequent call.
11832         Prompted by Ben England's report of memory exhaustion in find
11833         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11834
11835         maint: fts: move decl of `dp' down into while loop; split a long line
11836         * lib/fts.c (fts_build): No semantic change.
11837
11838         fts: add/use new struct member, fts_dirp
11839         We are about to use this to manage any directory with
11840         too many entries to read all of them into memory at once.
11841         To do that, we'll need to save the DIR* pointer in each
11842         affected FTSENT struct.
11843         * lib/fts_.h: Include <dirent.h>.
11844         (struct FTSENT) [fts_dirp]: New member.
11845         * lib/fts.c (closedir_and_clear): Define.
11846         Use it in place of closedir so that we are sure to
11847         clear the new fts_dirp member when done with it.
11848         (fts_alloc): Initialize the new member.
11849         (fts_lfree): Free, if needed.
11850
11851         maint: fts: give __opendir2 a new parameter and rename
11852         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11853         than surreptitiously using sole caller's "dir_fd".
11854         (fts_opendir): Rename from __opendir2.
11855
11856         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11857         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11858
11859         maint: fts.c: correct off-by-one indentation
11860         * lib/fts.c (fts_build): Correct indentation, change style
11861         of a couple of block comments, and bracing style.
11862
11863         maint: fts.c: move __opendir2 #define "up" out of function body
11864         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11865
11866         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11867         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11868         out for a long time and besides was useful only on BSD systems.
11869
11870 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11871
11872         regex: port to Stratus OpenVOS
11873         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11874         define to empty, rather than attempting nonportable optimizations.
11875         Problem reported by Paul Green in:
11876         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11877         and fix suggested by Eric Blake in:
11878         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11879
11880 2011-08-17  Eric Blake  <eblake@redhat.com>
11881
11882         getcwd: fix test failures on mingw
11883         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11884         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11885         test if long directory cannot be created, and allow mingw errno.
11886
11887         getcwd-lgpl: fix m4 to match relaxed test for BSD
11888         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11889         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11890         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11891         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11892         signature problem.
11893
11894         getcwd: fix compilation on mingw64
11895         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11896         getcwd.
11897         Reported by Marc-André Lureau.
11898
11899         pipe2: silence compiler warning
11900         * lib/pipe2.c (pipe2): Hide label if it is not used.
11901
11902 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11903
11904         relocatable-prog: fix link error
11905         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11906         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11907         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11908         into modules/relocatable-lib without noticing that
11909         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11910         also needs to build relocatable.c.
11911
11912 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11913
11914         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11915         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11916         shell code: it contained a 'break' that was not in a loop.
11917         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11918         via a shell-language loop; this may have been true in old Autoconf
11919         versions, but it's not true in Autoconf 2.68.  I found this bug
11920         when testing coreutils git on Solaris 8, whose shell complains
11921         about the syntax error.
11922
11923 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11924
11925         * lib/base64.c: Fix comment to reference RFC 4648.
11926         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11927         <gvtulder@gmail.com>.
11928
11929 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11930
11931         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11932
11933         po/Makefile.in.in: fix make -q problem
11934         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11935         rule, since there's no file named 'check-macro-version' and its
11936         use as a file breaks make -q.
11937         (all): Don't depend on check-macro-version.
11938         (CHECK_MACRO_VERSION): New macro.
11939         (stamp-po): Use it.
11940
11941         configmake: fix make -q problem
11942         * modules/configmake (configmake.h): Update configmake.h's time stamp
11943         even if the file does not change.  Otherwise, 'make -q' fails.
11944         Problem reported by Simon Josefsson in
11945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11946
11947 2011-08-11  Jim Meyering  <meyering@redhat.com>
11948
11949         git-version-gen: correct the advice in a comment
11950         * build-aux/git-version-gen: Correct comment.
11951         Don't recommend to list .tarball-version in .gitignore.
11952
11953 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11954
11955         base64: fix off-by-one buffer size bug
11956         Problem and (trivial) fix reported by Gijs van Tulder in
11957         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11958         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11959         * tests/test-base64.c (main): Catch the bug.
11960
11961 2011-08-10  Eric Blake  <eblake@redhat.com>
11962
11963         closein: correct comments
11964         * lib/closein.c (close_stdin): Improve comments.
11965
11966 2011-08-09  Bruno Haible  <bruno@clisp.org>
11967
11968         More tests for 'fseeko'.
11969         * tests/test-fseeko3.c: New file, from Eric Blake.
11970         * tests/test-fseeko3.sh: New file.
11971         * modules/fseeko-tests (Files): Add them.
11972         (TESTS): Add test-fseeko3.sh.
11973         (check_PROGRAMS): Add test-fseeko3.
11974
11975 2011-08-09  Eric Blake  <eblake@redhat.com>
11976
11977         fseeko: remove unneeded hack
11978         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11979
11980         fseeko: fix bug on glibc
11981         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11982         Reported by John W. Eaton.
11983
11984 2011-08-08  Bruno Haible  <bruno@clisp.org>
11985
11986         unictype/base: Fix interoperability with preinstalled libunistring.
11987         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11988         Reported by Simon Josefsson.
11989
11990 2011-08-08  Bruno Haible  <bruno@clisp.org>
11991
11992         iswblank: Detect declaration correctly.
11993         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
11994         AC_CHECK_DECLS invocation.
11995
11996 2011-08-08  Bruno Haible  <bruno@clisp.org>
11997
11998         tcgetsid: Detect declaration correctly.
11999         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12000         AC_CHECK_DECLS invocation.
12001         Reported by Simon Josefsson.
12002
12003 2011-08-08  Eric Blake  <eblake@redhat.com>
12004
12005         largefile: fix typo that regressed large file support
12006         * modules/largefile (configure.ac-early): Fix section name.
12007
12008 2011-08-06  Karl Berry  <karl@gnu.org>
12009
12010         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12011         a separate module.
12012
12013 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12014
12015         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12016         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12017         get prototype for free.
12018
12019 2011-08-04  Bruno Haible  <bruno@clisp.org>
12020
12021         Tests for module 'pathmax'.
12022         * modules/pathmax-tests: New file.
12023         * tests/test-pathmax.c: New file.
12024
12025         canonicalize-lgpl: Support larger filenames on the Hurd.
12026         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12027         Reported by Paul Eggert.
12028
12029         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12030         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12031         * lib/chdir-long.h: Include pathmax.h.
12032         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12033         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12034         (PATH_MAX): Remove code that is done by pathmax.h.
12035         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12036         * lib/tmpfile.c: Add a comment.
12037         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12038         * modules/chdir-long (Depends-on): Add pathmax.
12039         * modules/getcwd (Depends-on): Add pathmax.
12040         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12041         is not defined.
12042         * doc/posix-headers/limits.texi: Mention the pathmax module.
12043         * NEWS: Mention the change.
12044
12045 2011-08-02  Bruno Haible  <bruno@clisp.org>
12046
12047         pthread_sigmask: Actually use results of gl_THREADLIB.
12048         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12049         gl_THREADLIB, not gl_[]THREADLIB.
12050         Reported by Eric Blake.
12051
12052 2011-08-02  Jim Meyering  <meyering@redhat.com>
12053
12054         maint.mk: relax the default _gl_TS_function_match regexp
12055         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12056         space between function name and "(" in an "extern" declaration.
12057         That would fail to match a decl with no space there: extern void foo();
12058
12059 2011-07-31  Iain Nicol  <iain@thenicols.net>
12060
12061         git-version-gen: document that EXTRA_DIST must include .version
12062         * build-aux/git-version-gen: In the how-to-use comment, document
12063         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12064         will fail when run from an unpacked distribution tarball.
12065
12066 2011-08-01  Bruno Haible  <bruno@clisp.org>
12067
12068         wctype-h: Fix last change.
12069         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12070         REPLACE_TOWLOWER to 0.
12071         Reported by Sam Steingold <sds@gnu.org>.
12072
12073 2011-07-31  Bruno Haible  <bruno@clisp.org>
12074
12075         frexpl: Update autoconf test.
12076         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12077         according to changes of 2011-06-20.
12078
12079 2011-07-31  Bruno Haible  <bruno@clisp.org>
12080
12081         sys_utsname: Add support for Minix.
12082         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12083         <sys/utsname.h>.
12084         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12085         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12086
12087 2011-07-31  Bruno Haible  <bruno@clisp.org>
12088
12089         strings: Add support for Minix.
12090         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12091         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12092         * doc/posix-headers/strings.texi: Document the Minix problem.
12093
12094 2011-07-31  Bruno Haible  <bruno@clisp.org>
12095
12096         wctype-h: Add support for Minix.
12097         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12098         REPLACE_TOWLOWER.
12099         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12100         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12101         REPLACE_ISWCNTRL.
12102
12103 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12104
12105         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12106         This is a performance improvement for 64-bit hosts: it causes the
12107         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12108
12109 2011-07-31  Bruno Haible  <bruno@clisp.org>
12110
12111         stdioext: Add support for Minix.
12112         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12113         * lib/fpurge.c (fpurge): Likewise.
12114         * lib/freadahead.c (freadahead): Likewise.
12115         * lib/freadable.c (freadable): Likewise.
12116         * lib/freading.c (freading): Likewise.
12117         * lib/freadptr.c (freadptr): Likewise.
12118         * lib/freadseek.c (freadptrinc): Likewise.
12119         * lib/fseeko.c (rpl_fseeko): Likewise.
12120         * lib/fseterr.c (fseterr): Likewise.
12121         * lib/fwritable.c (fwritable): Likewise.
12122         * lib/fwriting.c (fwriting): Likewise.
12123         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12124         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12125
12126 2011-07-31  Bruno Haible  <bruno@clisp.org>
12127
12128         errno: Port to Minix.
12129         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12130         ECONNABORTED are defined.
12131         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12132         GNULIB_defined_ECONNABORTED): New macros.
12133         * lib/strerror-override.h (strerror_override): Test also
12134         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12135         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12136         ECONNABORTED.
12137         * doc/posix-headers/errno.texi: Mention the Minix problem.
12138
12139 2011-07-31  Bruno Haible  <bruno@clisp.org>
12140
12141         Work around declaration collisions on Minix.
12142         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12143         defined, set REPLACE_MBSINIT.
12144         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12145         defined, set REPLACE_MBRTOWC.
12146         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12147         set REPLACE_MBRLEN.
12148         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12149         defined, set REPLACE_MBSRTOWCS.
12150         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12151         defined, set REPLACE_WCRTOMB.
12152         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12153         defined, set REPLACE_WCSRTOMBS.
12154
12155 2011-07-31  Bruno Haible  <bruno@clisp.org>
12156
12157         Add support for Minix with ACK compiler.
12158         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12159         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12160         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12161
12162 2011-07-31  Bruno Haible  <bruno@clisp.org>
12163
12164         Documentation about Minix.
12165         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12166         * doc/glibc-headers/*.texi: Likewise.
12167         * doc/posix-functions/*.texi: Likewise.
12168         * doc/glibc-functions/*.texi: Likewise.
12169
12170 2011-07-31  Bruno Haible  <bruno@clisp.org>
12171
12172         snippet/warn-on-use: Fix indentation.
12173         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12174
12175 2011-07-25  Jim Meyering  <meyering@redhat.com>
12176
12177         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12178         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12179         commands.
12180
12181 2011-07-27  Jim Meyering  <meyering@redhat.com>
12182
12183         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12184         * top/maint.mk (gl_extract_significant_defines_): Now that
12185         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12186         gnulib/lib/signal.in.h, and now that we recommend to
12187         define-if-undefined those two symbols in application code,
12188         we must filter them out of the "significant" list.
12189         This avoids a "make syntax-check" failure in coreutils.
12190
12191 2011-07-26  Eric Blake  <eblake@redhat.com>
12192
12193         warnings: add comments about previous patch
12194         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12195         * m4/include_next.m4: Likewise.
12196         * m4/warn-on-use.m4: Likewise.
12197         * m4/warnings.m4: Likewise, and simplify use.
12198         Suggested by Stefano Lattarini.
12199
12200         include-next, warnings: support older autoconf
12201         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12202         AS_VAR_PUSHDEF in a way that works with older autoconf.
12203         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12204         Reported by Daniel P. Berrange.
12205
12206 2011-07-25  Bruno Haible  <bruno@clisp.org>
12207
12208         fseek, ftell: Fix doc.
12209         * doc/posix-functions/fseek.texi: Reword statement about
12210         AC_SYS_LARGEFILE.
12211         * doc/posix-functions/ftell.texi: Likewise.
12212
12213 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12214             Bruno Haible  <bruno@clisp.org>
12215
12216         Add dependencies to the 'largefile' module.
12217         * modules/fopen (Depends-on): Add 'largefile'.
12218         * modules/freopen (Depends-on): Likewise.
12219         * modules/fseeko (Depends-on): Likewise.
12220         * modules/ftello (Depends-on): Likewise.
12221         * modules/glob (Depends-on): Likewise.
12222         * modules/lseek (Depends-on): Likewise.
12223         * modules/lstat (Depends-on): Likewise.
12224         * modules/mkostemp (Depends-on): Likewise.
12225         * modules/mkostemps (Depends-on): Likewise.
12226         * modules/mkstemp (Depends-on): Likewise.
12227         * modules/mkstemps (Depends-on): Likewise.
12228         * modules/open (Depends-on): Likewise.
12229         * modules/openat (Depends-on): Likewise.
12230         * modules/pread (Depends-on): Likewise.
12231         * modules/pwrite (Depends-on): Likewise.
12232         * modules/scandir (Depends-on): Likewise.
12233         * modules/stat (Depends-on): Likewise.
12234         * modules/tmpfile (Depends-on): Likewise.
12235         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12236         since the containing module now depends on the largefile module.
12237         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12238         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12239         off_t is fixed by gnulib.
12240         * doc/posix-functions/freopen.texi: Likewise.
12241         * doc/posix-functions/fseeko.texi: Likewise.
12242         * doc/posix-functions/fstatat.texi: Likewise.
12243         * doc/posix-functions/ftello.texi: Likewise.
12244         * doc/posix-functions/glob.texi: Likewise.
12245         * doc/posix-functions/lseek.texi: Likewise.
12246         * doc/posix-functions/lstat.texi: Likewise.
12247         * doc/posix-functions/mkstemp.texi: Likewise.
12248         * doc/posix-functions/open.texi: Likewise.
12249         * doc/posix-functions/openat.texi: Likewise.
12250         * doc/posix-functions/pread.texi: Likewise.
12251         * doc/posix-functions/pwrite.texi: Likewise.
12252         * doc/posix-functions/scandir.texi: Likewise.
12253         * doc/posix-functions/stat.texi: Likewise.
12254         * doc/posix-functions/tmpfile.texi: Likewise.
12255         * doc/glibc-functions/mkostemp.texi: Likewise.
12256         * doc/glibc-functions/mkostemps.texi: Likewise.
12257         * doc/glibc-functions/mkstemps.texi: Likewise.
12258
12259 2011-07-25  Bruno Haible  <bruno@clisp.org>
12260
12261         fcntl: Move AC_LIBOBJ invocation to module description.
12262         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12263         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12264
12265         fcntl: Remove call-in from fchdir.m4.
12266         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12267         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12268
12269         dup3: Remove potential call-in from fchdir.m4.
12270         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12271         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12272
12273         dup2: Move AC_LIBOBJ invocation to module description.
12274         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12275         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12276         Don't invoke AC_LIBOBJ.
12277         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12278
12279         dup2: Remove call-in from fchdir.m4.
12280         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12282
12283         fclose: Move AC_LIBOBJ invocation to module description.
12284         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12285         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12286         to 1.
12287         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12288
12289         fclose: Remove call-in from close.m4.
12290         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12291         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12292
12293         close: Move AC_LIBOBJ invocation to module description.
12294         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12295         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12296         1.
12297         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12298
12299         close: Remove call-in from fchdir.m4.
12300         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12301         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12302
12303         open: Move AC_LIBOBJ invocation to module description.
12304         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12305         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12306         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12307
12308         open: Remove call-in from fchdir.m4.
12309         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12310         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12311
12312         fchdir: Start to remove gl_REPLACE_* idiom.
12313         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12314         (gl_FUNC_FCHDIR): Invoke it.
12315
12316 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12317
12318         * lib/ftell.c (ftell): Comment out cast.
12319
12320         close: use gl_REPLACE_FCLOSE only if defined
12321         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12322         is defined.  The close module doesn't depend on the fclose module
12323         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12325         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12326
12327 2011-07-24  Jim Meyering  <meyering@redhat.com>
12328
12329         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12330         * tests/test-select.h (test_function): Declare as "static".
12331
12332 2011-07-24  Bruno Haible  <bruno@clisp.org>
12333
12334         doc: Mention the effects of AC_SYS_LARGEFILE.
12335         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12336         on this function.
12337         * doc/posix-functions/aio_error.texi: Likewise.
12338         * doc/posix-functions/aio_fsync.texi: Likewise.
12339         * doc/posix-functions/aio_read.texi: Likewise.
12340         * doc/posix-functions/aio_return.texi: Likewise.
12341         * doc/posix-functions/aio_suspend.texi: Likewise.
12342         * doc/posix-functions/aio_write.texi: Likewise.
12343         * doc/posix-functions/fgetpos.texi: Likewise.
12344         * doc/posix-functions/fopen.texi: Likewise.
12345         * doc/posix-functions/freopen.texi: Likewise.
12346         * doc/posix-functions/fsetpos.texi: Likewise.
12347         * doc/posix-functions/fstatvfs.texi: Likewise.
12348         * doc/posix-functions/ftruncate.texi: Likewise.
12349         * doc/posix-functions/ftw.texi: Likewise.
12350         * doc/posix-functions/getrlimit.texi: Likewise.
12351         * doc/posix-functions/glob.texi: Likewise.
12352         * doc/posix-functions/lio_listio.texi: Likewise.
12353         * doc/posix-functions/lockf.texi: Likewise.
12354         * doc/posix-functions/mkstemp.texi: Likewise.
12355         * doc/posix-functions/mmap.texi: Likewise.
12356         * doc/posix-functions/nftw.texi: Likewise.
12357         * doc/posix-functions/openat.texi: Likewise.
12358         * doc/posix-functions/opendir.texi: Likewise.
12359         * doc/posix-functions/posix_fadvise.texi: Likewise.
12360         * doc/posix-functions/posix_fallocate.texi: Likewise.
12361         * doc/posix-functions/pread.texi: Likewise.
12362         * doc/posix-functions/pwrite.texi: Likewise.
12363         * doc/posix-functions/readdir.texi: Likewise.
12364         * doc/posix-functions/readdir_r.texi: Likewise.
12365         * doc/posix-functions/rewinddir.texi: Likewise.
12366         * doc/posix-functions/scandir.texi: Likewise.
12367         * doc/posix-functions/seekdir.texi: Likewise.
12368         * doc/posix-functions/setrlimit.texi: Likewise.
12369         * doc/posix-functions/statvfs.texi: Likewise.
12370         * doc/posix-functions/telldir.texi: Likewise.
12371         * doc/posix-functions/tmpfile.texi: Likewise.
12372         * doc/posix-functions/truncate.texi: Likewise.
12373         * doc/glibc-functions/fallocate.texi: Likewise.
12374         * doc/glibc-functions/fstatfs.texi: Likewise.
12375         * doc/glibc-functions/fts_children.texi: Likewise.
12376         * doc/glibc-functions/fts_read.texi: Likewise.
12377         * doc/glibc-functions/getdirentries.texi: Likewise.
12378         * doc/glibc-functions/mkostemp.texi: Likewise.
12379         * doc/glibc-functions/mkostemps.texi: Likewise.
12380         * doc/glibc-functions/mkstemps.texi: Likewise.
12381         * doc/glibc-functions/preadv.texi: Likewise.
12382         * doc/glibc-functions/pwritev.texi: Likewise.
12383         * doc/glibc-functions/sendfile.texi: Likewise.
12384         * doc/glibc-functions/statfs.texi: Likewise.
12385
12386 2011-07-24  Bruno Haible  <bruno@clisp.org>
12387
12388         doc: Fix typo.
12389         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12390
12391 2011-07-24  Bruno Haible  <bruno@clisp.org>
12392
12393         doc: Mention fsusage.
12394         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12395
12396 2011-07-24  Bruno Haible  <bruno@clisp.org>
12397
12398         doc: Mention new glibc headers and functions.
12399         * doc/glibc-headers/gshadow.texi: New file.
12400         * doc/glibc-functions/endsgent.texi: New file.
12401         * doc/glibc-functions/fgetsgent.texi: New file.
12402         * doc/glibc-functions/fgetsgent_r.texi: New file.
12403         * doc/glibc-functions/getsgent.texi: New file.
12404         * doc/glibc-functions/getsgent_r.texi: New file.
12405         * doc/glibc-functions/getsgnam.texi: New file.
12406         * doc/glibc-functions/getsgnam_r.texi: New file.
12407         * doc/glibc-functions/putsgent.texi: New file.
12408         * doc/glibc-functions/setsgent.texi: New file.
12409         * doc/glibc-functions/sgetsgent.texi: New file.
12410         * doc/glibc-functions/sgetsgent_r.texi: New file.
12411         * doc/glibc-functions/malloc_info.texi: New file.
12412         * doc/glibc-functions/preadv.texi: New file.
12413         * doc/glibc-functions/pwritev.texi: New file.
12414         * doc/glibc-functions/register_printf_modifier.texi: New file.
12415         * doc/glibc-functions/register_printf_specifier.texi: New file.
12416         * doc/glibc-functions/register_printf_type.texi: New file.
12417         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12418         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12419         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12420         * doc/glibc-functions/pthread_getname_np.texi: New file.
12421         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12422         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12423         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12424         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12425         * doc/glibc-functions/pthread_setname_np.texi: New file.
12426         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12427         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12428         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12429         * doc/glibc-functions/qsort_r.texi: New file.
12430         * doc/glibc-functions/quick_exit.texi: New file.
12431         * doc/glibc-functions/syncfs.texi: New file.
12432         * doc/gnulib.texi: Include them.
12433         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12434         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12435         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12436         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12437         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12438         * doc/glibc-functions/execvpe.texi: Likewise.
12439
12440 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12441
12442         ftell: don't include <unistd.h>
12443         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12444         guaranteed to define off_t, and the ftell module depends on the
12445         stdio module.
12446
12447         ftell: do not assume wraparound signed arithmetic
12448         * lib/ftell.c: Include <limits.h>.
12449         (ftell): Don't assume wraparound signed arithmetic.
12450
12451 2011-07-24  Bruno Haible  <bruno@clisp.org>
12452
12453         close: No longer depend on module 'fclose'.
12454         * modules/close (Depends-on): Remove fclose.
12455         * NEWS: Mention the change.
12456         Suggested by Sam Steingold <sds@gnu.org>.
12457
12458 2011-07-24  Bruno Haible  <bruno@clisp.org>
12459
12460         fsusage: Enable large volume support on AIX >= 5.2.
12461         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12462         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12463         instead of STAT_STATVFS.
12464         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12465
12466         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12467         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12468         f_blocks field only on MacOS X.
12469
12470         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12471         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12472         * modules/fsusage (Depends-on): Add largefile.
12473
12474 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12475
12476         * README: Modernize discussion of signed integers.
12477         Assuming overflow wraparound is no longer safe.
12478         Mention ones' complement and signed magnitude.
12479
12480 2011-07-22  Bruno Haible  <bruno@clisp.org>
12481
12482         select tests, pselect tests: Refactor.
12483         * tests/test-select.h: New file, extracted from tests/test-select.c.
12484         (select_fn): New type.
12485         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12486         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12487         test_pipe): Add my_select argument.
12488         (test_function): Renamed from main. Add my_select argument.
12489         * tests/test-select.c: Move most code to tests/test-select.h. Include
12490         test-select.h.
12491         * modules/select-tests (Files): Add tests/test-select.h.
12492         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12493         (my_select, main): New functions.
12494         * modules/pselect-tests (Files): Add tests/test-select.h,
12495         tests/macros.h, tests/signature.h.
12496         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12497         (configure.ac): Check for <sys/wait.h>.
12498
12499 2011-07-22  Bruno Haible  <bruno@clisp.org>
12500
12501         sys_select tests: Check the signature of FD_*.
12502         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12503         signature tests from here...
12504         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12505         here.
12506         * modules/sys_select-tests (Files): Add tests/signature.h.
12507
12508 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12509
12510         largefile: new module, replacing large-inode
12511         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12512         * MODULES.html.sh: Add largefile, remove large-inode.
12513         * modules/largefile, m4/largefile.m4: New files.
12514         * modules/large-inode, m4/large-inode.m4: Remove.
12515
12516         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12517         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12518         implementations that use only 32 bits to count blocks.
12519         On typical hosts with 1024-byte blocks, this fails with file
12520         systems as small as 4 TiB.  Problem reported by Herb Wartens
12521         <http://debbugs.gnu.org/9140> and this should also fix a similar
12522         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12523
12524         large-inode: New module
12525         * MODULES.html.sh: Add it.
12526         * modules/large-inode, m4/large-inode.m4: New files.
12527
12528         extensions: Enable extensions on MacOS X 10.5 and later.
12529         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12530
12531 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12532
12533         file-has-acl: use acl_extended_file_nofollow if available
12534         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12535         (acl_extended_file): New macro.
12536         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12537         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12538
12539 2011-07-21  Bruno Haible  <bruno@clisp.org>
12540
12541         Declare system functions in a way that works with C++.
12542         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12543         declare fdopendir as extern "C".
12544         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12545         declare frexpl as extern "C".
12546         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12547         declare gai_strerror as extern "C".
12548         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12549         programs, declare gai_strerror as extern "C".
12550         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12551         declare getlogin_r as extern "C".
12552         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12553         as extern "C".
12554         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12555         declare ldexpl as extern "C".
12556         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12557         as extern "C".
12558         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12559         program, declare getmntinfo as extern "C".
12560         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12561         stpncpy as extern "C".
12562         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12563         program, declare __xpg_strerror_r as extern "C".
12564         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12565         strndup as extern "C".
12566         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12567         declare memset and bzero as extern "C".
12568         Reported by Sam Steingold <sds@gnu.org>.
12569
12570 2011-07-12  Jim Meyering  <meyering@redhat.com>
12571
12572         maint.mk: prohibit inclusion of "verify.h" without use
12573         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12574
12575 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12576
12577         timer-time: A new module to check for timer_settime()
12578         * m4/timer_time.m4: Check for the posix function.
12579         * modules/timer-time: Add the new module.
12580         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12581         Mention it.
12582
12583 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12584             Bruno Haible  <bruno@clisp.org>
12585
12586         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12587         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12588         not defined, assume POSIX threads and look for pthread_sigmask in
12589         $LIBS, without changing $CPPFLAGS.
12590
12591 2011-07-19  Bruno Haible  <bruno@clisp.org>
12592
12593         strstr: Update cross-compilation guess.
12594         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12595         CPUs, guess no, in view of glibc
12596         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12597         Suggested by Eric Blake. Reported by Reuben Thomas.
12598
12599 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12600
12601         getopt-gnu: suppress core dumps from detection code
12602         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12603         to suppress core dumps that may well occur on glibc systems.
12604         * modules/getopt-gnu: Depend on nocrash.
12605
12606 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12607
12608         pthread_sigmask: ensure usleep is declared
12609         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12610         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12611
12612 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12613
12614         doc: Document NonStop portability issues.
12615         * doc/posix-functions/sigaction.texi (sigaction):
12616         * doc/posix-headers/signal.texi (signal.h):
12617         Document NonStop.  See Joachim Schmitz in
12618         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12619
12620 2011-07-15  Bruno Haible  <bruno@clisp.org>
12621
12622         ffsl, ffsll: Avoid unportable behaviour.
12623         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12624
12625 2011-07-15  Bruno Haible  <bruno@clisp.org>
12626
12627         ffs: More tests.
12628         * tests/test-ffs.c (NBITS): New macro.
12629         (main): Add more tests.
12630         * tests/test-ffsl.c (NBITS): New macro.
12631         (main): Add more tests.
12632         * tests/test-ffsll.c (NBITS): New macro.
12633         (main): Add more tests.
12634
12635 2011-07-15  Eric Blake  <eblake@redhat.com>
12636
12637         ffsl, ffsll: new modules
12638         * modules/ffsl: New file.
12639         * modules/ffsll: Likewise.
12640         * m4/ffsl.m4: Likewise.
12641         * m4/ffsll.m4: Likewise.
12642         * lib/ffsl.c: Likewise.
12643         * lib/ffsl.h: Likewise.
12644         * lib/ffsll.c: Likewise.
12645         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12646         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12647         * modules/string (Makefile.am): Substitute witnesses.
12648         * lib/strings.in.h (ffsl, ffsll): Declare.
12649         * modules/ffsl-tests: New test file.
12650         * modules/ffsll-tests: Likewise.
12651         * tests/test-ffsl.c: Likewise.
12652         * tests/test-ffsll.c: Likewise.
12653         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12654         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12655         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12656
12657         ffs: fix m4 prerequisite
12658         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12659
12660         ffs: avoid undefined behavior
12661         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
12662         * tests/test-ffs.c (naive, main): Avoid signed shifts.
12663         Reported by Bruno Haible.
12664
12665 2011-07-12  Bruno Haible  <bruno@clisp.org>
12666
12667         pthread_sigmask: Rely on module 'threadlib'.
12668         * modules/pthread_sigmask (Depends-on): Add threadlib.
12669         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
12670         is defined.
12671
12672 2011-07-12  Bruno Haible  <bruno@clisp.org>
12673
12674         regex: Depend on module 'strcase'.
12675         * modules/regex (Depends-on): Add strcase, for strcasecmp().
12676
12677 2011-07-12  Jim Meyering  <meyering@redhat.com>
12678
12679         warn-on-use: fix typo in file name
12680         * modules/snippet/warn-on-use (Files): Correct file name:
12681         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
12682
12683 2011-07-12  Bruno Haible  <bruno@clisp.org>
12684
12685         strings: Document module.
12686         * doc/posix-headers/strings.texi: Mention module 'strings'.
12687
12688 2011-07-12  Bruno Haible  <bruno@clisp.org>
12689
12690         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12691         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12692         (Files, Makefile.am): Update.
12693         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12694         * modules/stdlib (Depends-on): Update.
12695
12696 2011-07-12  Bruno Haible  <bruno@clisp.org>
12697
12698         * NEWS: Mention the changes.
12699
12700         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12701         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12702         (Files, Makefile.am): Update.
12703         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12704         * modules/arpa_inet (Depends-on): Update.
12705         * modules/ctype (Depends-on): Update.
12706         * modules/dirent (Depends-on): Update.
12707         * modules/fcntl-h (Depends-on): Update.
12708         * modules/glob (Depends-on): Update.
12709         * modules/iconv-h (Depends-on): Update.
12710         * modules/inttypes-incomplete (Depends-on): Update.
12711         * modules/langinfo (Depends-on): Update.
12712         * modules/locale (Depends-on): Update.
12713         * modules/math (Depends-on): Update.
12714         * modules/netdb (Depends-on): Update.
12715         * modules/poll-h (Depends-on): Update.
12716         * modules/pty (Depends-on): Update.
12717         * modules/search (Depends-on): Update.
12718         * modules/signal (Depends-on): Update.
12719         * modules/spawn (Depends-on): Update.
12720         * modules/stdio (Depends-on): Update.
12721         * modules/stdlib (Depends-on): Update.
12722         * modules/string (Depends-on): Update.
12723         * modules/strings (Depends-on): Update.
12724         * modules/sys_file (Depends-on): Update.
12725         * modules/sys_ioctl (Depends-on): Update.
12726         * modules/sys_select (Depends-on): Update.
12727         * modules/sys_socket (Depends-on): Update.
12728         * modules/sys_stat (Depends-on): Update.
12729         * modules/sys_time (Depends-on): Update.
12730         * modules/sys_times (Depends-on): Update.
12731         * modules/sys_utsname (Depends-on): Update.
12732         * modules/sys_wait (Depends-on): Update.
12733         * modules/termios (Depends-on): Update.
12734         * modules/time (Depends-on): Update.
12735         * modules/unistd (Depends-on): Update.
12736         * modules/wchar (Depends-on): Update.
12737         * modules/wctype-h (Depends-on): Update.
12738         * MODULES.html.sh (Support for building libraries and executables):
12739         Update.
12740
12741         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12742         * modules/snippet/unused-parameter: Renamed from
12743         modules/unused-parameter.
12744         (Files, Makefile.am): Update.
12745         * build-aux/snippet/unused-parameter.h: Renamed from
12746         build-aux/unused-parameter.h.
12747         * modules/selinux-h (Depends-on): Update.
12748         * modules/unistr/base (Depends-on): Update.
12749         * MODULES.html.sh (Core language properties): Update.
12750
12751         Rename module 'link-warning' to 'snippet/link-warning'.
12752         * modules/snippet/link-warning: Renamed from modules/link-warning.
12753         (Files, Makefile.am): Update.
12754         * build-aux/snippet/link-warning.h: Renamed from
12755         build-aux/link-warning.h.
12756         * MODULES.html.sh (Support for building libraries and executables):
12757         Update.
12758
12759         Rename module 'c++defs' to 'snippet/c++defs'.
12760         * modules/snippet/c++defs: Renamed from modules/c++defs.
12761         (Files, Makefile.am): Update.
12762         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12763         * modules/arpa_inet (Depends-on): Update.
12764         * modules/ctype (Depends-on): Update.
12765         * modules/dirent (Depends-on): Update.
12766         * modules/fcntl-h (Depends-on): Update.
12767         * modules/glob (Depends-on): Update.
12768         * modules/iconv-h (Depends-on): Update.
12769         * modules/langinfo (Depends-on): Update.
12770         * modules/locale (Depends-on): Update.
12771         * modules/math (Depends-on): Update.
12772         * modules/netdb (Depends-on): Update.
12773         * modules/poll-h (Depends-on): Update.
12774         * modules/pty (Depends-on): Update.
12775         * modules/search (Depends-on): Update.
12776         * modules/signal (Depends-on): Update.
12777         * modules/spawn (Depends-on): Update.
12778         * modules/stdio (Depends-on): Update.
12779         * modules/stdlib (Depends-on): Update.
12780         * modules/string (Depends-on): Update.
12781         * modules/strings (Depends-on): Update.
12782         * modules/sys_ioctl (Depends-on): Update.
12783         * modules/sys_select (Depends-on): Update.
12784         * modules/sys_socket (Depends-on): Update.
12785         * modules/sys_stat (Depends-on): Update.
12786         * modules/sys_time (Depends-on): Update.
12787         * modules/sys_wait (Depends-on): Update.
12788         * modules/termios (Depends-on): Update.
12789         * modules/time (Depends-on): Update.
12790         * modules/unistd (Depends-on): Update.
12791         * modules/wchar (Depends-on): Update.
12792         * modules/wctype-h (Depends-on): Update.
12793
12794         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12795         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12796         (Files, Makefile.am): Update.
12797         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12798         * modules/argv-iter (Depends-on): Update.
12799         * modules/arpa_inet (Depends-on): Update.
12800         * modules/dirent (Depends-on): Update.
12801         * modules/fcntl-h (Depends-on): Update.
12802         * modules/fnmatch (Depends-on): Update.
12803         * modules/getopt-posix (Depends-on): Update.
12804         * modules/glob (Depends-on): Update.
12805         * modules/iconv-h (Depends-on): Update.
12806         * modules/inttypes-incomplete (Depends-on): Update.
12807         * modules/locale (Depends-on): Update.
12808         * modules/math (Depends-on): Update.
12809         * modules/netdb (Depends-on): Update.
12810         * modules/search (Depends-on): Update.
12811         * modules/signal (Depends-on): Update.
12812         * modules/spawn (Depends-on): Update.
12813         * modules/stdio (Depends-on): Update.
12814         * modules/stdlib (Depends-on): Update.
12815         * modules/string (Depends-on): Update.
12816         * modules/strings (Depends-on): Update.
12817         * modules/sys_socket (Depends-on): Update.
12818         * modules/sys_stat (Depends-on): Update.
12819         * modules/sys_time (Depends-on): Update.
12820         * modules/sys_times (Depends-on): Update.
12821         * modules/sys_utsname (Depends-on): Update.
12822         * modules/time (Depends-on): Update.
12823         * modules/unistd (Depends-on): Update.
12824         * modules/wchar (Depends-on): Update.
12825         * MODULES.html.sh (Support for building libraries and executables):
12826         Update.
12827
12828 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12829
12830         Improvements on _Noreturn and related modules.
12831
12832         modules/_Exit-tests: test _Noreturn too
12833         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12834         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12835         (main): Use them.
12836
12837         stdnoreturn, stdnoreturn-tests: remove modules
12838         They're not needed here and a bit premature for use elsewhere.  See
12839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12840         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12841         * tests/test-stdnoreturn.c: Remove files.
12842         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12843         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12844         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12845         and using noreturn.
12846         * modules/openat, modules/sigpipe-die, modules/xalloc:
12847         * modules/xmemdup0, modules/xstrtol:
12848         Remove dependency on stdnoreturn.
12849
12850         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12851         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12852         Reparenthesize to avoid GCC warning.
12853         Support Microsoft's syntax.
12854         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12855
12856         _Noreturn-tests: remove module
12857         * modules/_Noreturn-tests: Remove.
12858         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12859         * tests/test-_Noreturn.c: Remove.
12860         * tests/test-stdnoreturn.c: Merge from the old
12861         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12862
12863 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12864
12865         _Noreturn, stdnoreturn, and related modules.
12866
12867         * top/maint.mk: Adjust to new noreturn support.
12868         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12869         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12870
12871         xalloc: use stdnoreturn.h
12872         * lib/xalloc.h: Include <stdnoreturn.h>.
12873         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12874         * modules/xalloc (Depends-on): Add stdnoreturn.
12875
12876         xstrtol: use stdnoreturn.h
12877         * lib/xstrtol.h: Include <stdnoreturn.h>.
12878         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12879         * modules/xstrtol (Depends-on): Add stdnoreturn.
12880
12881         xmemdup0: use stdnoreturn.h
12882         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12883         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12884         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12885
12886         sigpipe-die: use stdnoreturn.h
12887         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12888         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12889         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12890
12891         openat: use stdnoreturn.h
12892         * lib/openat.h: Include <stdnoreturn.h>.
12893         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12894         * modules/openat (Depends-on): Add stdnoreturn.
12895
12896         * lib/openat-die.c (openat_save_fail): Modernize comment.
12897
12898         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12899
12900         * lib/glthread/thread.h: Modernize comment.
12901
12902         obstack: use _Noreturn
12903         * lib/obstack.c (__attribute__): Remove macro.
12904         (print_and_abort): Use _Noreturn.
12905
12906         c-stack: use _Noreturn
12907         * lib/c-stack.c (die, overflow_handler, segv_handler):
12908         Use _Noreturn rather than __attribute__((noreturn)).
12909
12910         argmatch-tests, exclude_tests: use _Noreturn
12911         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12912         Remove.
12913         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12914
12915         stdlib: use _Noreturn
12916         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12917         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12918         * modules/stdlib (Depends-on): Add _Noreturn.
12919         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12920
12921         stdnoreturn-tests: new module
12922         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12923
12924         stdnoreturn: new module
12925         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12926         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12927
12928         _Noreturn-tests: new module
12929         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12930
12931         _Noreturn: new module
12932         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12933         New section, mentioning it.
12934         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12935
12936         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12937
12938 2011-07-11  Eric Blake  <eblake@redhat.com>
12939
12940         ffs: new module
12941         * modules/ffs: New file.
12942         * m4/ffs.m4: Likewise.
12943         * lib/ffs.c: Likewise.
12944         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12945         * modules/strings (Makefile.am): Substitute witness.
12946         (Depends-on): Add c++defs.
12947         * lib/strings.in.h (ffs): Declare.
12948         * modules/ffs-tests: New test file.
12949         * tests/test-ffs.c: Test new module.
12950         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12951         * doc/posix-functions/ffs.texi (ffs): Likewise.
12952
12953         regex: avoid compiler warning
12954         * lib/regex.c (includes): Include <strings.h>, for use of
12955         strcasecmp in regcomp.c.
12956         Reported by Joachim Schmitz.
12957
12958 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12959
12960         stdint: respect system's intmax_t if INTMAX_MAX
12961         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12962         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12963         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12964         long but int64_t is long long, and where we will clash with the
12965         system intmax_t if we override it.  See
12966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12967         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12968         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12969         similarly for UINTMAX_C.
12970
12971 2011-07-08  Bruno Haible  <bruno@clisp.org>
12972
12973         pthread_sigmask tests: Avoid a compiler warning.
12974         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12975         non-zero.
12976
12977         sigprocmask tests: A better way to avoid a compiler warning.
12978         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12979         (main): Complain if system() returns non-zero.
12980         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12981
12982 2011-07-08  Bruno Haible  <bruno@clisp.org>
12983
12984         pthread_sigmask: Work around IRIX bug.
12985         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12986         bug.
12987         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12988         there may be unblocked pending signals.
12989         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12990
12991 2011-07-08  Bruno Haible  <bruno@clisp.org>
12992
12993         pthread_sigmask: Work around Cygwin bug.
12994         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
12995         bug.
12996         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
12997         the system's pthread_sigmask function.
12998         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
12999
13000 2011-07-08  Bruno Haible  <bruno@clisp.org>
13001
13002         pthread_sigmask: Work around bug in single-threaded implementation.
13003         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13004         FreeBSD, HP-UX, Solaris bug.
13005         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13006         * lib/pthread_sigmask.c: Include <stddef.h>.
13007         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13008         the system's pthread_sigmask function.
13009         * modules/pthread_sigmask (configure.ac): Invoke
13010         gl_PREREQ_PTHREAD_SIGMASK.
13011         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13012         HP-UX, Solaris.
13013
13014 2011-07-08  Eric Blake  <eblake@redhat.com>
13015
13016         test-sigprocmask: avoid compiler warning
13017         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13018         * tests/test-sigprocmask.c (main): Use it to silence warning.
13019         Reported by Jim Meyering.
13020
13021         test-snprintf: avoid compiler warning
13022         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13023         * tests/test-vsnprintf.c (main): Likewise.
13024         Reported by Jim Meyering.
13025
13026 2011-07-08  Bruno Haible  <bruno@clisp.org>
13027
13028         Tests for module 'pthread_sigmask'.
13029         * modules/pthread_sigmask-tests: New file.
13030         * tests/test-pthread_sigmask1.c: New file, based on
13031         tests/test-sigprocmask.c.
13032         * tests/test-pthread_sigmask2.c: New file.
13033
13034 2011-07-08  Jim Meyering  <meyering@redhat.com>
13035
13036         test-getopt.h: avoid warning about an unused variable
13037         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13038
13039 2011-07-07  Jim Meyering  <meyering@redhat.com>
13040
13041         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13042         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13043         now that it no longer contains leading TABs.
13044         Remove unused "url=FIXME" statement.
13045
13046 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13047
13048         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13049         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13050         When gl_THREADLIB is not in use, assume that the POSIX sematics
13051         are desired.  This is better for Emacs, which uses POSIX semantics
13052         on GNUish and/or POSIXish platforms, and does not use threads at
13053         all otherwise.
13054
13055         pthread_sigmask: fix typo when testing for libraries
13056         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13057         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13058
13059 2011-07-08  Eric Blake  <eblake@redhat.com>
13060
13061         fts: introduce FTS_NOATIME
13062         * lib/fts_.h (FTS_NOATIME): New bit flag.
13063         (FTS_OPTIONMASK): Adjust.
13064         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13065         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13066
13067 2011-07-08  Bruno Haible  <bruno@clisp.org>
13068
13069         Tests for module 'thread'.
13070         * modules/thread-tests: New file.
13071         * tests/test-thread_self.c: New file.
13072         * tests/test-thread_create.cc: New file.
13073
13074 2011-07-08  Bruno Haible  <bruno@clisp.org>
13075
13076         thread: Avoid gcc warnings when using gl_thread_self().
13077         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13078         'void *'.
13079         (gl_thread_self_pointer): Update.
13080
13081 2011-07-07  Bruno Haible  <bruno@clisp.org>
13082
13083         signal-c++-tests: Check declaration of pthread_sigmask.
13084         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13085         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13086         $(LIB_PTHREAD_SIGMASK).
13087
13088 2011-07-07  Bruno Haible  <bruno@clisp.org>
13089
13090         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13091         * lib/signal.in.h (pthread_sigmask): Override if
13092         REPLACE_PTHREAD_SIGMASK is 1.
13093         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13094         REPLACE_PTHREAD_SIGMASK.
13095         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13096         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13097         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13098         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13099         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13100
13101 2011-07-07  Bruno Haible  <bruno@clisp.org>
13102
13103         pthread_sigmask: Ensure declaration in <signal.h>.
13104         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13105         include <pthread.h>.
13106         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13107         problem.
13108
13109 2011-07-07  Bruno Haible  <bruno@clisp.org>
13110
13111         pthread_sigmask: Document the module.
13112         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13113
13114 2011-07-07  Bruno Haible  <bruno@clisp.org>
13115
13116         pthread_sigmask: Follow gnulib conventions.
13117         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13118         gl_PTHREAD_SIGMASK.
13119         * modules/pthread_sigmask (configure.ac): Update.
13120
13121 2011-07-07  Bruno Haible  <bruno@clisp.org>
13122
13123         pthread_sigmask: Make declaration C++ safe.
13124         * lib/signal.in.h: In two special conditions, just do an #include_next.
13125         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13126         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13127         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13128         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13129         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13130         not REPLACE_PTHREAD_MASK.
13131         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13132         not REPLACE_PTHREAD_MASK.
13133         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13134
13135 2011-07-07  Bruno Haible  <bruno@clisp.org>
13136
13137         pthread_sigmask: Fix return value.
13138         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13139         * lib/pthread_sigmask.c: New file.
13140         * modules/pthread_sigmask (Files): Add it.
13141         (configure.ac): Invoke AC_LIBOBJ.
13142
13143 2011-07-07  Eric Blake  <eblake@redhat.com>
13144
13145         getopt: more portable argv creation
13146         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13147         const, use char arrays rather than strings.
13148         Suggested by Paul Eggert.
13149
13150 2011-07-07  Bruno Haible  <bruno@clisp.org>
13151
13152         Tests for module 'sigprocmask'.
13153         * modules/sigprocmask-tests: New file.
13154         * tests/test-sigprocmask.c: New file.
13155
13156 2011-07-07  Bruno Haible  <bruno@clisp.org>
13157
13158         float tests: Tweak.
13159         * tests/test-float.c (main): Tweak skip message.
13160
13161 2011-07-07  Eric Blake  <eblake@redhat.com>
13162
13163         getopt: avoid compiler warning during configure
13164         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13165         assigning string literals to non-const pointer.
13166
13167         getopt-gnu: avoid crash in glibc getopt
13168         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13169         * tests/test-getopt.h (test_getopt): Enhance test.
13170         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13171         * doc/posix-functions/getopt.texi (getopt): Document it.
13172         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13173         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13174         Likewise.
13175
13176 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13177
13178         getopt: handle W; without long options in getopt [BZ #12922]
13179         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13180         but no long options are defined, just return 'W'.
13181
13182 2011-07-07  Bruno Haible  <bruno@clisp.org>
13183
13184         Avoid literal tabs.
13185         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13186         variable containing a tab instead of a literal tab.
13187         Reported by Jim Meyering.
13188
13189 2011-07-07  Bruno Haible  <bruno@clisp.org>
13190
13191         Comments.
13192         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13193
13194 2011-07-06  Bruno Haible  <bruno@clisp.org>
13195
13196         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13197         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13198         <winsock2.h>.
13199         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13200         lib/sys_socket.in.h.
13201         (close, gethostname): Hide declarations from <winsock2.h>.
13202         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13203         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13204         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13205         (select): Don't override if gnulib's <sys/select.h> was already
13206         included.
13207         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13208         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13209         setsockopt, shutdown, select): Tweak indentation.
13210
13211 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13212
13213         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13214         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13215         in an application that does not use the sys_select module.
13216
13217 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13218
13219         poll: do not return 0 on timeout=-1
13220         * lib/poll.c: Loop with yield if no events occured
13221
13222 2011-07-06  Eric Blake  <eblake@redhat.com>
13223
13224         pthread_sigmask: always replace when not using pthread
13225         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13226         replacement when using some threading other than pthread.  Fix
13227         logic bug.
13228
13229 2011-07-06  Bruno Haible  <bruno@clisp.org>
13230
13231         Comments.
13232         * m4/printf.m4: Update comments about mingw.
13233
13234 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13235
13236         sys_select: define sigset_t more portably
13237         * lib/sys_select.in.h: Always include <sys/types.h>, since
13238         we now need sigset_t and mingw defines it there.
13239         Include <signal.h> before split inclusion guard, to avoid
13240         mishaps on Solaris, whose <signal.h> eventually includes us.
13241         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13242         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13243         which come from ...
13244         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13245         gl_CHECK_TYPE_SIGSET_T.
13246         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13247         does the real work.
13248         * modules/sys_select (Depends-on): Add 'signal'.
13249
13250         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13251         Suggested by Bruno Haible.
13252
13253         pselect: Use pthread_sigmask, not sigprocmask.
13254         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13255         multithreaded apps better than sigprocmask does.
13256         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13257         sigprocmask directly.
13258
13259 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13260
13261         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13262         Don't #undef,  since we don't need any underlying pselect.
13263         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13264         (Depends-on): Add select.
13265         (Link): Add $(LIBSOCKET).
13266         These changes suggested by Bruno Haible.
13267
13268         pselect: document better
13269         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13270         * doc/posix-functions/pselect.texi (pselect): Document new module.
13271
13272         pthread_sigmask: new module
13273         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13274         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13275         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13276         This is done only as a macro; I don't know how well that'll
13277         work for C++.  Move <sys/types.h> include before the include_next,
13278         to avoid mishap on Solaris.
13279         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13280         * modules/signal (Makefile.am): Substitute the check's results.
13281         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13282
13283         test-pselect: new module
13284         * modules/pselect-tests, tests/test-pselect.c: New files.
13285         * tests/test-select.c, tests/test-sys_select-c++.cc:
13286         If TEST_PSELECT is defined, test pselect instead of testing select.
13287
13288         * tests/test-sys_select.c (sigset_t): Test for it, too.
13289         Suggested by Bruno Haible.
13290
13291 2011-07-05  Eric Blake  <eblake@redhat.com>
13292
13293         snprintf: guarantee %1$d, for libintl
13294         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13295         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13296         * doc/posix-functions/snprintf.texi (snprintf): Update.
13297         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13298         * tests/test-snprintf.c (main): Enhance test.
13299         * tests/test-vsnprintf.c (main): Likewise.
13300
13301 2011-07-05  Jim Meyering  <meyering@redhat.com>
13302
13303         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13304         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13305         per Bruno's request, to accommodate this idiom (no space after "#")
13306         even when the function is inside an #if block:
13307         char *
13308         gets (char *s)
13309         #undef gets
13310         {
13311           ...
13312         }
13313
13314 2011-07-04  Jim Meyering  <meyering@redhat.com>
13315
13316         maint: indent with spaces, not TABs, and add a rule to check this
13317         * tests/test-userspec.c: Indent with spaces, not TABs.
13318         * tests/test-argp.c: Likewise.
13319         * tests/test-c-stack2.sh: Likewise.
13320         * tests/test-parse-duration.sh: Likewise
13321         * m4/strtod.m4: Likewise.
13322         * m4/alloca.m4: Likewise.
13323         * m4/pselect.m4: Likewise.
13324         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13325
13326 2011-07-03  Jim Meyering  <meyering@redhat.com>
13327
13328         maint.mk: correct omissions in prohibit_argmatch_without_use check
13329         This rule would mistakenly report that argmatch.h is included without
13330         use even when both the argmatch and invalid_arg macro were used.
13331         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13332         of argmatch and invalid_arg.
13333
13334 2011-07-03  Bruno Haible  <bruno@clisp.org>
13335
13336         Comments about EINTR.
13337         * lib/safe-read.h: Explain the purpose of this module.
13338         * lib/safe-write.h: Likewise.
13339         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13340         module.
13341         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13342         module.
13343         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13344
13345 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13346
13347         xnanosleep: Rewrite to use new dtotimespec module.
13348         It has the conversion code that used to be in xnanosleep.
13349         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13350         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13351         (TIME_T_MAX): Remove.
13352         (xnanosleep): Rewrite in terms of dtotimespec.
13353         * modules/xnanosleep (Depends-on): Add dtotimespec.
13354         Remove intprops, stdbool.
13355
13356         timespec-add, timespec-sub: new modules
13357         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13358         * lib/timespec-add.c, lib/timespec-sub.c:
13359         * modules/timespec-add, modules/timespec-sub: New files.
13360
13361         dtotimespec: new module
13362         * lib/timespec.h (dtotimespec): New decl.
13363         * lib/dtotimespec.c, modules/dtotimespec: New files.
13364
13365         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13366
13367         pselect: new module
13368         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13369         (pselect): New decls.
13370         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13371         since the standard pselect decl uses 'restrict'.
13372         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13373         HAVE_PSELECT, REPLACE_PSELECT.
13374         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13375         HAVE_PSELECT, REPLACE_PSELECT.
13376         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13377
13378         sys_select: don't depend on sys_socket
13379         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13381         This fix works on GNU and GNU-like platforms, but has not been tested
13382         on native Windows.
13383         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13384         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13385         gl_HEADER_SYS_SOCKET.
13386         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13387         gl_PREREQ_SYS_H_WINSOCK2.
13388
13389 2011-06-29  Eric Blake  <eblake@redhat.com>
13390
13391         pipe2: fix C89 compile problem
13392         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13393         Reported by Bruno Haible.
13394
13395         pipe, pipe2: don't corrupt fd on error
13396         * lib/pipe.c (pipe): Leave fd unchanged on error.
13397         * lib/pipe2.c (pipe2): Likewise.
13398         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13399         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13400
13401 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13402
13403         mmap-anon: do not use regular expressions inadvertently
13404         * m4/mmap-anon.m4: Remove trailing period from strings sought
13405         in the output.
13406
13407 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         nanosleep: fix integer overflow problem
13410         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13411         arithmetic wraps around on overflow.
13412
13413         nanosleep: simplify carrying
13414         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13415         first call to the underyling nanosleep, not for the last one.
13416         This doesn't fix any bugs, but it simplifies the computation of
13417         the remaining delay.  Found while auditing integer overflow issues.
13418
13419         dup2: remove test for existence of fcntl
13420         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13421         "#if HAVE_FCNTL", in the configure-time test program.
13422         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13423         and therefore speeds up "configure" a bit.  Found while
13424         adding the dup2 module to Emacs.
13425
13426 2011-06-24  Eric Blake  <eblake@redhat.com>
13427
13428         maint.mk: enhance useless header checks
13429         * top/maint.mk (_sc_header_without_use): Check both include
13430         styles.
13431         (sc_prohibit_assert_without_use)
13432         (sc_prohibit_close_stream_without_use)
13433         (sc_prohibit_getopt_without_use)
13434         (sc_prohibit_quotearg_without_use)
13435         (sc_prohibit_quote_without_use)
13436         (sc_prohibit_long_options_without_use)
13437         (sc_prohibit_inttostr_without_use)
13438         (sc_prohibit_ignore_value_without_use)
13439         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13440         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13441         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13442         (sc_prohibit_hash_pjw_without_use)
13443         (sc_prohibit_safe_read_without_use)
13444         (sc_prohibit_argmatch_without_use)
13445         (sc_prohibit_canonicalize_without_use)
13446         (sc_prohibit_root_dev_ino_without_use)
13447         (sc_prohibit_openat_without_use)
13448         (sc_prohibit_c_ctype_without_use)
13449         (sc_prohibit_signal_without_use)
13450         (sc_prohibit_stdio--_without_use)
13451         (sc_prohibit_stdio-safer_without_use)
13452         (sc_prohibit_strings_without_use)
13453         (sc_prohibit_intprops_without_use)
13454         (sc_prohibit_stddef_without_use)
13455         (sc_prohibit_xfreopen_without_use): Update clients.
13456
13457 2011-06-24  Jim Meyering  <meyering@redhat.com>
13458
13459         syntax-check: keep one maint.mk rule in sync with its header
13460         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13461         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13462         I prefer to avoid temporary files here, so use <(...), but that
13463         is not supported by /bin/sh, so...
13464         (SHELL): Define to /bin/bash.
13465
13466 2011-06-24  Eric Blake  <eblake@redhat.com>
13467
13468         maint.mk: update sc_prohibit_intprops_without_use
13469         * top/maint.mk (_intprops_names): Match recent changes.
13470
13471 2011-06-24  Bruno Haible  <bruno@clisp.org>
13472
13473         strerror-override: No-op tweak.
13474         * lib/strerror-override.h (strerror_override): Reorder conditions,
13475         for consistency with lib/strerror-override.c.
13476
13477 2011-06-23  Eric Blake  <eblake@redhat.com>
13478
13479         maint.mk: test further PATH_MAX issues
13480         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13481         (sc_prohibit_path_max_allocation): ...and also test alloca.
13482         Suggested by Jim Meyering.
13483
13484 2011-06-22  Eric Blake  <eblake@redhat.com>
13485
13486         maint.mk: add syntax-check to avoid char[PATH_MAX]
13487         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13488
13489         stat: be robust to PATH_MAX definition
13490         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13491         * modules/stat (Depends-on): Add verify.
13492
13493         link: work around IRIX bug
13494         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13495         * lib/link.c (rpl_link): Work around it.
13496         * tests/test-link.h (test_link): Enhance test.
13497         * doc/posix-functions/link.texi (link): Document the bug.
13498
13499         getopt: silence clang warning
13500         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13501         dereference.
13502         Reported by Gustavo Martin Domato.
13503
13504 2011-06-22  Jim Meyering  <meyering@redhat.com>
13505
13506         bootstrap: do not insert a blank line into each .gitignore file
13507         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13508
13509 2011-06-21  Eric Blake  <eblake@redhat.com>
13510
13511         perror: test for output mismatch
13512         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13513         perror on IRIX.
13514
13515         strerror_r: fix OpenBSD behavior on out-of-range
13516         * lib/strerror_r.c (strerror_r): Always use maximal string.
13517         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13518
13519         strerror_r: fix OpenBSD behavior on 0
13520         * lib/strerror-override.c (strerror_override): Also override 0
13521         when needed.
13522         * lib/strerror-override.h (strerror_override): Likewise.
13523         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13524         earlier.
13525         * lib/strerror_r.c (strerror_r): Likewise.
13526         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13527         behavior...
13528         (gl_FUNC_STRERROR_0): ...into new macro.
13529         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13530         is overridden.
13531         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13532         * modules/strerror-override (Files): Add strerror.m4.
13533         (configure.ac): Also provide override for 0 when needed.
13534         * doc/posix-functions/strerror.texi (strerror): Document this.
13535         * doc/posix-functions/perror.texi (perror): Likewise.
13536
13537         perror: adjust array size
13538         * modules/perror (Depends-on): Add strerror-override.
13539         * lib/perror.c (perror): Use it to avoid magic number.
13540
13541         strerror-override: reduce size
13542         * lib/strerror-override.c (strerror_override): Use fewer lines.
13543
13544 2011-06-20  Bruno Haible  <bruno@clisp.org>
13545
13546         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13547         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13548
13549 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         alloca: port to compilers that can optimize like GCC 4.6.0
13552         * lib/alloca.c (find_stack_direction): New signature, taken from
13553         Autoconf git.  This works with GCC 4.6.0.  This code should never
13554         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13555         be used with other compilers that optimize as well as GCC 4.6.0 does.
13556         (alloca): Adjust to new signature.
13557         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13558         New macro, which patches Autoconf in a similar way.
13559
13560         c-stack: stop worrying about stack direction
13561         * lib/c-stack.c (find_stack_direction): Remove.
13562         (segv_handler): Don't worry about stack direction growth, as it's
13563         too much of a pain to configure this correctly, given how compilers
13564         are optimizing-away our stack-growth detection code.  Instead, assume
13565         that any access to just before or just after the stack is OK.
13566         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13567         Don't require AC_FUNC_ALLOCA; no longer needed.
13568
13569 2011-06-20  Eric Blake  <eblake@redhat.com>
13570
13571         test-stat: don't allocate PATH_MAX bytes
13572         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13573         PATH_MAX-sized buffer.
13574         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13575         * modules/stat-tests (Depends-on): Likewise.
13576         * tests/test-fstatat.c (includes): Drop pathmax.h.
13577         * tests/test-stat.c (includes): Likewise.
13578         Reported by Bruno Haible.
13579
13580 2011-06-20  Bruno Haible  <bruno@clisp.org>
13581
13582         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13583         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13584         * lib/float.c: New file.
13585         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13586         REPLACE_FLOAT_LDBL.
13587         * modules/float (Files): Add lib/float.c.
13588         (configure.ac): Invoke AC_LIBOBJ.
13589         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13590
13591 2011-06-20  Bruno Haible  <bruno@clisp.org>
13592
13593         Tests for module 'float'.
13594         * modules/float-tests: New file.
13595         * tests/test-float.c: New file.
13596
13597 2011-06-19  Bruno Haible  <bruno@clisp.org>
13598
13599         isinf: Coding style.
13600         * lib/isinf.c: Use GNU coding style.
13601
13602 2011-06-19  Bruno Haible  <bruno@clisp.org>
13603
13604         linkat test: Avoid test failure on AIX 7.1.
13605         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13606         * tests/test-link.h (test_link): Likewise.
13607
13608 2011-06-19  Bruno Haible  <bruno@clisp.org>
13609
13610         pread test: Avoid test failure on OpenBSD 4.9.
13611         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13612
13613 2011-06-19  Bruno Haible  <bruno@clisp.org>
13614
13615         sprintf-posix: Fix test failure on AIX 7.1.
13616         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13617         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13618         on AIX.
13619         * doc/posix-functions/fprintf.texi: Likewise.
13620         * doc/posix-functions/printf.texi: Likewise.
13621         * doc/posix-functions/snprintf.texi: Likewise.
13622         * doc/posix-functions/sprintf.texi: Likewise.
13623         * doc/posix-functions/vdprintf.texi: Likewise.
13624         * doc/posix-functions/vfprintf.texi: Likewise.
13625         * doc/posix-functions/vprintf.texi: Likewise.
13626         * doc/posix-functions/vsnprintf.texi: Likewise.
13627         * doc/posix-functions/vsprintf.texi: Likewise.
13628
13629 2011-06-19  Bruno Haible  <bruno@clisp.org>
13630
13631         roundl-ieee: Fix test failure on AIX 7.1.
13632         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13633         * doc/posix-functions/roundl.texi: Mention problem with negative
13634         arguments.
13635
13636 2011-06-19  Bruno Haible  <bruno@clisp.org>
13637
13638         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13639         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13640         * doc/posix-functions/round.texi: Mention problem with negative
13641         arguments.
13642         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13643
13644 2011-06-19  Bruno Haible  <bruno@clisp.org>
13645
13646         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13647         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13648         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13649         * doc/posix-functions/roundf.texi: Mention problem with negative
13650         arguments.
13651         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13652
13653 2011-06-19  Bruno Haible  <bruno@clisp.org>
13654
13655         ceilf-ieee: Work around bug on MacOS X 10.5.
13656         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13657
13658         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13659         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13660         IEEE compliant, avoid compiler optimizations.
13661         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13662         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13663         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13664         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13665         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13666         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13667         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13668         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13669         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13670         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13671
13672 2011-06-19  Bruno Haible  <bruno@clisp.org>
13673
13674         ceilf-ieee: Work around bug on AIX 7.1.
13675         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
13676         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
13677
13678 2011-06-19  Bruno Haible  <bruno@clisp.org>
13679
13680         ceil-ieee: Work around bug on AIX 7.1.
13681         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
13682         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
13683
13684 2011-06-18  Bruno Haible  <bruno@clisp.org>
13685
13686         fsync test: Avoid test failure on MacOS X and AIX.
13687         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13688         EINVAL.
13689
13690 2011-06-18  Bruno Haible  <bruno@clisp.org>
13691
13692         openat, fdopendir tests: Fix link errors.
13693         * modules/openat-tests (Depends-on): Add progname.
13694         * modules/fdopendir-tests (Depends-on): Likewise.
13695         * tests/test-fchownat.c: Include progname.h.
13696         (main): Call set_program_name.
13697         * tests/test-fstatat.c: Include progname.h.
13698         (main): Call set_program_name.
13699         * tests/test-mkdirat.c: Include progname.h.
13700         (main): Call set_program_name.
13701         * tests/test-openat.c: Include progname.h.
13702         (main): Call set_program_name.
13703         * tests/test-unlinkat.c: Include progname.h.
13704         (main): Call set_program_name.
13705         * tests/test-fdopendir.c: Include progname.h.
13706         (main): Call set_program_name.
13707
13708 2011-06-18  Bruno Haible  <bruno@clisp.org>
13709
13710         Doc update.
13711         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13712         HP-UX.
13713         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13714
13715 2011-06-18  Bruno Haible  <bruno@clisp.org>
13716
13717         getcwd tests: Avoid compilation error on HP-UX 11.31.
13718         * modules/getcwd-tests (Depends-on): Add pathmax.
13719         * tests/test-getcwd.c: Include pathmax.h.
13720
13721 2011-06-18  Bruno Haible  <bruno@clisp.org>
13722
13723         isfinite, isinf: Fix link error on AIX 6 and 7.
13724         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13725         needed, also test the macro with a 'float' argument.
13726         * m4/isinf.m4 (gl_ISINF): Likewise.
13727
13728 2011-06-18  Bruno Haible  <bruno@clisp.org>
13729
13730         getloadavg: Don't clobber LIBS. Regression from previous commit.
13731         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13732         AC_CHECK_LIB from here...
13733         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13734         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13735         gl_func_getloadavg_done.
13736         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13737
13738 2011-06-18  Bruno Haible  <bruno@clisp.org>
13739
13740         clean-temp: Improve documentation.
13741         * lib/clean-temp.h: Explain better how to use this module.
13742         Reported by John Darrington <john@darrington.wattle.id.au>.
13743
13744 2011-06-17  Bruno Haible  <bruno@clisp.org>
13745
13746         pread, pwrite: Avoid cc warning on AIX.
13747         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13748         (pwrite): Likewise.
13749
13750 2011-06-17  Bruno Haible  <bruno@clisp.org>
13751
13752         spawn-pipe tests: Fix link error.
13753         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13754         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13755
13756 2011-06-17  Bruno Haible  <bruno@clisp.org>
13757
13758         Tests: Remove unnecessary dependency.
13759         * modules/canonicalize-tests (Depends-on): Remove progname.
13760         * modules/chown-tests (Depends-on): Likewise.
13761         * modules/dirname-tests (Depends-on): Likewise.
13762         * modules/fdopendir-tests (Depends-on): Likewise.
13763         * modules/fdutimensat-tests (Depends-on): Likewise.
13764         * modules/hash-tests (Depends-on): Likewise.
13765         * modules/lchown-tests (Depends-on): Likewise.
13766         * modules/linkat-tests (Depends-on): Likewise.
13767         * modules/renameat-tests (Depends-on): Likewise.
13768         * modules/spawn-pipe-tests (Depends-on): Likewise.
13769         * modules/utimensat-tests (Depends-on): Likewise.
13770
13771 2011-06-17  Bruno Haible  <bruno@clisp.org>
13772
13773         spawn-pipe tests: Fix link error.
13774         * tests/test-spawn-pipe-child.c: Undefine fflush.
13775
13776 2011-06-17  Bruno Haible  <bruno@clisp.org>
13777
13778         Fix tests link errors.
13779         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13780         * modules/chown-tests (Makefile.am): Don't link test-chown with
13781         LIBINTL.
13782         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13783         LIBINTL.
13784         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13785         LIBINTL.
13786         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13787         LIBINTL.
13788
13789 2011-06-16  Bruno Haible  <bruno@clisp.org>
13790
13791         crypto/gc-sha1: Fix recent regression.
13792         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13793         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13794
13795         crypto/gc-md5: Fix recent regression.
13796         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13797
13798         crypto/gc-md4: Fix recent regression.
13799         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13800         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13801
13802         crypto/gc-arctwo: Fix recent regression.
13803         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13804         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13805
13806         crypto/gc-rijndael: Fix recent regression.
13807         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13808         (configure.ac): Invoke AC_LIBOBJ here.
13809         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13810         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13811
13812         crypto/gc-hmac-sha1: Fix recent regression.
13813         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13814         (configure.ac): Invoke AC_LIBOBJ here.
13815         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13816         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13817
13818         crypto/gc-hmac-md5: Fix recent regression.
13819         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13820         (configure.ac): Invoke AC_LIBOBJ here.
13821         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13822         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13823
13824         crypto/gc-des: Fix recent regression.
13825         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13826         (configure.ac): Invoke AC_LIBOBJ here.
13827         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13829
13830         crypto/gc-arcfour: Fix recent regression.
13831         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13832         (configure.ac): Invoke AC_LIBOBJ here.
13833         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13834         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13835
13836 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13837
13838         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13839         After the 2011-05-21 change, this macro requires
13840         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13841         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13842
13843 2011-06-16  Bruno Haible  <bruno@clisp.org>
13844
13845         fprintftime: Move AC_LIBOBJ invocations to module description.
13846         * m4/fprintftime.m4: Remove file.
13847         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13848         (configure.ac): Remove gl_FPRINTFTIME call.
13849         (Makefile.am): Augment lib_SOURCES.
13850         Reported by Jim Meyering.
13851
13852 2011-06-16  Bruno Haible  <bruno@clisp.org>
13853
13854         tmpfile-safer: Finish 2011-05-23 commit.
13855         * m4/stdio-safer.m4: Really remove file.
13856         Reported by Jim Meyering.
13857
13858 2011-06-16  Bruno Haible  <bruno@clisp.org>
13859
13860         syntax-check: Fix typo.
13861         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13862         printf-posix.m4.
13863         Reported by Jim Meyering.
13864
13865 2011-06-13  Jim Meyering  <meyering@redhat.com>
13866
13867         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13868         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13869
13870 2011-05-23  Bruno Haible  <bruno@clisp.org>
13871
13872         yesno: Move AC_LIBOBJ invocations to module description.
13873         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13874         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13875
13876 2011-05-23  Bruno Haible  <bruno@clisp.org>
13877
13878         xstrtol: Move AC_LIBOBJ invocations to module description.
13879         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13880         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13881
13882 2011-05-23  Bruno Haible  <bruno@clisp.org>
13883
13884         xstrtold: Move AC_LIBOBJ invocations to module description.
13885         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13886         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13887
13888 2011-05-23  Bruno Haible  <bruno@clisp.org>
13889
13890         xstrtod: Move AC_LIBOBJ invocations to module description.
13891         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13892         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13893
13894 2011-05-23  Bruno Haible  <bruno@clisp.org>
13895
13896         xnanosleep: Move AC_LIBOBJ invocations to module description.
13897         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13898         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13899
13900 2011-05-23  Bruno Haible  <bruno@clisp.org>
13901
13902         xgetcwd: Move AC_LIBOBJ invocations to module description.
13903         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13904         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13905
13906 2011-05-23  Bruno Haible  <bruno@clisp.org>
13907
13908         xalloc: Move AC_LIBOBJ invocations to module description.
13909         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13910         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13911
13912 2011-05-23  Bruno Haible  <bruno@clisp.org>
13913
13914         write-any-file: Move AC_LIBOBJ invocations to module description.
13915         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13916         invocation.
13917         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13918
13919 2011-05-23  Bruno Haible  <bruno@clisp.org>
13920
13921         utimens: Move AC_LIBOBJ invocations to module description.
13922         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13923         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13924
13925 2011-05-23  Bruno Haible  <bruno@clisp.org>
13926
13927         utimecmp: Move AC_LIBOBJ invocations to module description.
13928         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13929         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13930
13931 2011-05-23  Bruno Haible  <bruno@clisp.org>
13932
13933         userspec: Move AC_LIBOBJ invocations to module description.
13934         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13935         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13936
13937 2011-05-23  Bruno Haible  <bruno@clisp.org>
13938
13939         unlinkdir: Move AC_LIBOBJ invocations to module description.
13940         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13941         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13942
13943 2011-05-23  Bruno Haible  <bruno@clisp.org>
13944
13945         unistd-safer: Move AC_LIBOBJ invocations to module description.
13946         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13947         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13948
13949 2011-05-23  Bruno Haible  <bruno@clisp.org>
13950
13951         tempname: Move AC_LIBOBJ invocations to module description.
13952         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13953         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13954
13955 2011-05-23  Bruno Haible  <bruno@clisp.org>
13956
13957         strftime: Move AC_LIBOBJ invocations to module description.
13958         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13959         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13960
13961 2011-05-23  Bruno Haible  <bruno@clisp.org>
13962
13963         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13964         * m4/stdlib-safer.m4: Remove file.
13965         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13966         (configure.ac): Remove gl_STDLIB_SAFER call.
13967         (Makefile.am): Augment lib_SOURCES.
13968
13969 2011-05-23  Bruno Haible  <bruno@clisp.org>
13970
13971         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13972         * m4/stdio-safer.m4: Remove file.
13973         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13974         (configure.ac): Remove gl_TMPFILE_SAFER call.
13975         (Makefile.am): Augment lib_SOURCES.
13976
13977 2011-05-23  Bruno Haible  <bruno@clisp.org>
13978
13979         popen-safer: Move AC_LIBOBJ invocations to module description.
13980         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13981         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13982         (configure.ac): Remove gl_POPEN_SAFER call.
13983         (Makefile.am): Augment lib_SOURCES.
13984
13985 2011-05-23  Bruno Haible  <bruno@clisp.org>
13986
13987         freopen-safer: Move AC_LIBOBJ invocations to module description.
13988         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13989         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13990         (configure.ac): Remove gl_FREOPEN_SAFER call.
13991         (Makefile.am): Augment lib_SOURCES.
13992
13993 2011-05-23  Bruno Haible  <bruno@clisp.org>
13994
13995         fopen-safer: Move AC_LIBOBJ invocations to module description.
13996         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
13997         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
13998         (configure.ac): Remove gl_FOPEN_SAFER call.
13999         (Makefile.am): Augment lib_SOURCES.
14000
14001 2011-05-23  Bruno Haible  <bruno@clisp.org>
14002
14003         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14004         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14005         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14006
14007 2011-05-23  Bruno Haible  <bruno@clisp.org>
14008
14009         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14010         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14011         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14012
14013 2011-05-23  Bruno Haible  <bruno@clisp.org>
14014
14015         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14016         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14017         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14018
14019 2011-05-23  Bruno Haible  <bruno@clisp.org>
14020
14021         settime: Move AC_LIBOBJ invocations to module description.
14022         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14023         * modules/settime (Makefile.am): Augment lib_SOURCES.
14024
14025 2011-05-23  Bruno Haible  <bruno@clisp.org>
14026
14027         savedir: Move AC_LIBOBJ invocations to module description.
14028         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14029         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14030
14031 2011-05-23  Bruno Haible  <bruno@clisp.org>
14032
14033         save-cwd: Move AC_LIBOBJ invocations to module description.
14034         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14035         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14036
14037 2011-05-23  Bruno Haible  <bruno@clisp.org>
14038
14039         same: Move AC_LIBOBJ invocations to module description.
14040         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14041         * modules/same (Makefile.am): Augment lib_SOURCES.
14042
14043 2011-05-23  Bruno Haible  <bruno@clisp.org>
14044
14045         safe-write: Move AC_LIBOBJ invocations to module description.
14046         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14047         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14048         instead of gl_SAFE_WRITE.
14049         (Makefile.am): Augment lib_SOURCES.
14050
14051 2011-05-23  Bruno Haible  <bruno@clisp.org>
14052
14053         safe-read: Move AC_LIBOBJ invocations to module description.
14054         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14055         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14056         of gl_SAFE_READ.
14057         (Makefile.am): Augment lib_SOURCES.
14058
14059 2011-05-23  Bruno Haible  <bruno@clisp.org>
14060
14061         safe-alloc: Move AC_LIBOBJ invocations to module description.
14062         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14063         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14064
14065 2011-05-23  Bruno Haible  <bruno@clisp.org>
14066
14067         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14068         * m4/rijndael.m4: Remove file.
14069         * modules/crypto/rijndael (Files): Remove it.
14070         (configure.ac): Remove gl_RIJNDAEL call.
14071         (Makefile.am): Augment lib_SOURCES.
14072
14073 2011-05-23  Bruno Haible  <bruno@clisp.org>
14074
14075         readtokens: Move AC_LIBOBJ invocations to module description.
14076         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14077         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14078
14079 2011-05-23  Bruno Haible  <bruno@clisp.org>
14080
14081         read-file: Move AC_LIBOBJ invocations to module description.
14082         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14083         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14084         of gl_FUNC_READ_FILE.
14085         (Makefile.am): Augment lib_SOURCES.
14086
14087 2011-05-23  Bruno Haible  <bruno@clisp.org>
14088
14089         quotearg: Move AC_LIBOBJ invocations to module description.
14090         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14091         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14092
14093 2011-05-23  Bruno Haible  <bruno@clisp.org>
14094
14095         quote: Move AC_LIBOBJ invocations to module description.
14096         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14097         * modules/quote (Makefile.am): Augment lib_SOURCES.
14098
14099 2011-05-23  Bruno Haible  <bruno@clisp.org>
14100
14101         posixver: Move AC_LIBOBJ invocations to module description.
14102         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14103         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14104
14105 2011-05-23  Bruno Haible  <bruno@clisp.org>
14106
14107         posixtm: Move AC_LIBOBJ invocations to module description.
14108         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14109         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14110
14111 2011-05-23  Bruno Haible  <bruno@clisp.org>
14112
14113         physmem: Move AC_LIBOBJ invocations to module description.
14114         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14115         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14116
14117 2011-05-23  Bruno Haible  <bruno@clisp.org>
14118
14119         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14120         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14121         invocation.
14122         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14123
14124 2011-05-23  Bruno Haible  <bruno@clisp.org>
14125
14126         mpsort: Move AC_LIBOBJ invocations to module description.
14127         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14128         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14129
14130 2011-05-23  Bruno Haible  <bruno@clisp.org>
14131
14132         modechange: Move AC_LIBOBJ invocations to module description.
14133         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14134         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14135
14136 2011-05-23  Bruno Haible  <bruno@clisp.org>
14137
14138         mkdir-p: Move AC_LIBOBJ invocations to module description.
14139         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14140         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14141
14142 2011-05-23  Bruno Haible  <bruno@clisp.org>
14143
14144         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14145         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14146         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14147
14148 2011-05-23  Bruno Haible  <bruno@clisp.org>
14149
14150         mgetgroups: Move AC_LIBOBJ invocations to module description.
14151         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14152         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14153
14154 2011-05-23  Bruno Haible  <bruno@clisp.org>
14155
14156         memxor: Move AC_LIBOBJ invocations to module description.
14157         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14158         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14159
14160 2011-05-23  Bruno Haible  <bruno@clisp.org>
14161
14162         memcoll: Move AC_LIBOBJ invocations to module description.
14163         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14164         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14165
14166 2011-05-23  Bruno Haible  <bruno@clisp.org>
14167
14168         memcasecmp: Move AC_LIBOBJ invocations to module description.
14169         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14170         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14171
14172 2011-05-23  Bruno Haible  <bruno@clisp.org>
14173
14174         crypto/md5: Move AC_LIBOBJ invocations to module description.
14175         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14176         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14177
14178 2011-05-23  Bruno Haible  <bruno@clisp.org>
14179
14180         crypto/md4: Move AC_LIBOBJ invocations to module description.
14181         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14182         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14183
14184 2011-05-23  Bruno Haible  <bruno@clisp.org>
14185
14186         crypto/md2: Move AC_LIBOBJ invocations to module description.
14187         * m4/md2.m4: Remove file.
14188         * modules/crypto/md2 (Files): Remove it.
14189         (configure.ac): Remove gl_MD2 call.
14190         (Makefile.am): Augment lib_SOURCES.
14191
14192 2011-05-23  Bruno Haible  <bruno@clisp.org>
14193
14194         long-options: Move AC_LIBOBJ invocations to module description.
14195         * m4/long-options.m4: Remove file.
14196         * modules/long-options (Files): Remove it.
14197         (configure.ac): Remove gl_LONG_OPTIONS call.
14198         (Makefile.am): Augment lib_SOURCES.
14199
14200 2011-05-23  Bruno Haible  <bruno@clisp.org>
14201
14202         i-ring: Move AC_LIBOBJ invocations to module description.
14203         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14204         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14205
14206 2011-05-23  Bruno Haible  <bruno@clisp.org>
14207
14208         idcache: Move AC_LIBOBJ invocations to module description.
14209         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14210         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14211
14212 2011-05-23  Bruno Haible  <bruno@clisp.org>
14213
14214         human: Move AC_LIBOBJ invocations to module description.
14215         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14216         * modules/human (Makefile.am): Augment lib_SOURCES.
14217
14218 2011-05-23  Bruno Haible  <bruno@clisp.org>
14219
14220         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14221         * m4/hmac-sha1.m4: Remove file.
14222         * modules/crypto/hmac-sha1 (Files): Remove it.
14223         (configure.ac): Remove gl_HMAC_SHA1 call.
14224         (Makefile.am): Augment lib_SOURCES.
14225
14226 2011-05-23  Bruno Haible  <bruno@clisp.org>
14227
14228         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14229         * m4/hmac-md5.m4: Remove file.
14230         * modules/crypto/hmac-md5 (Files): Remove it.
14231         (configure.ac): Remove gl_HMAC_MD5 call.
14232         (Makefile.am): Augment lib_SOURCES.
14233
14234 2011-05-23  Bruno Haible  <bruno@clisp.org>
14235
14236         hash: Move AC_LIBOBJ invocations to module description.
14237         * m4/hash.m4: Remove file.
14238         * modules/hash (Files): Remove it.
14239         (configure.ac): Remove gl_HASH call.
14240         (Makefile.am): Augment lib_SOURCES.
14241
14242 2011-05-23  Bruno Haible  <bruno@clisp.org>
14243
14244         hard-locale: Move AC_LIBOBJ invocations to module description.
14245         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14246         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14247
14248 2011-05-23  Bruno Haible  <bruno@clisp.org>
14249
14250         getugroups: Move AC_LIBOBJ invocations to module description.
14251         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14252         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14253
14254 2011-05-23  Bruno Haible  <bruno@clisp.org>
14255
14256         gettime: Move AC_LIBOBJ invocations to module description.
14257         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14258         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14259
14260 2011-05-23  Bruno Haible  <bruno@clisp.org>
14261
14262         getndelim2: Move AC_LIBOBJ invocations to module description.
14263         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14264         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14265
14266 2011-05-23  Bruno Haible  <bruno@clisp.org>
14267
14268         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14269         * m4/gc-pbkdf2-sha1.m4: Remove file.
14270         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14271         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14272         (Makefile.am): Augment lib_SOURCES.
14273
14274 2011-05-23  Bruno Haible  <bruno@clisp.org>
14275
14276         fts: Move AC_LIBOBJ invocations to module description.
14277         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14278         * modules/fts (configure.ac): ... to here.
14279
14280 2011-05-23  Bruno Haible  <bruno@clisp.org>
14281
14282         file-type: Move AC_LIBOBJ invocations to module description.
14283         * m4/file-type.m4: Remove file.
14284         * modules/file-type (Files): Remove it.
14285         (configure.ac): Remove gl_FILE_TYPE call.
14286         (Makefile.am): Augment lib_SOURCES.
14287
14288 2011-05-23  Bruno Haible  <bruno@clisp.org>
14289
14290         filenamecat*: Respect rules for use of AC_LIBOBJ.
14291         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14292         Remove AC_LIBOBJ invocation.
14293         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14294         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14295
14296 2011-05-23  Bruno Haible  <bruno@clisp.org>
14297
14298         filemode: Move AC_LIBOBJ invocations to module description.
14299         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14300         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14301
14302 2011-05-23  Bruno Haible  <bruno@clisp.org>
14303
14304         openat-safer: Move AC_LIBOBJ invocations to module description.
14305         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14306         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14307
14308 2011-05-23  Bruno Haible  <bruno@clisp.org>
14309
14310         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14311         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14312         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14313
14314 2011-05-23  Bruno Haible  <bruno@clisp.org>
14315
14316         exclude: Move AC_LIBOBJ invocations to module description.
14317         * m4/exclude.m4: Remove file.
14318         * modules/exclude (Files): Remove it.
14319         (configure.ac): Remove gl_EXCLUDE call.
14320         (Makefile.am): Augment lib_SOURCES.
14321
14322 2011-05-23  Bruno Haible  <bruno@clisp.org>
14323
14324         dirname*: Respect rules for use of AC_LIBOBJ.
14325         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14326         invocations.
14327         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14328         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14329
14330 2011-05-23  Bruno Haible  <bruno@clisp.org>
14331
14332         dirent-safer: Move AC_LIBOBJ invocations to module description.
14333         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14334         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14335
14336 2011-05-23  Bruno Haible  <bruno@clisp.org>
14337
14338         crypto/des: Move AC_LIBOBJ invocations to module description.
14339         * m4/des.m4: Remove file.
14340         * modules/crypto/des (Files): Remove it.
14341         (configure.ac): Remove gl_DES call.
14342         (Makefile.am): Augment lib_SOURCES.
14343
14344 2011-05-23  Bruno Haible  <bruno@clisp.org>
14345
14346         cycle-check: Move AC_LIBOBJ invocations to module description.
14347         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14348         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14349
14350 2011-05-23  Bruno Haible  <bruno@clisp.org>
14351
14352         c-strtold: Move AC_LIBOBJ invocations to module description.
14353         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14354         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14355
14356 2011-05-23  Bruno Haible  <bruno@clisp.org>
14357
14358         c-strtod: Move AC_LIBOBJ invocations to module description.
14359         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14360         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14361
14362 2011-05-23  Bruno Haible  <bruno@clisp.org>
14363
14364         crc: Move AC_LIBOBJ invocations to module description.
14365         * m4/crc.m4: Remove file.
14366         * modules/crc (Files): Remove it.
14367         (configure.ac): Remove gl_CRC call.
14368         (Makefile.am): Augment lib_SOURCES.
14369
14370 2011-05-23  Bruno Haible  <bruno@clisp.org>
14371
14372         close-stream: Move AC_LIBOBJ invocations to module description.
14373         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14374         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14375
14376 2011-05-23  Bruno Haible  <bruno@clisp.org>
14377
14378         closeout: Move AC_LIBOBJ invocations to module description.
14379         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14380         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14381
14382 2011-05-23  Bruno Haible  <bruno@clisp.org>
14383
14384         closein: Move AC_LIBOBJ invocations to module description.
14385         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14386         * modules/closein (Makefile.am): Augment lib_SOURCES.
14387
14388 2011-05-23  Bruno Haible  <bruno@clisp.org>
14389
14390         cloexec: Move AC_LIBOBJ invocations to module description.
14391         * m4/cloexec.m4: Remove file.
14392         * modules/cloexec (Files): Remove it.
14393         (configure.ac): Remove gl_CLOEXEC call.
14394         (Makefile.am): Augment lib_SOURCES.
14395
14396 2011-05-23  Bruno Haible  <bruno@clisp.org>
14397
14398         check-version: Move AC_LIBOBJ invocations to module description.
14399         * m4/check-version.m4: Remove file.
14400         * modules/check-version (Files): Remove it.
14401         (configure.ac): Remove gl_CHECK_VERSION call.
14402         (Makefile.am): Augment lib_SOURCES.
14403
14404 2011-05-23  Bruno Haible  <bruno@clisp.org>
14405
14406         chdir-safer: Move AC_LIBOBJ invocations to module description.
14407         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14408         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14409
14410 2011-05-23  Bruno Haible  <bruno@clisp.org>
14411
14412         canonicalize: Move AC_LIBOBJ invocations to module description.
14413         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14414         AC_LIBOBJ invocation.
14415         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14416
14417 2011-05-23  Bruno Haible  <bruno@clisp.org>
14418
14419         canon-host: Move AC_LIBOBJ invocations to module description.
14420         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14421         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14422         instead of gl_CANON_HOST.
14423         (Makefile.am): Augment lib_SOURCES.
14424
14425 2011-05-23  Bruno Haible  <bruno@clisp.org>
14426
14427         backupfile: Move AC_LIBOBJ invocations to module description.
14428         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14429         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14430
14431 2011-05-23  Bruno Haible  <bruno@clisp.org>
14432
14433         argmatch: Move AC_LIBOBJ invocations to module description.
14434         * m4/argmatch.m4: Remove file.
14435         * modules/argmatch (Files): Remove it.
14436         (configure.ac): Remove gl_ARGMATCH call.
14437         (Makefile.am): Augment lib_SOURCES.
14438
14439 2011-05-23  Bruno Haible  <bruno@clisp.org>
14440
14441         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14442         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14443         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14444
14445 2011-05-23  Bruno Haible  <bruno@clisp.org>
14446
14447         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14448         * m4/arcfour.m4: Remove file.
14449         * modules/crypto/arcfour (Files): Remove it.
14450         (configure.ac): Remove gl_ARCFOUR call.
14451         (Makefile.am): Augment lib_SOURCES.
14452
14453 2011-05-22  Bruno Haible  <bruno@clisp.org>
14454
14455         write: Move AC_LIBOBJ invocations to module description.
14456         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14457         * modules/write (configure.ac): ... to here.
14458
14459 2011-05-22  Bruno Haible  <bruno@clisp.org>
14460
14461         wmemset: Move AC_LIBOBJ invocations to module description.
14462         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14463         here...
14464         * modules/wmemset (configure.ac): ... to here.
14465
14466 2011-05-22  Bruno Haible  <bruno@clisp.org>
14467
14468         wmemmove: Move AC_LIBOBJ invocations to module description.
14469         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14470         here...
14471         * modules/wmemmove (configure.ac): ... to here.
14472
14473 2011-05-22  Bruno Haible  <bruno@clisp.org>
14474
14475         wmemcpy: Move AC_LIBOBJ invocations to module description.
14476         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14477         here...
14478         * modules/wmemcpy (configure.ac): ... to here.
14479
14480 2011-05-22  Bruno Haible  <bruno@clisp.org>
14481
14482         wmemcmp: Move AC_LIBOBJ invocations to module description.
14483         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14484         here...
14485         * modules/wmemcmp (configure.ac): ... to here.
14486
14487 2011-05-22  Bruno Haible  <bruno@clisp.org>
14488
14489         wmemchr: Move AC_LIBOBJ invocations to module description.
14490         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14491         here...
14492         * modules/wmemchr (configure.ac): ... to here.
14493
14494 2011-05-22  Bruno Haible  <bruno@clisp.org>
14495
14496         wcswidth: Move AC_LIBOBJ invocations to module description.
14497         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14498         here...
14499         * modules/wcswidth (configure.ac): ... to here.
14500
14501 2011-05-22  Bruno Haible  <bruno@clisp.org>
14502
14503         wcwidth: Respect rules for use of AC_LIBOBJ.
14504         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14505         invocation from here...
14506         * modules/wcwidth (configure.ac): ... to here.
14507         (Depends-on): Update conditions.
14508
14509 2011-05-22  Bruno Haible  <bruno@clisp.org>
14510
14511         wctype: Move AC_LIBOBJ invocations to module description.
14512         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14513         invocation from here...
14514         * modules/wctype (configure.ac): ... to here.
14515         (Depends-on): Update conditions.
14516
14517 2011-05-22  Bruno Haible  <bruno@clisp.org>
14518
14519         wctrans: Move AC_LIBOBJ invocations to module description.
14520         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14521         invocation from here...
14522         * modules/wctrans (configure.ac): ... to here.
14523
14524 2011-05-22  Bruno Haible  <bruno@clisp.org>
14525
14526         wctomb: Move AC_LIBOBJ invocations to module description.
14527         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14528         invocations from here...
14529         * modules/wctomb (configure.ac): ... to here.
14530
14531 2011-05-22  Bruno Haible  <bruno@clisp.org>
14532
14533         wctob: Move AC_LIBOBJ invocations to module description.
14534         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14535         gl_PREREQ_WCTOB invocations from here...
14536         * modules/wctob (configure.ac): ... to here.
14537         (Depends-on): Update conditions.
14538
14539 2011-05-22  Bruno Haible  <bruno@clisp.org>
14540
14541         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14542         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14543         here...
14544         * modules/wcsxfrm (configure.ac): ... to here.
14545
14546 2011-05-22  Bruno Haible  <bruno@clisp.org>
14547
14548         wcstok: Move AC_LIBOBJ invocations to module description.
14549         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14550         * modules/wcstok (configure.ac): ... to here.
14551
14552 2011-05-22  Bruno Haible  <bruno@clisp.org>
14553
14554         wcsstr: Move AC_LIBOBJ invocations to module description.
14555         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14556         * modules/wcsstr (configure.ac): ... to here.
14557
14558 2011-05-22  Bruno Haible  <bruno@clisp.org>
14559
14560         wcsspn: Move AC_LIBOBJ invocations to module description.
14561         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14562         * modules/wcsspn (configure.ac): ... to here.
14563
14564 2011-05-22  Bruno Haible  <bruno@clisp.org>
14565
14566         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14567         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14568         gl_PREREQ_WCSRTOMBS invocations from here...
14569         * modules/wcsrtombs (configure.ac): ... to here.
14570
14571 2011-05-22  Bruno Haible  <bruno@clisp.org>
14572
14573         wcsrchr: Move AC_LIBOBJ invocations to module description.
14574         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14575         here...
14576         * modules/wcsrchr (configure.ac): ... to here.
14577
14578 2011-05-22  Bruno Haible  <bruno@clisp.org>
14579
14580         wcspbrk: Move AC_LIBOBJ invocations to module description.
14581         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14582         here...
14583         * modules/wcspbrk (configure.ac): ... to here.
14584
14585 2011-05-22  Bruno Haible  <bruno@clisp.org>
14586
14587         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14588         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14589         gl_PREREQ_WCSNRTOMBS invocations from here...
14590         * modules/wcsnrtombs (configure.ac): ... to here.
14591
14592 2011-05-22  Bruno Haible  <bruno@clisp.org>
14593
14594         wcsnlen: Move AC_LIBOBJ invocations to module description.
14595         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14596         here...
14597         * modules/wcsnlen (configure.ac): ... to here.
14598
14599 2011-05-22  Bruno Haible  <bruno@clisp.org>
14600
14601         wcsncpy: Move AC_LIBOBJ invocations to module description.
14602         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14603         here...
14604         * modules/wcsncpy (configure.ac): ... to here.
14605
14606 2011-05-22  Bruno Haible  <bruno@clisp.org>
14607
14608         wcsncmp: Move AC_LIBOBJ invocations to module description.
14609         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14610         here...
14611         * modules/wcsncmp (configure.ac): ... to here.
14612
14613 2011-05-22  Bruno Haible  <bruno@clisp.org>
14614
14615         wcsncat: Move AC_LIBOBJ invocations to module description.
14616         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14617         here...
14618         * modules/wcsncat (configure.ac): ... to here.
14619
14620 2011-05-22  Bruno Haible  <bruno@clisp.org>
14621
14622         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14623         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14624         from here...
14625         * modules/wcsncasecmp (configure.ac): ... to here.
14626
14627 2011-05-22  Bruno Haible  <bruno@clisp.org>
14628
14629         wcslen: Move AC_LIBOBJ invocations to module description.
14630         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14631         * modules/wcslen (configure.ac): ... to here.
14632
14633 2011-05-22  Bruno Haible  <bruno@clisp.org>
14634
14635         wcsdup: Move AC_LIBOBJ invocations to module description.
14636         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14637         * modules/wcsdup (configure.ac): ... to here.
14638
14639 2011-05-22  Bruno Haible  <bruno@clisp.org>
14640
14641         wcscspn: Move AC_LIBOBJ invocations to module description.
14642         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14643         here...
14644         * modules/wcscspn (configure.ac): ... to here.
14645
14646 2011-05-22  Bruno Haible  <bruno@clisp.org>
14647
14648         wcscpy: Move AC_LIBOBJ invocations to module description.
14649         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14650         * modules/wcscpy (configure.ac): ... to here.
14651
14652 2011-05-22  Bruno Haible  <bruno@clisp.org>
14653
14654         wcscoll: Move AC_LIBOBJ invocations to module description.
14655         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14656         here...
14657         * modules/wcscoll (configure.ac): ... to here.
14658
14659 2011-05-22  Bruno Haible  <bruno@clisp.org>
14660
14661         wcscmp: Move AC_LIBOBJ invocations to module description.
14662         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
14663         * modules/wcscmp (configure.ac): ... to here.
14664
14665 2011-05-22  Bruno Haible  <bruno@clisp.org>
14666
14667         wcschr: Move AC_LIBOBJ invocations to module description.
14668         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
14669         * modules/wcschr (configure.ac): ... to here.
14670
14671 2011-05-22  Bruno Haible  <bruno@clisp.org>
14672
14673         wcscat: Move AC_LIBOBJ invocations to module description.
14674         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
14675         * modules/wcscat (configure.ac): ... to here.
14676
14677 2011-05-22  Bruno Haible  <bruno@clisp.org>
14678
14679         wcscasecmp: Move AC_LIBOBJ invocations to module description.
14680         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
14681         here...
14682         * modules/wcscasecmp (configure.ac): ... to here.
14683
14684 2011-05-22  Bruno Haible  <bruno@clisp.org>
14685
14686         wcrtomb: Move AC_LIBOBJ invocations to module description.
14687         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14688         invocations from here...
14689         * modules/wcrtomb (configure.ac): ... to here.
14690
14691 2011-05-22  Bruno Haible  <bruno@clisp.org>
14692
14693         wcpncpy: Move AC_LIBOBJ invocations to module description.
14694         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14695         here...
14696         * modules/wcpncpy (configure.ac): ... to here.
14697
14698 2011-05-22  Bruno Haible  <bruno@clisp.org>
14699
14700         wcpcpy: Move AC_LIBOBJ invocations to module description.
14701         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14702         * modules/wcpcpy (configure.ac): ... to here.
14703
14704 2011-05-22  Bruno Haible  <bruno@clisp.org>
14705
14706         waitpid: Move AC_LIBOBJ invocations to module description.
14707         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14708         invocation from here...
14709         * modules/waitpid (configure.ac): ... to here.
14710
14711 2011-05-22  Bruno Haible  <bruno@clisp.org>
14712
14713         utimensat: Move AC_LIBOBJ invocations to module description.
14714         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14715         here...
14716         * modules/utimensat (configure.ac): ... to here.
14717
14718 2011-05-22  Bruno Haible  <bruno@clisp.org>
14719
14720         usleep: Move AC_LIBOBJ invocations to module description.
14721         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14722         here...
14723         * modules/usleep (configure.ac): ... to here.
14724
14725 2011-05-22  Bruno Haible  <bruno@clisp.org>
14726
14727         unlockpt: Move AC_LIBOBJ invocations to module description.
14728         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14729         gl_PREREQ_UNLOCKPT invocations from here...
14730         * modules/unlockpt (configure.ac): ... to here.
14731
14732 2011-05-22  Bruno Haible  <bruno@clisp.org>
14733
14734         unlink: Respect rules for use of AC_LIBOBJ.
14735         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14736         * modules/unlink (configure.ac): ... to here.
14737
14738 2011-05-22  Bruno Haible  <bruno@clisp.org>
14739
14740         uname: Move AC_LIBOBJ invocations to module description.
14741         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14742         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14743         here...
14744         * modules/uname (configure.ac): ... to here.
14745
14746 2011-05-22  Bruno Haible  <bruno@clisp.org>
14747
14748         ttyname_r: Move AC_LIBOBJ invocations to module description.
14749         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14750         gl_PREREQ_TTYNAME_R invocations from here...
14751         * modules/ttyname_r (configure.ac): ... to here.
14752
14753 2011-05-22  Bruno Haible  <bruno@clisp.org>
14754
14755         tsearch: Move AC_LIBOBJ invocations to module description.
14756         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14757         invocations from here...
14758         * modules/tsearch (configure.ac): ... to here.
14759
14760 2011-05-22  Bruno Haible  <bruno@clisp.org>
14761
14762         towctrans: Move AC_LIBOBJ invocations to module description.
14763         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14764         AC_LIBOBJ invocation from here...
14765         * modules/towctrans (configure.ac): ... to here.
14766
14767 2011-05-22  Bruno Haible  <bruno@clisp.org>
14768
14769         tmpfile: Move AC_LIBOBJ invocations to module description.
14770         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14771         invocations from here...
14772         * modules/tmpfile (configure.ac): ... to here.
14773
14774 2011-05-22  Bruno Haible  <bruno@clisp.org>
14775
14776         times: Move AC_LIBOBJ invocations to module description.
14777         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14778         * modules/times (configure.ac): ... to here.
14779
14780 2011-05-22  Bruno Haible  <bruno@clisp.org>
14781
14782         time_r: Move AC_LIBOBJ invocations to module description.
14783         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14784         invocations from here...
14785         * modules/time_r (configure.ac): ... to here.
14786
14787 2011-05-22  Bruno Haible  <bruno@clisp.org>
14788
14789         timegm: Move AC_LIBOBJ invocations to module description.
14790         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14791         invocations from here...
14792         * modules/timegm (configure.ac): ... to here.
14793
14794 2011-05-22  Bruno Haible  <bruno@clisp.org>
14795
14796         tcgetsid: Move AC_LIBOBJ invocations to module description.
14797         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14798         and gl_PREREQ_TCGETSID invocations from here...
14799         * modules/tcgetsid (configure.ac): ... to here.
14800         (Depends-on): Update conditions.
14801
14802 2011-05-22  Bruno Haible  <bruno@clisp.org>
14803
14804         symlinkat: Move AC_LIBOBJ invocations to module description.
14805         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14806         here...
14807         * modules/symlinkat (configure.ac): ... to here.
14808
14809 2011-05-22  Bruno Haible  <bruno@clisp.org>
14810
14811         symlink: Move AC_LIBOBJ invocations to module description.
14812         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14813         here...
14814         * modules/symlink (configure.ac): ... to here.
14815
14816 2011-05-22  Bruno Haible  <bruno@clisp.org>
14817
14818         strverscmp: Move AC_LIBOBJ invocations to module description.
14819         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14820         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14821         from here...
14822         * modules/strverscmp (configure.ac): ... to here.
14823
14824 2011-05-22  Bruno Haible  <bruno@clisp.org>
14825
14826         strtok_r: Move AC_LIBOBJ invocations to module description.
14827         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14828         and gl_PREREQ_STRTOK_R invocations from here...
14829         * modules/strtok_r (configure.ac): ... to here.
14830         (Depends-on): Update conditions.
14831
14832 2011-05-22  Bruno Haible  <bruno@clisp.org>
14833
14834         strtoumax: Move AC_LIBOBJ invocations to module description.
14835         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14836         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14837         from here...
14838         * modules/strtoumax (configure.ac): ... to here.
14839
14840 2011-05-22  Bruno Haible  <bruno@clisp.org>
14841
14842         strtoimax: Move AC_LIBOBJ invocations to module description.
14843         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14844         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14845         from here...
14846         * modules/strtoimax (configure.ac): ... to here.
14847
14848 2011-05-22  Bruno Haible  <bruno@clisp.org>
14849
14850         strtoull: Move AC_LIBOBJ invocations to module description.
14851         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14852         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14853         from here...
14854         * modules/strtoull (configure.ac): ... to here.
14855
14856 2011-05-22  Bruno Haible  <bruno@clisp.org>
14857
14858         strtoll: Move AC_LIBOBJ invocations to module description.
14859         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14860         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14861         here...
14862         * modules/strtoll (configure.ac): ... to here.
14863
14864 2011-05-22  Bruno Haible  <bruno@clisp.org>
14865
14866         strtoul: Move AC_LIBOBJ invocations to module description.
14867         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14868         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14869         * modules/strtoul (configure.ac): ... to here.
14870
14871 2011-05-22  Bruno Haible  <bruno@clisp.org>
14872
14873         strtol: Move AC_LIBOBJ invocations to module description.
14874         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14875         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14876         * modules/strtol (configure.ac): ... to here.
14877
14878 2011-05-22  Bruno Haible  <bruno@clisp.org>
14879
14880         strtod: Move AC_LIBOBJ invocations to module description.
14881         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14882         invocations from here...
14883         * modules/strtod (configure.ac): ... to here.
14884
14885 2011-05-22  Bruno Haible  <bruno@clisp.org>
14886
14887         strstr*: Move AC_LIBOBJ invocations to module description.
14888         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14889         invocations from here...
14890         * modules/strstr-simple (configure.ac): ... to here.
14891         * modules/strstr (configure.ac): ... and here.
14892
14893 2011-05-22  Bruno Haible  <bruno@clisp.org>
14894
14895         strsignal: Move AC_LIBOBJ invocations to module description.
14896         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14897         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14898         * modules/strsignal (configure.ac): ... to here.
14899         (Depends-on): Update conditions.
14900
14901 2011-05-22  Bruno Haible  <bruno@clisp.org>
14902
14903         strsep: Move AC_LIBOBJ invocations to module description.
14904         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14905         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14906         here...
14907         * modules/strsep (configure.ac): ... to here.
14908
14909 2011-05-22  Bruno Haible  <bruno@clisp.org>
14910
14911         strptime: Move AC_LIBOBJ invocations to module description.
14912         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14913         gl_PREREQ_STRPTIME invocations from here...
14914         * modules/strptime (configure.ac): ... to here.
14915
14916 2011-05-22  Bruno Haible  <bruno@clisp.org>
14917
14918         strpbrk: Move AC_LIBOBJ invocations to module description.
14919         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14920         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14921         here...
14922         * modules/strpbrk (configure.ac): ... to here.
14923
14924 2011-05-22  Bruno Haible  <bruno@clisp.org>
14925
14926         strnlen: Move AC_LIBOBJ invocations to module description.
14927         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14928         invocations from here...
14929         * modules/strnlen (configure.ac): ... to here.
14930
14931 2011-05-22  Bruno Haible  <bruno@clisp.org>
14932
14933         strndup: Move AC_LIBOBJ invocations to module description.
14934         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14935         invocations from here...
14936         * modules/strndup (configure.ac): ... to here.
14937         (Depends-on): Update conditions.
14938
14939 2011-05-22  Bruno Haible  <bruno@clisp.org>
14940
14941         strncat: Move AC_LIBOBJ invocations to module description.
14942         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14943         invocations from here...
14944         * modules/strncat (configure.ac): ... to here.
14945
14946 2011-05-22  Bruno Haible  <bruno@clisp.org>
14947
14948         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14949         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14950         invocations from here...
14951         * modules/strdup (configure.ac): ... to here.
14952         * modules/strdup-posix (configure.ac): ... and here.
14953
14954 2011-05-22  Bruno Haible  <bruno@clisp.org>
14955
14956         strcspn: Move AC_LIBOBJ invocations to module description.
14957         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14958         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14959         here...
14960         * modules/strcspn (configure.ac): ... to here.
14961
14962 2011-05-22  Bruno Haible  <bruno@clisp.org>
14963
14964         strchrnul: Move AC_LIBOBJ invocations to module description.
14965         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14966         gl_PREREQ_STRCHRNUL invocations from here...
14967         * modules/strchrnul (configure.ac): ... to here.
14968
14969 2011-05-22  Bruno Haible  <bruno@clisp.org>
14970
14971         strcasestr*: Move AC_LIBOBJ invocations to module description.
14972         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14973         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14974         * modules/strcasestr-simple (configure.ac): ... to here.
14975         * modules/strcasestr (configure.ac): ... and here.
14976
14977 2011-05-22  Bruno Haible  <bruno@clisp.org>
14978
14979         strcase: Move AC_LIBOBJ invocations to module description.
14980         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14981         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14982         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14983         gl_PREREQ_STRNCASECMP invocations from here...
14984         * modules/strcase (configure.ac): ... to here.
14985
14986 2011-05-22  Bruno Haible  <bruno@clisp.org>
14987
14988         stpncpy: Move AC_LIBOBJ invocations to module description.
14989         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14990         here...
14991         * modules/stpncpy (configure.ac): ... to here.
14992
14993 2011-05-22  Bruno Haible  <bruno@clisp.org>
14994
14995         stpcpy: Move AC_LIBOBJ invocations to module description.
14996         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
14997         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
14998         here...
14999         * modules/stpcpy (configure.ac): ... to here.
15000
15001 2011-05-21  Bruno Haible  <bruno@clisp.org>
15002
15003         stat: Move AC_LIBOBJ invocations to module description.
15004         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15005         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15006         here...
15007         * modules/stat (configure.ac): ... to here.
15008
15009 2011-05-21  Bruno Haible  <bruno@clisp.org>
15010
15011         sleep: Move AC_LIBOBJ invocations to module description.
15012         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15013         * modules/sleep (configure.ac): ... to here.
15014
15015 2011-05-21  Bruno Haible  <bruno@clisp.org>
15016
15017         signbit: Move AC_LIBOBJ invocations to module description.
15018         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15019         * modules/signbit (configure.ac): ... to here.
15020
15021 2011-05-21  Bruno Haible  <bruno@clisp.org>
15022
15023         sigprocmask: Move AC_LIBOBJ invocations to module description.
15024         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15025         gl_PREREQ_SIGPROMASK invocations from here...
15026         * modules/sigprocmask (configure.ac): ... to here.
15027
15028 2011-05-21  Bruno Haible  <bruno@clisp.org>
15029
15030         sigaction: Move AC_LIBOBJ invocations to module description.
15031         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15032         gl_PREREQ_SIGACTION invocations from here...
15033         * modules/sigaction (configure.ac): ... to here.
15034
15035 2011-05-21  Bruno Haible  <bruno@clisp.org>
15036
15037         sig2str: Move AC_LIBOBJ invocations to module description.
15038         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15039         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15040         here...
15041         * modules/sig2str (configure.ac): ... to here.
15042
15043 2011-05-21  Bruno Haible  <bruno@clisp.org>
15044
15045         setlocale: Move AC_LIBOBJ invocations to module description.
15046         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15047         gl_PREREQ_SETLOCALE invocations from here...
15048         * modules/setlocale (configure.ac): ... to here.
15049
15050 2011-05-21  Bruno Haible  <bruno@clisp.org>
15051
15052         unsetenv: Move AC_LIBOBJ invocations to module description.
15053         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15054         and gl_PREREQ_UNSETENV invocations from here...
15055         * modules/unsetenv (configure.ac): ... to here.
15056         (Depends-on): Update.
15057
15058 2011-05-21  Bruno Haible  <bruno@clisp.org>
15059
15060         setenv: Move AC_LIBOBJ invocations to module description.
15061         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15062         here...
15063         * modules/setenv (configure.ac): ... to here.
15064
15065 2011-05-21  Bruno Haible  <bruno@clisp.org>
15066
15067         selinux-h: Move AC_LIBOBJ invocations to module description.
15068         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15069         AC_LIBOBJ invocation from here...
15070         * modules/selinux-h (configure.ac): ... to here.
15071
15072 2011-05-21  Bruno Haible  <bruno@clisp.org>
15073
15074         select: Respect rules for use of AC_LIBOBJ.
15075         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15076         here...
15077         * modules/select (configure.ac): ... to here.
15078
15079 2011-05-21  Bruno Haible  <bruno@clisp.org>
15080
15081         scandir: Move AC_LIBOBJ invocations to module description.
15082         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15083         invocations from here...
15084         * modules/scandir (configure.ac): ... to here.
15085
15086 2011-05-21  Bruno Haible  <bruno@clisp.org>
15087
15088         rpmatch: Move AC_LIBOBJ invocations to module description.
15089         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15090         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15091         here...
15092         * modules/rpmatch (configure.ac): ... to here.
15093
15094 2011-05-21  Bruno Haible  <bruno@clisp.org>
15095
15096         rmdir: Respect rules for use of AC_LIBOBJ.
15097         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15098         * modules/rmdir (configure.ac): ... to here.
15099
15100 2011-05-21  Bruno Haible  <bruno@clisp.org>
15101
15102         renameat: Move AC_LIBOBJ invocations to module description.
15103         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15104         here...
15105         * modules/renameat (configure.ac): ... to here.
15106
15107 2011-05-21  Bruno Haible  <bruno@clisp.org>
15108
15109         rename: Respect rules for use of AC_LIBOBJ.
15110         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15111         here...
15112         * modules/rename (configure.ac): ... to here.
15113
15114 2011-05-21  Bruno Haible  <bruno@clisp.org>
15115
15116         remove: Move AC_LIBOBJ invocations to module description.
15117         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15118         here...
15119         * modules/remove (configure.ac): ... to here.
15120
15121 2011-05-21  Bruno Haible  <bruno@clisp.org>
15122
15123         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15124         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15125         macro.
15126         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15127         * modules/relocatable-lib (configure.ac): ... to here.
15128         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15129         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15130
15131 2011-05-21  Bruno Haible  <bruno@clisp.org>
15132
15133         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15134         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15135         here...
15136         * modules/relocatable-prog (configure.ac): ... to here.
15137
15138 2011-05-21  Bruno Haible  <bruno@clisp.org>
15139
15140         regex: Move AC_LIBOBJ invocations to module description.
15141         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15142         invocations from here...
15143         * modules/regex (configure.ac): ... to here.
15144
15145 2011-05-21  Bruno Haible  <bruno@clisp.org>
15146
15147         realloc-*: Move AC_LIBOBJ invocations to module description.
15148         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15149         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15150         AC_LIBOBJ invocations from here...
15151         * modules/realloc-gnu (configure.ac): ... to here.
15152         * modules/realloc-posix (configure.ac): ... and here.
15153
15154 2011-05-21  Bruno Haible  <bruno@clisp.org>
15155
15156         readutmp: Move AC_LIBOBJ invocations to module description.
15157         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15158         * modules/readutmp (configure.ac): ... to here.
15159
15160 2011-05-21  Bruno Haible  <bruno@clisp.org>
15161
15162         readlinkat: Move AC_LIBOBJ invocations to module description.
15163         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15164         here...
15165         * modules/readlinkat (configure.ac): ... to here.
15166
15167 2011-05-21  Bruno Haible  <bruno@clisp.org>
15168
15169         readlink: Move AC_LIBOBJ invocations to module description.
15170         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15171         gl_PREREQ_READLINK invocations from here...
15172         * modules/readlink (configure.ac): ... to here.
15173
15174 2011-05-21  Bruno Haible  <bruno@clisp.org>
15175
15176         readline: Move AC_LIBOBJ invocations to module description.
15177         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15178         gl_PREREQ_READLINE invocations from here...
15179         * modules/readline (configure.ac): ... to here.
15180
15181 2011-05-21  Bruno Haible  <bruno@clisp.org>
15182
15183         read: Move AC_LIBOBJ invocations to module description.
15184         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15185         * modules/read (configure.ac): ... to here.
15186
15187 2011-05-21  Bruno Haible  <bruno@clisp.org>
15188
15189         rawmemchr: Move AC_LIBOBJ invocations to module description.
15190         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15191         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15192         from here...
15193         * modules/rawmemchr (configure.ac): ... to here.
15194
15195 2011-05-21  Bruno Haible  <bruno@clisp.org>
15196
15197         random_r: Move AC_LIBOBJ invocations to module description.
15198         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15199         gl_PREREQ_RANDOM_R invocations from here...
15200         * modules/random_r (configure.ac): ... to here.
15201
15202 2011-05-21  Bruno Haible  <bruno@clisp.org>
15203
15204         pwrite: Move AC_LIBOBJ invocations to module description.
15205         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15206         * modules/pwrite (configure.ac): ... to here.
15207
15208 2011-05-21  Bruno Haible  <bruno@clisp.org>
15209
15210         putenv: Move AC_LIBOBJ invocations to module description.
15211         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15212         * modules/putenv (configure.ac): ... to here.
15213
15214 2011-05-21  Bruno Haible  <bruno@clisp.org>
15215
15216         login_tty: Move AC_LIBOBJ invocations to module description.
15217         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15218         * modules/login_tty (configure.ac): ... to here.
15219
15220 2011-05-21  Bruno Haible  <bruno@clisp.org>
15221
15222         openpty: Move AC_LIBOBJ invocations to module description.
15223         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15224         * modules/openpty (configure.ac): ... to here.
15225
15226 2011-05-21  Bruno Haible  <bruno@clisp.org>
15227
15228         forkpty: Move AC_LIBOBJ invocations to module description.
15229         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15230         * modules/forkpty (configure.ac): ... to here.
15231
15232 2011-05-21  Bruno Haible  <bruno@clisp.org>
15233
15234         ptsname: Move AC_LIBOBJ invocations to module description.
15235         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15236         invocations from here...
15237         * modules/ptsname (configure.ac): ... to here.
15238
15239 2011-05-21  Bruno Haible  <bruno@clisp.org>
15240
15241         pread: Move AC_LIBOBJ invocations to module description.
15242         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15243         * modules/pread (configure.ac): ... to here.
15244
15245 2011-05-21  Bruno Haible  <bruno@clisp.org>
15246
15247         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15248         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15249         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15250         * modules/posix_spawn (configure.ac): ... to here.
15251         * modules/posix_spawnp (configure.ac): ... and here.
15252
15253 2011-05-21  Bruno Haible  <bruno@clisp.org>
15254
15255         popen: Move AC_LIBOBJ invocations to module description.
15256         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15257         invocations from here...
15258         * modules/popen (configure.ac): ... to here.
15259
15260 2011-05-21  Bruno Haible  <bruno@clisp.org>
15261
15262         poll: Move AC_LIBOBJ invocations to module description.
15263         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15264         invocations from here...
15265         * modules/poll (configure.ac): ... to here.
15266
15267 2011-05-21  Bruno Haible  <bruno@clisp.org>
15268
15269         pipe-posix: Move AC_LIBOBJ invocations to module description.
15270         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15271         * modules/pipe-posix (configure.ac): ... to here.
15272
15273 2011-05-21  Bruno Haible  <bruno@clisp.org>
15274
15275         openat: Respect rules for use of AC_LIBOBJ.
15276         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15277         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15278         * modules/openat (configure.ac): ... to here.
15279
15280 2011-05-21  Bruno Haible  <bruno@clisp.org>
15281
15282         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15283         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15284         invocation from here...
15285         * modules/obstack-printf (configure.ac): ... to here.
15286         * modules/obstack-printf-posix (configure.ac): ... and here.
15287
15288 2011-05-21  Bruno Haible  <bruno@clisp.org>
15289
15290         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15291         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15292         from here...
15293         * modules/nl_langinfo (configure.ac): ... to here.
15294
15295 2011-05-21  Bruno Haible  <bruno@clisp.org>
15296
15297         nanosleep: Move AC_LIBOBJ invocations to module description.
15298         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15299         gl_PREREQ_NANOSLEEP invocations from here...
15300         * modules/nanosleep (configure.ac): ... to here.
15301
15302 2011-05-21  Bruno Haible  <bruno@clisp.org>
15303
15304         mountlist: Move AC_LIBOBJ invocations to module description.
15305         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15306         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15307         * modules/mountlist (configure.ac): ... to here.
15308
15309 2011-05-21  Bruno Haible  <bruno@clisp.org>
15310
15311         mktime: Respect rules for use of AC_LIBOBJ.
15312         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15313         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15314         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15315         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15316         * modules/mktime (configure.ac): ... to here.
15317         * modules/mktime-internal (configure.ac): ... and here.
15318         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15319
15320 2011-05-21  Bruno Haible  <bruno@clisp.org>
15321
15322         mkstemps: Move AC_LIBOBJ invocations to module description.
15323         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15324         here...
15325         * modules/mkstemps (configure.ac): ... to here.
15326
15327 2011-05-21  Bruno Haible  <bruno@clisp.org>
15328
15329         mkstemp: Move AC_LIBOBJ invocations to module description.
15330         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15331         gl_PREREQ_MKSTEMP invocations from here...
15332         * modules/mkstemp (configure.ac): ... to here.
15333
15334 2011-05-21  Bruno Haible  <bruno@clisp.org>
15335
15336         mkostemps: Move AC_LIBOBJ invocations to module description.
15337         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15338         here...
15339         * modules/mkostemps (configure.ac): ... to here.
15340
15341 2011-05-21  Bruno Haible  <bruno@clisp.org>
15342
15343         mkostemp: Move AC_LIBOBJ invocations to module description.
15344         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15345         gl_PREREQ_MKOSTEMP invocations from here...
15346         * modules/mkostemp (configure.ac): ... to here.
15347
15348 2011-05-21  Bruno Haible  <bruno@clisp.org>
15349
15350         mknod: Move AC_LIBOBJ invocations to module description.
15351         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15352         * modules/mknod (configure.ac): ... to here.
15353
15354 2011-05-21  Bruno Haible  <bruno@clisp.org>
15355
15356         mkfifoat: Move AC_LIBOBJ invocations to module description.
15357         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15358         here...
15359         * modules/mkfifoat (configure.ac): ... to here.
15360
15361 2011-05-21  Bruno Haible  <bruno@clisp.org>
15362
15363         mkfifo: Respect rules for use of AC_LIBOBJ.
15364         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15365         here...
15366         * modules/mkfifo (configure.ac): ... to here.
15367
15368 2011-05-21  Bruno Haible  <bruno@clisp.org>
15369
15370         mkdtemp: Move AC_LIBOBJ invocations to module description.
15371         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15372         invocations from here...
15373         * modules/mkdtemp (configure.ac): ... to here.
15374
15375 2011-05-21  Bruno Haible  <bruno@clisp.org>
15376
15377         mkdir: Move AC_LIBOBJ invocations to module description.
15378         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15379         * modules/mkdir (configure.ac): ... to here.
15380
15381 2011-05-21  Bruno Haible  <bruno@clisp.org>
15382
15383         memset: Move AC_LIBOBJ invocations to module description.
15384         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15385         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15386         here...
15387         * modules/memset (configure.ac): ... to here.
15388
15389 2011-05-21  Bruno Haible  <bruno@clisp.org>
15390
15391         memrchr: Move AC_LIBOBJ invocations to module description.
15392         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15393         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15394         here...
15395         * modules/memrchr (configure.ac): ... to here.
15396
15397 2011-05-21  Bruno Haible  <bruno@clisp.org>
15398
15399         mempcpy: Move AC_LIBOBJ invocations to module description.
15400         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15401         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15402         here...
15403         * modules/mempcpy (configure.ac): ... to here.
15404
15405 2011-05-21  Bruno Haible  <bruno@clisp.org>
15406
15407         memmove: Move AC_LIBOBJ invocations to module description.
15408         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15409         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15410         here...
15411         * modules/memmove (configure.ac): ... to here.
15412
15413 2011-05-21  Bruno Haible  <bruno@clisp.org>
15414
15415         memmem*: Move AC_LIBOBJ invocations to module description.
15416         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15417         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15418         here...
15419         (gl_FUNC_MEMMEM): ... and here...
15420         * modules/memmem-simple (configure.ac): ... to here.
15421         * modules/memmem (configure.ac): ... and here.
15422
15423 2011-05-21  Bruno Haible  <bruno@clisp.org>
15424
15425         memcpy: Move AC_LIBOBJ invocations to module description.
15426         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15427         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15428         here...
15429         * modules/memcpy (configure.ac): ... to here.
15430
15431 2011-05-21  Bruno Haible  <bruno@clisp.org>
15432
15433         memcmp: Simplify autoconf macro.
15434         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15435         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15436         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15437
15438 2011-05-21  Bruno Haible  <bruno@clisp.org>
15439
15440         memcmp: Move AC_LIBOBJ invocations to module description.
15441         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15442         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15443         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15444         * modules/memcmp (configure.ac): ... to here.
15445         (Depends-on): Update conditions.
15446
15447 2011-05-21  Bruno Haible  <bruno@clisp.org>
15448
15449         memchr: Respect rules for use of AC_LIBOBJ.
15450         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15451         invocations from here...
15452         * modules/memchr (configure.ac): ... to here.
15453
15454 2011-05-21  Bruno Haible  <bruno@clisp.org>
15455
15456         mbtowc: Move AC_LIBOBJ invocations to module description.
15457         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15458         invocations from here...
15459         * modules/mbtowc (configure.ac): ... to here.
15460
15461 2011-05-21  Bruno Haible  <bruno@clisp.org>
15462
15463         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15464         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15465         gl_PREREQ_MBSRTOWCS invocations from here...
15466         * modules/mbsrtowcs (configure.ac): ... to here.
15467
15468 2011-05-21  Bruno Haible  <bruno@clisp.org>
15469
15470         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15471         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15472         gl_PREREQ_MBSNRTOWCS invocations from here...
15473         * modules/mbsnrtowcs (configure.ac): ... to here.
15474
15475 2011-05-21  Bruno Haible  <bruno@clisp.org>
15476
15477         mbsinit: Move AC_LIBOBJ invocations to module description.
15478         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15479         invocations from here...
15480         * modules/mbsinit (configure.ac): ... to here.
15481
15482 2011-05-21  Bruno Haible  <bruno@clisp.org>
15483
15484         mbrlen: Move AC_LIBOBJ invocations to module description.
15485         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15486         invocations from here...
15487         * modules/mbrlen (configure.ac): ... to here.
15488
15489 2011-05-21  Bruno Haible  <bruno@clisp.org>
15490
15491         mbrtowc: Respect rules for use of AC_LIBOBJ.
15492         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15493         invocations from here...
15494         * modules/mbrtowc (configure.ac): ... to here.
15495
15496 2011-05-21  Bruno Haible  <bruno@clisp.org>
15497
15498         malloc-*: Move AC_LIBOBJ invocations to module description.
15499         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15500         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15501         AC_LIBOBJ invocations from here...
15502         * modules/malloc-gnu (configure.ac): ... to here.
15503         * modules/malloc-posix (configure.ac): ... and here.
15504
15505 2011-05-21  Bruno Haible  <bruno@clisp.org>
15506
15507         lstat, openat: Respect rules for use of AC_LIBOBJ.
15508         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15509         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15510         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15511         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15512         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15513         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15514         here.
15515         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15516
15517 2011-05-21  Bruno Haible  <bruno@clisp.org>
15518
15519         lseek: Move AC_LIBOBJ invocations to module description.
15520         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15521         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15522         * modules/lseek (configure.ac): ... to here.
15523
15524 2011-05-21  Bruno Haible  <bruno@clisp.org>
15525
15526         linkat: Move AC_LIBOBJ invocations to module description.
15527         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15528         here...
15529         * modules/linkat (configure.ac): ... to here.
15530
15531 2011-05-21  Bruno Haible  <bruno@clisp.org>
15532
15533         link: Respect rules for use of AC_LIBOBJ.
15534         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15535         * modules/link (configure.ac): ... to here.
15536
15537 2011-05-21  Bruno Haible  <bruno@clisp.org>
15538
15539         lchown: Move AC_LIBOBJ invocations to module description.
15540         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15541         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15542         * modules/lchown (configure.ac): ... to here.
15543
15544 2011-05-21  Bruno Haible  <bruno@clisp.org>
15545
15546         iswctype: Move AC_LIBOBJ invocations to module description.
15547         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15548         here...
15549         * modules/iswctype (configure.ac): ... to here.
15550
15551 2011-05-21  Bruno Haible  <bruno@clisp.org>
15552
15553         iswblank: Move AC_LIBOBJ invocations to module description.
15554         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15555         here...
15556         * modules/iswblank (configure.ac): ... to here.
15557
15558 2011-05-21  Bruno Haible  <bruno@clisp.org>
15559
15560         atanl: Move AC_LIBOBJ invocations to module description.
15561         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15562         * modules/atanl (configure.ac): ... to here.
15563
15564 2011-05-21  Bruno Haible  <bruno@clisp.org>
15565
15566         acosl: Move AC_LIBOBJ invocations to module description.
15567         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15568         * modules/acosl (configure.ac): ... to here.
15569
15570 2011-05-21  Bruno Haible  <bruno@clisp.org>
15571
15572         asinl: Respect rules for use of AC_LIBOBJ.
15573         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15574         * modules/asinl (configure.ac): ... to here.
15575
15576 2011-05-21  Bruno Haible  <bruno@clisp.org>
15577
15578         tanl: Move AC_LIBOBJ invocations to module description.
15579         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15580         * modules/tanl (configure.ac): ... to here.
15581
15582 2011-05-21  Bruno Haible  <bruno@clisp.org>
15583
15584         cosl: Move AC_LIBOBJ invocations to module description.
15585         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15586         * modules/cosl (configure.ac): ... to here.
15587
15588 2011-05-21  Bruno Haible  <bruno@clisp.org>
15589
15590         sinl: Move AC_LIBOBJ invocations to module description.
15591         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15592         * modules/sinl (configure.ac): ... to here.
15593
15594 2011-05-21  Bruno Haible  <bruno@clisp.org>
15595
15596         logl: Move AC_LIBOBJ invocations to module description.
15597         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15598         * modules/logl (configure.ac): ... to here.
15599
15600 2011-05-21  Bruno Haible  <bruno@clisp.org>
15601
15602         expl: Move AC_LIBOBJ invocations to module description.
15603         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15604         * modules/expl (configure.ac): ... to here.
15605
15606 2011-05-21  Bruno Haible  <bruno@clisp.org>
15607
15608         roundl: Move AC_LIBOBJ invocations to module description.
15609         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15610         * modules/roundl (configure.ac): ... to here.
15611
15612 2011-05-21  Bruno Haible  <bruno@clisp.org>
15613
15614         round: Move AC_LIBOBJ invocations to module description.
15615         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15616         * modules/round (configure.ac): ... to here.
15617
15618 2011-05-21  Bruno Haible  <bruno@clisp.org>
15619
15620         roundf: Move AC_LIBOBJ invocations to module description.
15621         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15622         * modules/roundf (configure.ac): ... to here.
15623
15624 2011-05-21  Bruno Haible  <bruno@clisp.org>
15625
15626         truncl: Move AC_LIBOBJ invocations to module description.
15627         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15628         * modules/truncl (configure.ac): ... to here.
15629
15630 2011-05-21  Bruno Haible  <bruno@clisp.org>
15631
15632         trunc: Move AC_LIBOBJ invocations to module description.
15633         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15634         * modules/trunc (configure.ac): ... to here.
15635
15636 2011-05-21  Bruno Haible  <bruno@clisp.org>
15637
15638         truncf: Move AC_LIBOBJ invocations to module description.
15639         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15640         * modules/truncf (configure.ac): ... to here.
15641
15642 2011-05-21  Bruno Haible  <bruno@clisp.org>
15643
15644         ceill: Move AC_LIBOBJ invocations to module description.
15645         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15646         * modules/ceill (configure.ac): ... to here.
15647
15648 2011-05-21  Bruno Haible  <bruno@clisp.org>
15649
15650         ceil: Move AC_LIBOBJ invocations to module description.
15651         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15652         * modules/ceil (configure.ac): ... to here.
15653
15654 2011-05-21  Bruno Haible  <bruno@clisp.org>
15655
15656         ceilf: Move AC_LIBOBJ invocations to module description.
15657         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15658         * modules/ceilf (configure.ac): ... to here.
15659
15660 2011-05-21  Bruno Haible  <bruno@clisp.org>
15661
15662         floorl: Respect rules for use of AC_LIBOBJ.
15663         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
15664         * modules/floorl (configure.ac): ... to here.
15665
15666 2011-05-21  Bruno Haible  <bruno@clisp.org>
15667
15668         floor: Respect rules for use of AC_LIBOBJ.
15669         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
15670         * modules/floor (configure.ac): ... to here.
15671
15672 2011-05-21  Bruno Haible  <bruno@clisp.org>
15673
15674         floorf: Move AC_LIBOBJ invocations to module description.
15675         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
15676         * modules/floorf (configure.ac): ... to here.
15677
15678 2011-05-20  Bruno Haible  <bruno@clisp.org>
15679
15680         sqrtl: Respect rules for use of AC_LIBOBJ.
15681         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
15682         * modules/sqrtl (configure.ac): ... to here.
15683
15684 2011-05-20  Bruno Haible  <bruno@clisp.org>
15685
15686         ldexpl: Respect rules for use of AC_LIBOBJ.
15687         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15688         * modules/ldexpl (configure.ac): ... to here.
15689
15690 2011-05-20  Bruno Haible  <bruno@clisp.org>
15691
15692         frexpl*: Respect rules for use of AC_LIBOBJ.
15693         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15694         invocation from here...
15695         * modules/frexpl (configure.ac): ... to here.
15696         * modules/frexpl-nolibm (configure.ac): ... and here.
15697
15698 2011-05-20  Bruno Haible  <bruno@clisp.org>
15699
15700         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15701         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15702         invocation from here...
15703         * modules/frexp (configure.ac): ... to here.
15704         * modules/frexp-nolibm (configure.ac): ... and here.
15705
15706 2011-05-20  Bruno Haible  <bruno@clisp.org>
15707
15708         isnan: Respect rules for use of AC_LIBOBJ.
15709         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15710         invocations here.
15711         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15712         REPLACE_ISNAN.
15713         * modules/isnand (configure.ac): Likewise.
15714         * modules/isnanl (configure.ac): Likewise.
15715
15716 2011-05-20  Bruno Haible  <bruno@clisp.org>
15717
15718         isnanl*: Respect rules for use of AC_LIBOBJ.
15719         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15720         invocation from here...
15721         * modules/isnanl (configure.ac): ... to here.
15722         * modules/isnanl-nolibm (configure.ac): ... and here.
15723
15724 2011-05-20  Bruno Haible  <bruno@clisp.org>
15725
15726         isnand*: Move AC_LIBOBJ invocations to module description.
15727         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15728         invocation from here...
15729         * modules/isnand (configure.ac): ... to here.
15730         * modules/isnand-nolibm (configure.ac): ... and here.
15731
15732 2011-05-20  Bruno Haible  <bruno@clisp.org>
15733
15734         isnanf*: Move AC_LIBOBJ invocations to module description.
15735         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15736         invocation from here...
15737         * modules/isnanf (configure.ac): ... to here.
15738         * modules/isnanf-nolibm (configure.ac): ... and here.
15739
15740 2011-05-20  Bruno Haible  <bruno@clisp.org>
15741
15742         isnan*: Separate the AC_LIBOBJ invocations.
15743         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15744         AC_LIBOBJ invocation.
15745         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15746         here.
15747         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15748         AC_LIBOBJ invocation.
15749         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15750         here.
15751         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15752         AC_LIBOBJ invocation.
15753         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15754         here.
15755         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15756
15757 2011-05-08  Bruno Haible  <bruno@clisp.org>
15758
15759         isinf: Move AC_LIBOBJ invocations to module description.
15760         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15761         * modules/isinf (configure.ac): ... to here.
15762
15763 2011-05-08  Bruno Haible  <bruno@clisp.org>
15764
15765         isfinite: Move AC_LIBOBJ invocations to module description.
15766         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15767         * modules/isfinite (configure.ac): ... to here.
15768
15769 2011-05-08  Bruno Haible  <bruno@clisp.org>
15770
15771         isblank: Move AC_LIBOBJ invocations to module description.
15772         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15773         here...
15774         * modules/isblank (configure.ac): ... to here.
15775
15776 2011-05-08  Bruno Haible  <bruno@clisp.org>
15777
15778         isapipe: Move AC_LIBOBJ invocations to module description.
15779         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15780         gl_PREREQ_ISAPIPE invocations from here...
15781         * modules/isapipe (configure.ac): ... to here.
15782         (Depends-on): Update condition.
15783
15784 2011-05-08  Bruno Haible  <bruno@clisp.org>
15785
15786         ioctl: Move AC_LIBOBJ invocations to module description.
15787         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15788         invocations from here...
15789         * modules/ioctl (configure.ac): ... to here.
15790         (Depends-on): Update condition.
15791
15792 2011-05-08  Bruno Haible  <bruno@clisp.org>
15793
15794         imaxdiv: Move AC_LIBOBJ invocations to module description.
15795         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15796         invocations from here...
15797         * modules/imaxdiv (configure.ac): ... to here.
15798
15799 2011-05-08  Bruno Haible  <bruno@clisp.org>
15800
15801         imaxabs: Move AC_LIBOBJ invocations to module description.
15802         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15803         invocations from here...
15804         * modules/imaxabs (configure.ac): ... to here.
15805
15806 2011-05-08  Bruno Haible  <bruno@clisp.org>
15807
15808         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15809         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15810         AC_LIBOBJ invocations from here...
15811         * modules/getaddrinfo (configure.ac): ... to here.
15812         (Depends-on): Add conditions.
15813
15814 2011-05-08  Bruno Haible  <bruno@clisp.org>
15815
15816         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15817         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15818         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15819         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15820         (gl_PREREQ_INET_PTON): ... from here.
15821         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15822         gl_PREREQ_INET_PTON here.
15823         (Depends-on): Update condition.
15824
15825 2011-05-08  Bruno Haible  <bruno@clisp.org>
15826
15827         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15828         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15829         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15830         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15831         (gl_PREREQ_INET_NTOP): ... from here.
15832         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15833         gl_PREREQ_INET_NTOP here.
15834         (Depends-on): Update condition.
15835
15836 2011-05-08  Bruno Haible  <bruno@clisp.org>
15837
15838         iconv_open: Move AC_LIBOBJ invocations to module description.
15839         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15840         AC_LIBOBJ invocations from here...
15841         * modules/iconv_open (configure.ac): ... to here.
15842
15843 2011-05-08  Bruno Haible  <bruno@clisp.org>
15844
15845         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15846         If module 'iconv_open' is among the main modules and module
15847         'iconv_open-utf' is among the tests dependencies, then
15848         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15849         return the special iconv_t values. Therefore iconv() and iconv_close()
15850         must support these special iconv_t values, already in lib, not only in
15851         tests.
15852         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15853         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15854         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15855         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15856         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15857         (Depends-on): Add the dependencies of iconv_open-utf.
15858         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15859         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15860         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15861
15862 2011-05-08  Bruno Haible  <bruno@clisp.org>
15863
15864         group-member: Move AC_LIBOBJ invocations to module description.
15865         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15866         gl_PREREQ_GROUP_MEMBER invocations from here...
15867         * modules/group-member (configure.ac): ... to here.
15868
15869 2011-05-08  Bruno Haible  <bruno@clisp.org>
15870
15871         grantpt: Move AC_LIBOBJ invocations to module description.
15872         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15873         invocations from here...
15874         * modules/grantpt (configure.ac): ... to here.
15875
15876 2011-05-08  Bruno Haible  <bruno@clisp.org>
15877
15878         glob: Move AC_LIBOBJ invocations to module description.
15879         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15880         from here...
15881         * modules/glob (configure.ac): ... to here.
15882
15883 2011-05-08  Bruno Haible  <bruno@clisp.org>
15884
15885         getusershell: Move AC_LIBOBJ invocations to module description.
15886         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15887         Move AC_LIBOBJ invocation from here...
15888         * modules/getusershell (configure.ac): ... to here.
15889         (Depends-on): Update condition.
15890
15891 2011-05-08  Bruno Haible  <bruno@clisp.org>
15892
15893         gettimeofday: Move AC_LIBOBJ invocations to module description.
15894         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15895         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15896         gl_PREREQ_GETTIMEOFDAY invocations from here...
15897         * modules/gettimeofday (configure.ac): ... to here.
15898
15899 2011-05-08  Bruno Haible  <bruno@clisp.org>
15900
15901         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15902         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15903         just gl_FUNC_TZSET.
15904         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15905         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15906         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15907         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15908
15909 2011-05-08  Bruno Haible  <bruno@clisp.org>
15910
15911         getsubopt: Move AC_LIBOBJ invocations to module description.
15912         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15913         gl_PREREQ_GETSUBOPT invocations from here...
15914         * modules/getsubopt (configure.ac): ... to here.
15915
15916 2011-05-08  Bruno Haible  <bruno@clisp.org>
15917
15918         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15919         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15920         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15921         * modules/getpass-gnu (configure.ac): ... to here.
15922
15923 2011-05-08  Bruno Haible  <bruno@clisp.org>
15924
15925         getpass: Move AC_LIBOBJ invocations to module description.
15926         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15927         gl_PREREQ_GETPASS invocations from here...
15928         * modules/getpass (configure.ac): ... to here.
15929
15930 2011-05-08  Bruno Haible  <bruno@clisp.org>
15931
15932         getpagesize: Move AC_LIBOBJ invocations to module description.
15933         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15934         from here...
15935         * modules/getpagesize (configure.ac): ... to here.
15936
15937 2011-05-08  Bruno Haible  <bruno@clisp.org>
15938
15939         getopt: Move AC_LIBOBJ invocations to module description.
15940         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15941         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15942         invocations from here...
15943         * modules/getopt-gnu (configure.ac): ... to here.
15944         * modules/getopt-posix (configure.ac): ... and here.
15945         (Depends-on): Update condition.
15946
15947 2011-05-08  Bruno Haible  <bruno@clisp.org>
15948
15949         getopt, argp: Respect rules for use of AC_LIBOBJ.
15950         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15951         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15952         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15953         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15954
15955 2011-05-08  Bruno Haible  <bruno@clisp.org>
15956
15957         getlogin_r: Move AC_LIBOBJ invocations to module description.
15958         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15959         gl_PREREQ_GETLOGIN_R invocations from here...
15960         * modules/getlogin_r (configure.ac): ... to here.
15961
15962 2011-05-08  Bruno Haible  <bruno@clisp.org>
15963
15964         getlogin: Move AC_LIBOBJ invocations to module description.
15965         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15966         here...
15967         * modules/getlogin (configure.ac): ... to here.
15968
15969 2011-05-08  Bruno Haible  <bruno@clisp.org>
15970
15971         getloadavg: Move AC_LIBOBJ invocations to module description.
15972         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15973         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15974         * modules/getloadavg (configure.ac): ... to here.
15975
15976 2011-05-08  Bruno Haible  <bruno@clisp.org>
15977
15978         gethrxtime: Move AC_LIBOBJ invocations to module description.
15979         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15980         LIB_GETHRXTIME from here...
15981         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15982         invocations from here...
15983         * modules/gethrxtime (configure.ac): ... to here.
15984
15985 2011-05-08  Bruno Haible  <bruno@clisp.org>
15986
15987         gethostname: Move AC_LIBOBJ invocations to module description.
15988         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15989         gl_PREREQ_GETHOSTNAME invocations from here...
15990         * modules/gethostname (configure.ac): ... to here.
15991
15992 2011-05-08  Bruno Haible  <bruno@clisp.org>
15993
15994         getgroups: Move AC_LIBOBJ invocations to module description.
15995         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
15996         here...
15997         * modules/getgroups (configure.ac): ... to here.
15998
15999 2011-05-08  Bruno Haible  <bruno@clisp.org>
16000
16001         getdtablesize: Move AC_LIBOBJ invocations to module description.
16002         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16003         invocation from here...
16004         * modules/getdtablesize (configure.ac): ... to here.
16005
16006 2011-05-08  Bruno Haible  <bruno@clisp.org>
16007
16008         getdomainname: Move AC_LIBOBJ invocations to module description.
16009         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16010         gl_PREREQ_GETDOMAINNAME invocations from here...
16011         * modules/getdomainname (configure.ac): ... to here.
16012
16013 2011-05-08  Bruno Haible  <bruno@clisp.org>
16014
16015         getline: Move AC_LIBOBJ invocations to module description.
16016         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16017         invocations from here...
16018         * modules/getline (configure.ac): ... to here.
16019
16020 2011-05-08  Bruno Haible  <bruno@clisp.org>
16021
16022         getline: Simplify.
16023         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16024         It's already handled through the module dependency.
16025
16026 2011-05-08  Bruno Haible  <bruno@clisp.org>
16027
16028         getdelim: Move AC_LIBOBJ invocations to module description.
16029         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16030         and gl_PREREQ_GETDELIM invocations from here...
16031         * modules/getdelim (configure.ac): ... to here.
16032         (Depends-on): Fix condition.
16033
16034 2011-05-08  Bruno Haible  <bruno@clisp.org>
16035
16036         getcwd: Move AC_LIBOBJ invocations to module description.
16037         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16038         invocations from here...
16039         * modules/getcwd (configure.ac): ... to here.
16040
16041 2011-05-08  Bruno Haible  <bruno@clisp.org>
16042
16043         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16044         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16045         here...
16046         * modules/getcwd-lgpl (configure.ac): ... to here.
16047
16048 2011-05-07  Bruno Haible  <bruno@clisp.org>
16049
16050         crypto/gc: Move AC_LIBOBJ invocations to module description.
16051         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16052         * modules/crypto/gc (configure.ac): ... to here.
16053
16054 2011-05-07  Bruno Haible  <bruno@clisp.org>
16055
16056         fwriting: Move AC_LIBOBJ invocations to module description.
16057         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16058         here...
16059         * modules/fwriting (configure.ac): ... to here.
16060
16061 2011-05-07  Bruno Haible  <bruno@clisp.org>
16062
16063         fwritable: Move AC_LIBOBJ invocations to module description.
16064         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16065         here...
16066         * modules/fwritable (configure.ac): ... to here.
16067
16068 2011-05-07  Bruno Haible  <bruno@clisp.org>
16069
16070         futimens: Move AC_LIBOBJ invocations to module description.
16071         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16072         here...
16073         * modules/futimens (configure.ac): ... to here.
16074
16075 2011-05-07  Bruno Haible  <bruno@clisp.org>
16076
16077         ftruncate: Move AC_LIBOBJ invocations to module description.
16078         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16079         gl_PREREQ_FTRUNCATE invocations from here...
16080         * modules/ftruncate (configure.ac): ... to here.
16081
16082 2011-05-07  Bruno Haible  <bruno@clisp.org>
16083
16084         fsync: Move AC_LIBOBJ invocations to module description.
16085         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16086         invocations from here...
16087         * modules/fsync (configure.ac): ... to here.
16088
16089 2011-05-07  Bruno Haible  <bruno@clisp.org>
16090
16091         fsusage: Move AC_LIBOBJ invocations to module description.
16092         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16093         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16094         * modules/fsusage (configure.ac): ... to here.
16095
16096 2011-05-07  Bruno Haible  <bruno@clisp.org>
16097
16098         freopen: Move AC_LIBOBJ invocations to module description.
16099         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16100         invocations from here...
16101         * modules/freopen (configure.ac): ... to here.
16102
16103 2011-05-07  Bruno Haible  <bruno@clisp.org>
16104
16105         free: Move AC_LIBOBJ invocations to module description.
16106         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16107         invocations from here...
16108         * modules/free (configure.ac): ... to here.
16109
16110 2011-05-07  Bruno Haible  <bruno@clisp.org>
16111
16112         freadable: Move AC_LIBOBJ invocations to module description.
16113         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16114         here...
16115         * modules/freadable (configure.ac): ... to here.
16116
16117 2011-05-07  Bruno Haible  <bruno@clisp.org>
16118
16119         fpurge: Move AC_LIBOBJ invocations to module description.
16120         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16121         invocations from here...
16122         * modules/fpurge (configure.ac): ... to here.
16123
16124 2011-05-07  Bruno Haible  <bruno@clisp.org>
16125
16126         fpending: Move AC_LIBOBJ invocations to module description.
16127         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16128         gl_FUNC_FPENDING.
16129         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16130         invocations from here...
16131         * modules/fpending (configure.ac): ... to here.
16132
16133 2011-05-07  Bruno Haible  <bruno@clisp.org>
16134
16135         fopen: Move AC_LIBOBJ invocations to module description.
16136         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16137         invocations from here...
16138         * modules/fopen (configure.ac): ... to here.
16139
16140 2011-05-07  Bruno Haible  <bruno@clisp.org>
16141
16142         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16143         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16144         gl_FUNC_FNMATCH_POSIX.
16145         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16146         invocations from here...
16147         * modules/fnmatch (configure.ac): ... to here.
16148         * modules/fnmatch-gnu (configure.ac): ... and here.
16149
16150 2011-05-07  Bruno Haible  <bruno@clisp.org>
16151
16152         flock: Move AC_LIBOBJ invocations to module description.
16153         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16154         invocations from here...
16155         * modules/flock (configure.ac): ... to here.
16156
16157 2011-05-07  Bruno Haible  <bruno@clisp.org>
16158
16159         fileblocks: Move AC_LIBOBJ invocations to module description.
16160         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16161         gl_PREREQ_FILEBLOCKS invocations from here...
16162         * modules/fileblocks (configure.ac): ... to here.
16163
16164 2011-05-06  Bruno Haible  <bruno@clisp.org>
16165
16166         fflush: Move AC_LIBOBJ invocations to module description.
16167         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16168         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16169         invocations from here...
16170         * modules/fflush (configure.ac): ... to here.
16171
16172 2011-05-06  Bruno Haible  <bruno@clisp.org>
16173
16174         fdopendir: Move AC_LIBOBJ invocations to module description.
16175         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16176         here...
16177         * modules/fdopendir (configure.ac): ... to here.
16178         (Depends-on): Improve conditions.
16179
16180 2011-05-06  Bruno Haible  <bruno@clisp.org>
16181
16182         _Exit: Move AC_LIBOBJ invocations to module description.
16183         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16184         invocations from here...
16185         * modules/_Exit (configure.ac): ... to here.
16186
16187 2011-05-21  Bruno Haible  <bruno@clisp.org>
16188
16189         euidaccess: Respect rules for use of AC_LIBOBJ.
16190         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16191         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16192         from here...
16193         * modules/euidaccess (configure.ac): ... to here.
16194
16195 2011-05-06  Bruno Haible  <bruno@clisp.org>
16196
16197         error: Move AC_LIBOBJ invocations to module description.
16198         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16199         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16200         invocations from here...
16201         * modules/error (configure.ac): ... to here.
16202
16203 2011-05-06  Bruno Haible  <bruno@clisp.org>
16204
16205         duplocale: Move AC_LIBOBJ invocations to module description.
16206         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16207         gl_PREREQ_DUPLOCALE invocations from here...
16208         * modules/duplocale (configure.ac): ... to here.
16209
16210 2011-05-05  Bruno Haible  <bruno@clisp.org>
16211
16212         dirfd: Move AC_LIBOBJ invocations to module description.
16213         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16214         gl_FUNC_DIRFD.
16215         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16216         here...
16217         * modules/dirfd (configure.ac): ... to here.
16218         (Depends-on): Fix condition.
16219
16220 2011-05-05  Bruno Haible  <bruno@clisp.org>
16221
16222         chown: Respect rules for use of AC_LIBOBJ.
16223         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16224         * modules/chown (configure.ac): ... to here.
16225
16226 2011-05-05  Bruno Haible  <bruno@clisp.org>
16227
16228         chdir-long: Move AC_LIBOBJ invocations to module description.
16229         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16230         gl_PREREQ_CHDIR_LONG invocations from here...
16231         * modules/chdir-long (configure.ac): ... to here.
16232
16233 2011-05-05  Bruno Haible  <bruno@clisp.org>
16234
16235         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16236         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16237         from here...
16238         * modules/canonicalize-lgpl (configure.ac): ... to here.
16239
16240 2011-05-05  Bruno Haible  <bruno@clisp.org>
16241
16242         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16243         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16244         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16245         REPLACE_CALLOC.
16246         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16247         * modules/calloc-gnu (configure.ac): Likewise.
16248
16249 2011-05-05  Bruno Haible  <bruno@clisp.org>
16250
16251         btowc: Move AC_LIBOBJ invocations to module description.
16252         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16253         invocations from here...
16254         * modules/btowc (configure.ac): ... to here.
16255
16256 2011-05-21  Bruno Haible  <bruno@clisp.org>
16257
16258         atexit: Move AC_LIBOBJ invocations to module description.
16259         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16260         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16261         here...
16262         * modules/atexit (configure.ac): ... to here.
16263
16264 2011-05-05  Bruno Haible  <bruno@clisp.org>
16265
16266         atoll: Move AC_LIBOBJ invocations to module description.
16267         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16268         invocations from here...
16269         * modules/atoll (configure.ac): ... to here.
16270
16271 2011-05-05  Bruno Haible  <bruno@clisp.org>
16272
16273         argz: Move AC_LIBOBJ invocations to module description.
16274         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16275         * modules/argz (configure.ac): ... to here.
16276
16277 2011-05-05  Bruno Haible  <bruno@clisp.org>
16278
16279         alphasort: Move AC_LIBOBJ invocations to module description.
16280         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16281         gl_PREREQ_ALPHASORT invocations from here...
16282         * modules/alphasort (configure.ac): ... to here.
16283
16284 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16285
16286         verify: new macro verify_expr; verify_true deprecated
16287         * NEWS: Mention this.
16288         * doc/verify.texi (Compile-time Assertions): Document this.
16289         * lib/verify.h (verify_true): Deprecate.
16290         (verify_expr): New macro.
16291         * tests/test-verify.c (function): Test verify_expr.
16292
16293 2011-06-14  Jim Meyering  <meyering@redhat.com>
16294
16295         init.sh: give more portable redirection-related advice in a comment
16296         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16297         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16298         for lots of discussion.  Stefano Lattarini suggested the solution
16299         of putting "9>&2" after the command.  Reported by Bruno Haible.
16300
16301 2011-06-13  Bruno Haible  <bruno@clisp.org>
16302
16303         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16304         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16305         'none'.
16306
16307 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16308
16309         ftoastr: use strtof only if HAVE_STRTOF
16310         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16312         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16313         * modules/ftoastr (configure.ac): Check for strtof.
16314
16315 2011-06-13  Bruno Haible  <bruno@clisp.org>
16316
16317         gnulib-tool: Addendum to 2011-06-08 commit.
16318         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16319         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16320
16321 2011-06-13  Bruno Haible  <bruno@clisp.org>
16322
16323         fseeko: Provide a non-inline replacement of fseek().
16324         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16325         * modules/fseeko (Depends-on): Add fseek.
16326         * modules/fseek (License): Change to LGPLv2+.
16327
16328 2011-06-13  Bruno Haible  <bruno@clisp.org>
16329
16330         ftello: Provide a non-inline replacement of ftell().
16331         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16332         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16333         not have ftello() (such as on mingw).
16334         * modules/ftello (Depends-on): Add ftell.
16335         * modules/ftell (License): Change to LGPLv2+.
16336
16337 2011-05-07  Bruno Haible  <bruno@clisp.org>
16338
16339         ftell: Move AC_LIBOBJ invocations to module description.
16340         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16341         * modules/ftell (configure.ac): ... to here.
16342
16343 2011-05-07  Bruno Haible  <bruno@clisp.org>
16344
16345         ftello: Respect rules for use of AC_LIBOBJ.
16346         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16347         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16348         here...
16349         * modules/ftello (configure.ac): ... to here.
16350
16351 2011-05-07  Bruno Haible  <bruno@clisp.org>
16352
16353         fseeko: Simplify.
16354         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16355         (gl_FUNC_FSEEKO): Inline it here.
16356
16357 2011-05-07  Bruno Haible  <bruno@clisp.org>
16358
16359         fseek: Move AC_LIBOBJ invocations to module description.
16360         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16361         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16362         * modules/fseek (configure.ac): ... to here.
16363
16364 2011-05-07  Bruno Haible  <bruno@clisp.org>
16365
16366         fseek: Respect rules for use of AC_LIBOBJ.
16367         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16368         here...
16369         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16370
16371 2011-05-07  Bruno Haible  <bruno@clisp.org>
16372
16373         fseeko: Respect rules for use of AC_LIBOBJ.
16374         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16375         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16376         here...
16377         * modules/fseeko (configure.ac): ... to here.
16378
16379 2011-06-13  Bruno Haible  <bruno@clisp.org>
16380
16381         gnulib-tool: Allow comments in the 'Depends-on' section.
16382         * doc/gnulib.texi (Module description): Mention comment syntax in the
16383         Depends-on section.
16384         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16385
16386 2011-06-13  Bruno Haible  <bruno@clisp.org>
16387
16388         file-set.h: guard __attibute__ use, now that it's not always defined
16389         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16390         versions that support it.  This fixes a coreutils build failure with
16391         the vendor cc on HP-UX 11.31.
16392
16393 2011-06-12  Bruno Haible  <bruno@clisp.org>
16394
16395         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16396         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16397         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16398         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16399         (acl, aclsort): New declarations.
16400         (aclv_nontrivial): New declaration.
16401         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16402         (file_has_acl): Read also the second kind of HP-UX ACLs.
16403         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16404         kind of HP-UX ACLs if the first kind fails.
16405         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16406         second kind of HP-UX ACLs.
16407         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16408         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16409         agree.
16410         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16411         hpuxjfs.
16412         Handle hpuxjfs.
16413         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16414         hpuxjfs.
16415         Handle hpuxjfs.
16416         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16417         (func_test_same_acls): Use both lsacl and getacl.
16418         Handle hpuxjfs.
16419         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16420         (func_test_same_acls): Use both lsacl and getacl.
16421         Handle hpuxjfs.
16422
16423 2011-06-12  Bruno Haible  <bruno@clisp.org>
16424
16425         acl: Complete the 2010-08-10 fix.
16426         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16427         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16428         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16429         explicitly.
16430         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16431         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16432
16433 2011-06-12  Bruno Haible  <bruno@clisp.org>
16434
16435         spawn-pipe tests: Comments.
16436         * tests/test-spawn-pipe-child.c (main): Update comment.
16437         Reported by James Youngman <jay@gnu.org>.
16438
16439 2011-06-11  James Youngman  <jay@gnu.org>
16440
16441         New module 'stat-size'.
16442         * modules/stat-size: New module.  Provides macros for accessing
16443         file size information in instances of struct stat.  Depends on the
16444         fileblocks module because it calls st_blocks.
16445         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16446         * doc/gnulib.texi: Include stat-size.texi.
16447         * doc/stat-size.texi: Documentation for this module.
16448         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16449         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16450         AC_STRUCT_ST_BLOCKS.
16451
16452 2011-06-09  Bruno Haible  <bruno@clisp.org>
16453
16454         thread: Support pthreads-win32.
16455         * lib/glthread/thread.h (gl_thread_self): Define differently on
16456         pthreads-win32.
16457         (gl_null_thread): New declaration.
16458         (gl_thread_self_pointer): New macro.
16459         * lib/glthread/thread.c (gl_null_thread): New constant.
16460         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16461         gl_thread_self.
16462         * tests/test-tls.c: Likewise.
16463         Suggested by Paul Eggert. Reported by Eric Blake.
16464
16465 2011-06-09  Bruno Haible  <bruno@clisp.org>
16466
16467         thread: Fix confusion between NULL and 0.
16468         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16469         Reported by Paul Eggert.
16470
16471 2011-06-09  Bruno Haible  <bruno@clisp.org>
16472
16473         spawn-pipe tests: Avoid test failure on HP-UX 11.
16474         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16475         is closed.
16476
16477 2011-06-09  Bruno Haible  <bruno@clisp.org>
16478
16479         acl tests: Fix compilation error on HP-UX 11.
16480         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16481
16482 2011-06-09  Bruno Haible  <bruno@clisp.org>
16483
16484         rmdir: Avoid test failure on HP-UX 10.20.
16485         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16486         EEXIST.
16487
16488 2011-06-08  Eric Blake  <eblake@redhat.com>
16489
16490         perror: fix test on mingw
16491         * modules/perror-tests (Depends-on): Add dup2.
16492
16493         strerror_r-posix: fix on MacOS
16494         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16495         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16496         logic bug.
16497         * lib/strerror_r.c (strerror_r): Fix the bug.
16498         * lib/strerror.c (strerror): Likewise.
16499         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16500         problem.
16501         * doc/posix-functions/strerror.texi (strerror): Likewise.
16502         * doc/posix-functions/perror.texi (perror): Likewise.
16503         * tests/test-strerror.c (main): Enhance test.
16504         * tests/test-strerror_r.c (main): Likewise.
16505
16506 2011-06-08  Bruno Haible  <bruno@clisp.org>
16507
16508         gnulib-tool: Better isolation between different gnulib-tool invocations.
16509         * gnulib-tool: New option --witness-c-macro.
16510         (witness_c_macro): New variable.
16511         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16512         AM_CPPFLAGS define it as a C macro.
16513         (func_emit_tests_Makefile_am): Likewise.
16514         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16515         read it from there.
16516         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16517         m4_define, not AC_DEFUN.
16518         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16519         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16520         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16521         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16522         s|...|...|, to substitute the values of the GNULIB_* module indicator
16523         variables.
16524         * modules/dirent (Makefile.am): Likewise.
16525         * modules/fcntl-h (Makefile.am): Likewise.
16526         * modules/iconv-h (Makefile.am): Likewise.
16527         * modules/langinfo (Makefile.am): Likewise.
16528         * modules/locale (Makefile.am): Likewise.
16529         * modules/math (Makefile.am): Likewise.
16530         * modules/netdb (Makefile.am): Likewise.
16531         * modules/poll-h (Makefile.am): Likewise.
16532         * modules/pty (Makefile.am): Likewise.
16533         * modules/search (Makefile.am): Likewise.
16534         * modules/signal (Makefile.am): Likewise.
16535         * modules/spawn (Makefile.am): Likewise.
16536         * modules/stdio (Makefile.am): Likewise.
16537         * modules/stdlib (Makefile.am): Likewise.
16538         * modules/string (Makefile.am): Likewise.
16539         * modules/sys_ioctl (Makefile.am): Likewise.
16540         * modules/sys_select (Makefile.am): Likewise.
16541         * modules/sys_socket (Makefile.am): Likewise.
16542         * modules/sys_stat (Makefile.am): Likewise.
16543         * modules/sys_times (Makefile.am): Likewise.
16544         * modules/sys_utsname (Makefile.am): Likewise.
16545         * modules/sys_wait (Makefile.am): Likewise.
16546         * modules/termios (Makefile.am): Likewise.
16547         * modules/time (Makefile.am): Likewise.
16548         * modules/unistd (Makefile.am): Likewise.
16549         * modules/wchar (Makefile.am): Likewise.
16550
16551 2011-06-08  Eric Blake  <eblake@redhat.com>
16552
16553         strerror: simplify replacement
16554         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16555         * modules/strerror (configure.ac): No prereqs needed here...
16556         * modules/strerror-override (configure.ac): ...but this needs it.
16557         (Files): Add file for needed prereq macro.
16558
16559 2011-06-08  Bruno Haible  <bruno@clisp.org>
16560
16561         strerror_r-posix: Tweaks.
16562         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16563         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16564         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16565         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16566         (gl_FUNC_STRERROR_R): ... to here.
16567         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16568
16569 2011-06-07  Eric Blake  <eblake@redhat.com>
16570
16571         perror: document fixed bugs
16572         * doc/posix-functions/perror.texi (perror): Document recent
16573         patches.
16574
16575 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16576
16577         stat-time: get_stat_birthtime failure is better-defined
16578         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16579         return a timestamp whose tv_sec and tv_nsec values are both -1.
16580         Previously, the spec said only that the tv_nsec value was negative.
16581         This upward-compatible change simplifies GNU tar a bit.
16582
16583 2011-06-07  Eric Blake  <eblake@redhat.com>
16584
16585         strerror_r-posix: work around cygwin 1.7.9
16586         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16587         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16588         bug without replacing strerror_r.
16589         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16590         strerror_r is buggy, but without requiring strerror_r compilation.
16591         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16592
16593         test-perror: relax test to ignore cygwin bug
16594         * tests/test-perror2.c (main): Relax test on requiring detection
16595         of stream errors, and use unbuffered stream.
16596         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16597         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16598         * doc/posix-functions/fputc.texi (fputc): Likewise.
16599         * doc/posix-functions/fputs.texi (fputs): Likewise.
16600         * doc/posix-functions/fputws.texi (fputws): Likewise.
16601         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16602         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16603         * doc/posix-functions/getopt.texi (getopt): Likewise.
16604         * doc/posix-functions/perror.texi (perror): Likewise.
16605         * doc/posix-functions/printf.texi (printf): Likewise.
16606         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16607         * doc/posix-functions/psignal.texi (psignal): Likewise.
16608         * doc/posix-functions/putc.texi (putc): Likewise.
16609         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16610         Likewise.
16611         * doc/posix-functions/putchar.texi (putchar): Likewise.
16612         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16613         Likewise.
16614         * doc/posix-functions/puts.texi (puts): Likewise.
16615         * doc/posix-functions/putwc.texi (putwc): Likewise.
16616         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16617         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16618         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16619         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16620         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16621         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16622         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16623         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16624
16625 2011-05-22  Bruno Haible  <bruno@clisp.org>
16626
16627         strerror: Move AC_LIBOBJ invocations to module description.
16628         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16629         gl_PREREQ_STRERROR invocations from here...
16630         * modules/strerror (configure.ac): ... to here.
16631
16632 2011-05-21  Bruno Haible  <bruno@clisp.org>
16633
16634         perror: Use common idiom.
16635         * modules/perror (configure.ac): Reorder statements.
16636
16637 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16638
16639         tests: fix usage message in 'mktempd_'
16640         * tests/init.sh (mktempd_): In the usage message, use literal
16641         'mktempd_', not '$ME' (which is even undefined), as the name of
16642         the subroutine.
16643
16644 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16645
16646         tests init: new function 'fatal_', for hard errors
16647         Before this patch, the only way offered by tests/init.sh to
16648         properly signal a hard error was the `framework_failure_'
16649         function.  But the error message issued by that function,
16650         as its name would suggest, refers to a set-up failure in the
16651         testsuite, while hard errors can obviously also be due to
16652         other reasons.  The best way to fix this inconsistency is to
16653         introduce a new function with a more general error message.
16654         * tests/init.sh (fatal_): New function.
16655
16656 2011-06-06  Eric Blake  <eblake@redhat.com>
16657
16658         canonicalize-lgpl: use common idiom
16659         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16660         over newer POSIX -Rf.
16661         Reported by Bruno Haible.
16662
16663         canonicalize-lgpl: work around AIX realpath bug
16664         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
16665         * doc/posix-functions/realpath.texi (realpath): Document it.
16666         Reported by Bruno Haible.
16667
16668         strerror: work around FreeBSD bug
16669         * lib/strerror.c (strerror): Special case 0.
16670         Reported by Bruno Haible.
16671
16672         strerror-override: avoid bloating errno module
16673         * modules/errno (Files, configure.ac): Move replacement strings...
16674         * modules/strerror-override: ...to new module.
16675         * modules/strerror (Depends-on): Add strerror-override.
16676         * modules/strerror_r-posix (Depends-on): Likewise.
16677         * MODULES.html.sh: Document new module.
16678         Reported by Bruno Haible.
16679
16680 2011-06-06  Bruno Haible  <bruno@clisp.org>
16681
16682         spawn-pipe tests: Rename program.
16683         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
16684         * tests/test-spawn-pipe-child.c: Update comment.
16685         * tests/test-spawn-pipe.sh: Update.
16686         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16687
16688         spawn-pipe tests: Link the child program only against libc.
16689         * tests/test-spawn-pipe-child.c: New file, extracted from
16690         tests/test-spawn-pipe.c.
16691         (main): Expect only one argument.
16692         (is_open): New function, copied from tests/test-pipe.c.
16693         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16694         (child_main): Remove function.
16695         (test_pipe): Pass only one argument to the child program.
16696         (main): Remove child process code. Expect the child program's name as
16697         first argument.
16698         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16699         argument.
16700         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16701         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16702         test-spawn-pipe-child against no libraries.
16703
16704 2011-06-06  Bruno Haible  <bruno@clisp.org>
16705
16706         careadlinkat: Avoid mismatch between ssize_t and int.
16707         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16708         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16709
16710 2011-06-06  Jim Meyering  <meyering@redhat.com>
16711
16712         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16713         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16714         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16715
16716 2011-06-05  Bruno Haible  <bruno@clisp.org>
16717
16718         ansi-c++-opt: Interoperability with libtool.
16719         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16720         set the variable to "no", not to ":".
16721         * NEWS: Mention the change.
16722
16723 2011-06-05  Bruno Haible  <bruno@clisp.org>
16724
16725         acl: Fix test failure on AIX 7.
16726         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16727         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16728
16729 2011-06-05  Bruno Haible  <bruno@clisp.org>
16730
16731         pipe-filter-ii: Fix test failure on AIX and IRIX.
16732         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16733         with EAGAIN, retry with a smaller buffer size.
16734
16735 2011-06-05  Bruno Haible  <bruno@clisp.org>
16736
16737         localename: Fix link dependencies.
16738         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16739         * modules/localename-tests (Makefile.am): Link test-localename with
16740         $(LIBTHREAD).
16741
16742 2011-06-05  Bruno Haible  <bruno@clisp.org>
16743
16744         error: Avoid gcc warning.
16745         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16746
16747 2011-06-05  Bruno Haible  <bruno@clisp.org>
16748
16749         unsetenv: Avoid gcc warning.
16750         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16751
16752 2011-06-05  Bruno Haible  <bruno@clisp.org>
16753
16754         setenv: Avoid gcc warning.
16755         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16756
16757 2011-06-05  Bruno Haible  <bruno@clisp.org>
16758
16759         sys_select: Ensure memset is declared also on AIX 7.
16760         * lib/sys_select.in.h: Include <string.h> also on AIX.
16761         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16762         self-contained also on AIX 7.1.
16763
16764 2011-06-04  Jim Meyering  <meyering@redhat.com>
16765
16766         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16767         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16768         function name, "error".
16769         (_gl_translatable_diag_func_re): New configurable variable.
16770
16771 2011-06-04  Bruno Haible  <bruno@clisp.org>
16772
16773         getopt: Avoid gcc warning.
16774         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16775
16776 2011-06-04  Bruno Haible  <bruno@clisp.org>
16777
16778         strerror_r: Fix comments.
16779         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16780         commit.
16781
16782 2011-06-04  Bruno Haible  <bruno@clisp.org>
16783
16784         perror: Fix compilation error.
16785         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16786         Undefine fprintf, not sprintf.
16787         * modules/perror (Depends-on): Remove intprops, verify.
16788
16789 2011-06-04  Bruno Haible  <bruno@clisp.org>
16790
16791         setlocale: Enable replacement on Cygwin 1.5.
16792         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16793         Cygwin 1.5.x.
16794         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16795         LC_CTYPE category also exists on Cygwin 1.5.x.
16796
16797 2011-06-04  Bruno Haible  <bruno@clisp.org>
16798
16799         strerror-override: Don't disable symbol renamings.
16800         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16801         * lib/strerror-override.c: Include config.h.
16802         (strerror_override): Don't undefine.
16803
16804 2011-06-03  Bruno Haible  <bruno@clisp.org>
16805
16806         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16807         * lib/localename.h: Update copyright header.
16808         * lib/localename.c: Likewise.
16809         * lib/relocatable.h: Likewise.
16810         * lib/relocatable.c: Likewise.
16811
16812 2011-06-02  Bruno Haible  <bruno@clisp.org>
16813
16814         doc: Fix a module name.
16815         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16816
16817 2011-06-02  Bruno Haible  <bruno@clisp.org>
16818
16819         pipe2: Remove dependency on 'nonblocking' module.
16820         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16821         O_NONBLOCK is defined by gnulib.
16822         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16823         is zero.
16824         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16825         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16826         defined by gnulib.
16827         (get_nonblocking_flag): New function.
16828         (main): Test O_NONBLOCK flag only if it is nonzero.
16829         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16830
16831 2011-06-03  Jim Meyering  <meyering@redhat.com>
16832
16833         maint: three new prohibit-header-without-use rules
16834         Prohibit use of cloexec.h, posixver.h, same.h without use.
16835         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16836         (sc_prohibit_posixver_without_use): Likewise.
16837         (sc_prohibit_same_without_use): Likewise.
16838
16839 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16840
16841         allocator: 'die' routine is now given requested size
16842         * lib/allocator.h (struct allocator.die): New size arg.
16843         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16844         If the actual problem is an ssize_t limitation, not a size_t or
16845         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16846
16847 2011-06-01  Eric Blake  <eblake@redhat.com>
16848
16849         strerror: drop strerror_r dependency
16850         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16851         * lib/strerror-override.c (strerror_override): ...to new file.
16852         * lib/strerror-override.h: Add prototype.
16853         * lib/strerror-impl.h: Delete.
16854         * lib/strerror.c (strerror): New implementation.
16855         * modules/errno (Files): Add new files.
16856         (configure.ac): Compile new file as appropriate.
16857         * modules/strerror (Files): Drop unused file.
16858         (Depends-on): Drop strerror_r-posix.
16859         * MODULES.html.sh: Document strerror_r-posix.
16860         Requested by Sam Steingold.
16861
16862         perror: call strerror_r directly
16863         * modules/perror (Files): Drop strerror-impl.h.
16864         * lib/perror.c (perror): Use our own stack buffer, rather than
16865         calling a wrapper that uses static storage.
16866         * doc/posix-functions/perror.texi (perror): Document a limitation
16867         of our replacement.
16868
16869         strerror_r: fix includes for FreeBSD
16870         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16871         since we use abort on some platforms.
16872         Reported by Matthias Bolte.
16873
16874 2011-05-31  Bruno Haible  <bruno@clisp.org>
16875
16876         Fix link errors in tests: openat-die uses gettext-h.
16877         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16878         against $(LIBINTL).
16879         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16880         against $(LIBINTL).
16881         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16882         $(LIBINTL).
16883         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16884         against $(LIBINTL).
16885         * modules/linkat-tests (Makefile.am): Link test-linkat against
16886         $(LIBINTL).
16887         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16888         $(LIBINTL).
16889         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16890         against $(LIBINTL).
16891         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16892         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16893         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16894         $(LIBINTL).
16895         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16896         $(LIBINTL).
16897         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16898         $(LIBINTL).
16899         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16900
16901 2011-05-31  Bruno Haible  <bruno@clisp.org>
16902
16903         Fix link errors in tests: wait-process uses gettext-h.
16904         * modules/nonblocking-pipe-tests (Makefile.am): Set
16905         test_nonblocking_pipe_main_LDADD.
16906         * modules/nonblocking-socket-tests (Makefile.am): Link
16907         test-nonblocking-socket-main against $(LIBINTL).
16908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16909
16910 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16911
16912         assert-h: work around 'verify' incompatibility
16913         * lib/verify.h: Use @...@ directives, not ifdef.
16914         * modules/assert-h (assert.h): Implement the directives.
16915         (assert.h): Substitute the symbol-prefix more consistently.
16916
16917 2011-05-29  Jim Meyering  <meyering@redhat.com>
16918
16919         trim: remove three superfluous assignments
16920         * lib/trim.c (trim2): Remove three superfluous assignments
16921         and correct brace positioning.
16922
16923 2011-05-29  Bruno Haible  <bruno@clisp.org>
16924
16925         wctype-h: Avoid namespace pollution on Solaris 2.6.
16926         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16927         identifiers.
16928         * doc/posix-headers/wctype.texi: Mention the problem.
16929         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16930
16931 2011-05-28  Jim Meyering  <meyering@redhat.com>
16932
16933         parse-datetime.y: accommodate -Wstrict-overflow
16934         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16935         placate -Wstrict-overflow.
16936
16937         trim: avoid a warning from -O2 -Wstrict-overflow
16938         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16939
16940 2011-05-29  Bruno Haible  <bruno@clisp.org>
16941
16942         gnulib-tool: Fix bug in yesterday's commit.
16943         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16944         twice.
16945
16946 2011-05-29  Bruno Haible  <bruno@clisp.org>
16947
16948         Allow multiple gnulib generated include files to be combined.
16949         * gnulib-tool (func_compute_include_guard_prefix): New function.
16950         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16951         ${gl_include_guard_prefix} references.
16952         (func_import, func_create_testdir): Invoke
16953         func_compute_include_guard_prefix.
16954         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16955         * lib/ctype.in.h: Likewise.
16956         * lib/dirent.in.h: Likewise.
16957         * lib/errno.in.h: Likewise.
16958         * lib/fcntl.in.h: Likewise.
16959         * lib/float.in.h: Likewise.
16960         * lib/getopt.in.h: Likewise.
16961         * lib/iconv.in.h: Likewise.
16962         * lib/langinfo.in.h: Likewise.
16963         * lib/locale.in.h: Likewise.
16964         * lib/math.in.h: Likewise.
16965         * lib/netdb.in.h: Likewise.
16966         * lib/netinet_in.in.h: Likewise.
16967         * lib/poll.in.h: Likewise.
16968         * lib/pthread.in.h: Likewise.
16969         * lib/pty.in.h: Likewise.
16970         * lib/sched.in.h: Likewise.
16971         * lib/se-selinux.in.h: Likewise.
16972         * lib/search.in.h: Likewise.
16973         * lib/signal.in.h: Likewise.
16974         * lib/spawn.in.h: Likewise.
16975         * lib/stdarg.in.h: Likewise.
16976         * lib/stddef.in.h: Likewise.
16977         * lib/stdint.in.h: Likewise.
16978         * lib/stdio.in.h: Likewise.
16979         * lib/stdlib.in.h: Likewise.
16980         * lib/string.in.h: Likewise.
16981         * lib/strings.in.h: Likewise.
16982         * lib/sys_file.in.h: Likewise.
16983         * lib/sys_ioctl.in.h: Likewise.
16984         * lib/sys_select.in.h: Likewise.
16985         * lib/sys_socket.in.h: Likewise.
16986         * lib/sys_stat.in.h: Likewise.
16987         * lib/sys_time.in.h: Likewise.
16988         * lib/sys_times.in.h: Likewise.
16989         * lib/sys_uio.in.h: Likewise.
16990         * lib/sys_utsname.in.h: Likewise.
16991         * lib/sys_wait.in.h: Likewise.
16992         * lib/sysexits.in.h: Likewise.
16993         * lib/termios.in.h: Likewise.
16994         * lib/time.in.h: Likewise.
16995         * lib/unistd.in.h: Likewise.
16996         * lib/wchar.in.h: Likewise.
16997         * lib/wctype.in.h: Likewise.
16998         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
16999         * modules/ctype (Makefile.am): Likewise.
17000         * modules/dirent (Makefile.am): Likewise.
17001         * modules/errno (Makefile.am): Likewise.
17002         * modules/fcntl-h (Makefile.am): Likewise.
17003         * modules/float (Makefile.am): Likewise.
17004         * modules/getopt-posix (Makefile.am): Likewise.
17005         * modules/iconv-h (Makefile.am): Likewise.
17006         * modules/langinfo (Makefile.am): Likewise.
17007         * modules/locale (Makefile.am): Likewise.
17008         * modules/math (Makefile.am): Likewise.
17009         * modules/netdb (Makefile.am): Likewise.
17010         * modules/netinet_in (Makefile.am): Likewise.
17011         * modules/poll-h (Makefile.am): Likewise.
17012         * modules/pthread (Makefile.am): Likewise.
17013         * modules/pty (Makefile.am): Likewise.
17014         * modules/sched (Makefile.am): Likewise.
17015         * modules/search (Makefile.am): Likewise.
17016         * modules/selinux-h (Makefile.am): Likewise.
17017         * modules/signal (Makefile.am): Likewise.
17018         * modules/spawn (Makefile.am): Likewise.
17019         * modules/stdarg (Makefile.am): Likewise.
17020         * modules/stddef (Makefile.am): Likewise.
17021         * modules/stdint (Makefile.am): Likewise.
17022         * modules/stdio (Makefile.am): Likewise.
17023         * modules/stdlib (Makefile.am): Likewise.
17024         * modules/string (Makefile.am): Likewise.
17025         * modules/strings (Makefile.am): Likewise.
17026         * modules/sys_file (Makefile.am): Likewise.
17027         * modules/sys_ioctl (Makefile.am): Likewise.
17028         * modules/sys_select (Makefile.am): Likewise.
17029         * modules/sys_socket (Makefile.am): Likewise.
17030         * modules/sys_stat (Makefile.am): Likewise.
17031         * modules/sys_time (Makefile.am): Likewise.
17032         * modules/sys_times (Makefile.am): Likewise.
17033         * modules/sys_uio (Makefile.am): Likewise.
17034         * modules/sys_utsname (Makefile.am): Likewise.
17035         * modules/sys_wait (Makefile.am): Likewise.
17036         * modules/sysexits (Makefile.am): Likewise.
17037         * modules/termios (Makefile.am): Likewise.
17038         * modules/time (Makefile.am): Likewise.
17039         * modules/unistd (Makefile.am): Likewise.
17040         * modules/wchar (Makefile.am): Likewise.
17041         * modules/wctype-h (Makefile.am): Likewise.
17042         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17043
17044 2011-05-29  Bruno Haible  <bruno@clisp.org>
17045
17046         assert-h: Allow multiple gnulib generated replacements to coexist.
17047         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17048
17049 2011-05-29  Bruno Haible  <bruno@clisp.org>
17050
17051         argp: Allow coexistence with strerror_r-posix module.
17052         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17053         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17054         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17055         not the glibc signature.
17056
17057 2011-05-28  Bruno Haible  <bruno@clisp.org>
17058
17059         gnulib-tool: Alternative structure of testdirs, similar to --import.
17060         * gnulib-tool: New option --single-configure.
17061         (func_usage): Document it.
17062         (single_configure): New variable.
17063         (func_modules_transitive_closure_separately,
17064         func_modules_transitive_closure_separately,
17065         func_determine_use_libtests, func_modules_add_dummy_separately,
17066         func_modules_to_filelist_separately): New functions, extracted from
17067         func_import.
17068         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17069         (func_import): Use the new functions.
17070         (func_create_testdir): Set final_modules. Handle $single_configure =
17071         true case.
17072
17073 2011-05-28  Bruno Haible  <bruno@clisp.org>
17074
17075         getloadavg: Remove an unreliable safety check.
17076         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17077         getloadavg.c is in place.
17078         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17079         Reported by Sam Steingold <sds@gnu.org>.
17080
17081 2011-05-28  Bruno Haible  <bruno@clisp.org>
17082
17083         doc: Cleanup yet another file produced by texinfo.tex.
17084         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17085
17086 2011-05-28  Bruno Haible  <bruno@clisp.org>
17087
17088         Finish the conditional dependencies mechanism.
17089         * gnulib-tool: New option --no-conditional-dependencies.
17090         (func_usage): Document it. Don't mark --conditional-dependencies as
17091         experimental.
17092         (cond_dependencies): The possible values can now be true, false, empty.
17093         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17094         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17095         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17096
17097 2011-05-28  Bruno Haible  <bruno@clisp.org>
17098
17099         doc: Use a recent texinfo.tex.
17100         * doc/Makefile (tex_opts): New variable.
17101         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17102
17103 2011-05-28  Jim Meyering  <meyering@redhat.com>
17104
17105         intprops.h: adjust comment to match code change
17106         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17107         only once, it *may* have side effects.  Also fix an unrelated typo.
17108         (_GL_INT_SIGNED): Likewise.
17109
17110 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17111
17112         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17113
17114 2011-05-26  Bruno Haible  <bruno@clisp.org>
17115
17116         mbsrchr: Avoid collision with system function on Interix.
17117         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17118         Reported by Markus Duft <mduft@gentoo.org>.
17119
17120 2011-05-15  James Youngman  <jay@gnu.org>
17121
17122         getopt: for ambiguous options, enumerate the possibilities.
17123         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17124         the ambiguous options when an ambiguous prefix is given. This was
17125         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17126         glibc change was
17127         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17128
17129 2011-05-25  Eric Blake  <eblake@redhat.com>
17130
17131         getcwd: work around mingw bug
17132         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17133         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17134         Reported by Matthias Bolte.
17135
17136 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17137
17138         test-intprops: disable -Wtype-limits diagnostics
17139         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17140         diagnostics.  Otherwise, the integer overflow macros generate many
17141         diagnostics.  Reported by Jim Meyering in
17142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17143
17144         intprops: shorten, to pacify gcc -Woverlength-strings
17145         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17146         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17147         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17148         likely to run afoul of C compiler limits for string constant lengths.
17149         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17150
17151 2011-05-24  Eric Blake  <eblake@redhat.com>
17152
17153         docs: document recently fixed glibc printf bug
17154         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17155         * doc/posix-functions/printf.texi (printf): Likewise.
17156         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17157         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17158
17159         closein-tests: convert to init.sh
17160         * modules/closein-tests (Files): Add init.sh
17161         * tests/test-closein.sh Use it.
17162
17163         yesno-tests: convert to init.sh
17164         * modules/yesno-tests (Files): Add init.sh.
17165         * tests/test-yesno.sh: Use it.
17166
17167         atexit-tests: ensure reliable exit status
17168         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17169         Reported by Bruno Haible.
17170
17171 2011-05-24  Bruno Haible  <bruno@clisp.org>
17172
17173         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17174         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17175         gl_PREREQ_STRERROR_R invocations from here...
17176         * modules/strerror_r-posix (configure.ac): ... to here.
17177
17178 2011-05-24  Eric Blake  <eblake@redhat.com>
17179
17180         strerror_r: fix missing header
17181         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17182
17183         strerror_r: fix AIX test failures
17184         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17185         ERANGE failure.
17186
17187         strerror_r: fix Solaris test failures
17188         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17189         failures.
17190         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17191
17192         strerror_r: enforce POSIX recommendations
17193         * lib/strerror_r.c (safe_copy): New helper method.
17194         (strerror_r): Guarantee a non-empty string.
17195         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17196         recent POSIX rulings and to match our strerror guarantees.
17197         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17198
17199 2011-05-24  Jim Meyering  <meyering@redhat.com>
17200
17201         test-perror2.c: avoid warning about unused variable
17202         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17203
17204 2011-05-24  Eric Blake  <eblake@redhat.com>
17205
17206         perror: avoid spurious test failure on HP-UX
17207         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17208
17209         tests: fix logic bug in init.sh
17210         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17211         shell.
17212
17213 2011-05-24  Jim Meyering  <meyering@redhat.com>
17214
17215         utimensat: do not reference an out-of-scope buffer
17216         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17217         declared in an inner scope, yet "times" would be dereferenced outside
17218         the scope in which "ts" was valid.
17219         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17220         of ts[2] "out/up", so that the use of aliased "times" (via
17221         "times = ts;") does not end up referencing an out-of-scope "ts"
17222
17223         opendir-safer.c: don't clobber errno; don't close negative FD
17224         * lib/opendir-safer.c (opendir_safer):
17225         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17226         file descriptor, and more importantly, don't clobber the
17227         offending errno value with EINVAL.  Before, upon failure
17228         of dup_safer, we would pass the negative file descriptor to
17229         fdopendir, which would clobber errno.
17230
17231 2011-05-23  Bruno Haible  <bruno@clisp.org>
17232
17233         idcache: Fix module description.
17234         * modules/idcache (Include): Set to "idcache.h".
17235
17236 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17237
17238         gnulib-tool: fix portability problem with MacOS sed
17239         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17240         before the "}".  Problem reported by Leo in
17241         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17242         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17243         sed_extract_condition1, sed_extract_condition2.
17244
17245 2011-05-23  Bruno Haible  <bruno@clisp.org>
17246
17247         hash: Simplify autoconf macro.
17248         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17249
17250 2011-05-23  Bruno Haible  <bruno@clisp.org>
17251
17252         getugroups: Fix module description.
17253         * modules/getugroups (Include): Set to "getugroups.h".
17254
17255 2011-05-23  Bruno Haible  <bruno@clisp.org>
17256
17257         linkat: Simplify autoconf macro.
17258         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17259
17260 2011-05-23  Bruno Haible  <bruno@clisp.org>
17261             Eric Blake  <eblake@redhat.com>
17262
17263         linkat, renameat: Update dependencies.
17264         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17265         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17266         symlinkat.
17267
17268 2011-05-23  Jim Meyering  <meyering@redhat.com>
17269
17270         maint.mk: more tight_scope improvements
17271         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17272         (_gl_TS_headers): Define only in if-0'd block.
17273         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17274         sometimes we must *not* use it.  Adjust uses accordingly.
17275         (sc_tight_scope): Use much simpler grep-based test to determine
17276         whether we skip this rule.
17277
17278         maint.mk: generalize/improve the tight-scope rule
17279         * top/maint.mk: Emit a warning when the test is skipped.
17280         (_gl_TS_dir): Add $(srcdir)/ prefix.
17281         (_gl_TS_function_match): Simplify, rather than trying
17282         to enumerate common types.  Otherwise, it would fail to match an
17283         "extern unsigned char const *" declaration in idutils.
17284         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17285         a way to support use of that type of macro.
17286         (_gl_TS_var_match): Simplify regexp.
17287         (_gl_TS_obj_files): New configurable variable.
17288         (_gl_TS_headers): Likewise.
17289
17290 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17291
17292         verify: fix bug when gnulib <assert.h> is also included
17293         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17294         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17295         Perhaps there's a better way, but this fixes the immediate problem.
17296         Problem reported by Bruno Haible in
17297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17298
17299 2011-05-22  Bruno Haible  <bruno@clisp.org>
17300
17301         xgetcwd: Simplify autoconf macro.
17302         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17303
17304 2011-05-22  Bruno Haible  <bruno@clisp.org>
17305
17306         New module 'mktime-internal'.
17307         * modules/mktime-internal: New file.
17308         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17309         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17310         mktime_internal as a C macro if libc has __mktime_internal.
17311         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17312         conditions.
17313         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17314
17315 2011-05-22  Bruno Haible  <bruno@clisp.org>
17316
17317         timegm: Correct mktime replacement statements.
17318         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17319         defining mktime as a C macro. This completes a 2009-07-28 commit.
17320
17321 2011-05-22  Bruno Haible  <bruno@clisp.org>
17322
17323         timegm: Simplify autoconf macro.
17324         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17325
17326 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17327
17328         clock-time: change to LGPLv2+.
17329         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17330         BSD-like but we have no mark for that; this is good enough for now.
17331
17332 2011-05-21  Bruno Haible  <bruno@clisp.org>
17333
17334         strerror_r: Fix comments.
17335         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17336
17337 2011-05-21  Bruno Haible  <bruno@clisp.org>
17338
17339         relocatable-prog-wrapper: Fix possible link error.
17340         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17341         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17342         (gl_FUNC_SETENV): ... to here.
17343         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17344         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17345
17346 2011-05-21  Bruno Haible  <bruno@clisp.org>
17347
17348         relocatable-prog-wrapper: Assume strerror() exists.
17349         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17350         m4/strerror.m4.
17351         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17352         * lib/relocwrapper.c: Remove mention of strerror module.
17353         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17354         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17355         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17356         C macro.
17357
17358 2011-05-21  Bruno Haible  <bruno@clisp.org>
17359
17360         select: Simplify replacement idiom.
17361         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17362         Win32 platforms.
17363         * lib/sys_select.in.h (select): Simplify accordingly.
17364         * modules/select (Depends-on): Likewise.
17365
17366 2011-05-21  Bruno Haible  <bruno@clisp.org>
17367
17368         mkdir-p: Simplify autoconf macro.
17369         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17370         gl_FUNC_LCHOWN.
17371
17372 2011-05-21  Eric Blake  <eblake@redhat.com>
17373
17374         strerror_r: avoid clobbering strerror on cygwin
17375         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17376         fall back instead to sys_errlist.
17377         * modules/strerror (configure.ac): Add witness.
17378         * tests/test-strerror_r.c (main): Enhance test.
17379         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17380         * tests/test-perror2.c (main): Free memory before exit.
17381
17382 2011-05-21  Bruno Haible  <bruno@clisp.org>
17383
17384         mkdtemp: Use gnulib naming conventions.
17385         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17386         * modules/mkdtemp (configure.ac): Update.
17387
17388 2011-05-20  Eric Blake  <eblake@redhat.com>
17389
17390         strerror_r: avoid corrupting errno on Solaris
17391         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17392         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17393
17394         strerror_r: avoid compiler warning
17395         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17396
17397         strerror_r: simplify AIX code
17398         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17399
17400         test-perror: avoid spurious failure on FreeBSD
17401         * modules/perror-tests (Depends-on): Add strerror, now that
17402         strerror_r no longer pulls it in.
17403
17404 2011-05-20  Bruno Haible  <bruno@clisp.org>
17405
17406         strerror_r-posix: Remove unused dependencies.
17407         * modules/strerror_r-posix (Depends-on): Remove strerror.
17408         Reported by Eric Blake.
17409
17410 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17411
17412         intprops: remove assumption about A|B representation
17413         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17414         is a valid integer if both A and B are.  Although this is true for
17415         all known practical hosts, the C standard doesn't guarantee it,
17416         and the code need not assume it.  Also, this change may work around
17417         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17419
17420 2011-05-20  Eric Blake  <eblake@redhat.com>
17421
17422         perror: work around FreeBSD bug
17423         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17424         is broken.  Move AC_LIBOBJ...
17425         * modules/perror (configure.ac): Here.
17426         * doc/posix-functions/perror.texi (perror): Document this.
17427         * tests/test-perror2.c (main): Enhance test.
17428
17429         test-perror: check for strerror interactions
17430         * tests/macros.h (STREQ): Add macro.
17431         * modules/perror-tests (Files): Add second test.
17432         * tests/test-perror2.c (main): New file.
17433         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17434
17435         test-perror: rewrite to use init script
17436         * modules/perror-tests (Files): Add init.sh.
17437         * tests/test-perror.sh: Use temporary directory.
17438
17439 2011-05-20  Jim Meyering  <meyering@redhat.com>
17440
17441         maint: replace misused "a" with "an"
17442         * doc/intprops.texi: "a integer"
17443         * doc/regex.texi: "a explanation"
17444         * lib/alignof.h: "a object"
17445         * lib/argmatch.h: "a explanation"
17446         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17447         * lib/stdint.in.h: "a integer"
17448         * lib/userspec.c: "a owner"
17449         * doc/gnulib.texi: Fix "a idea", and reword.
17450
17451 2011-05-19  Jim Meyering  <meyering@redhat.com>
17452
17453         maint: correct misuse of "a" and "an"
17454         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17455         * lib/argp-help.c: "an docum...": s/an/a/
17456         * lib/argp-parse.c: "An vector": s/An/A/
17457         * lib/execute.c: "an native": s/an/a/
17458         * lib/spawn-pipe.c: Likewise.
17459         * lib/gc.h: "an Gc_rc": s/an/a/
17460         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17461         * lib/fts.c: "an stat.st_dev": s/an/a/
17462
17463 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17464
17465         intprops-tests: work around HP-UX 11.23 cc bug with constants
17466         * tests/test-intprops.c (VERIFY): New macro.
17467         (main): Use it, instead of verify, to work around the compiler bug; see
17468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17469
17470         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17471         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17472         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17473         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17474         (_GL_REMAINDER_OVERFLOW): Use it.
17475
17476         intprops-tests: revert unsigned part of previous change
17477         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17478         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17479         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17481
17482 2011-05-19  Bruno Haible  <bruno@clisp.org>
17483
17484         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17485         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17486         strerror_r() returned without filling the buffer.
17487         Reported by Eric Blake.
17488
17489 2011-05-19  Eric Blake  <eblake@redhat.com>
17490
17491         strerror_r: guarantee unchanged errno
17492         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17493         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17494         failure.
17495         * tests/test-strerror_r.c (main): Enhance test.
17496
17497 2011-05-19  Bruno Haible  <bruno@clisp.org>
17498
17499         strerror_r: Reorder #if blocks.
17500         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17501         for consistency with the previous commit.
17502
17503 2011-05-19  Bruno Haible  <bruno@clisp.org>
17504
17505         perror: Avoid clobbering the strerror buffer when possible.
17506         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17507         * lib/strerror.c: Include it.
17508         * modules/strerror (Files): Add lib/strerror-impl.h.
17509         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17510         (my_strerror): New function, defined through lib/strerror-impl.h.
17511         (perror): Use it instead of strerror.
17512         * modules/perror (Files): Add lib/strerror-impl.h.
17513         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17514
17515 2011-05-19  Eric Blake  <eblake@redhat.com>
17516
17517         strerror_r: fix on newer cygwin
17518         * lib/strerror_r.c (strerror_r): Cygwin now has
17519         __xpg_strerror_r, use it.
17520
17521 2011-05-19  Bruno Haible  <bruno@clisp.org>
17522
17523         strerror_r: Avoid clobbering the strerror buffer when possible.
17524         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17525         (sys_nerr, sys_errlist): New declarations.
17526         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17527         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17528         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17529
17530 2011-05-19  Bruno Haible  <bruno@clisp.org>
17531
17532         strerror_r: Fix test failure on mingw.
17533         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17534         EXTEND_STRERROR_R.
17535         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17536         macros from errno.in.h instead.
17537
17538 2011-05-19  Eric Blake  <eblake@redhat.com>
17539
17540         strerror: relax test for Solaris
17541         * tests/test-strerror.c (main): Permit Solaris behavior.
17542         * tests/test-strerror_r.c (main): Likewise.
17543
17544         strerror: enforce POSIX ruling on strerror(0)
17545         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17546         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17547         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17548         * doc/posix-functions/strerror.texi (strerror): Document it.
17549         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17550         * tests/test-strerror.c (main): Strengthen test.
17551         * tests/test-strerror_r.c (main): Likewise.
17552
17553 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17554
17555         intprop-tests: port to older and more-pedantic compilers
17556         * modules/intprops-tests (Files): Add tests/macros.h.
17557         * tests/test-intprops.c: Include macros.h.
17558         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17559         it's no longer documented to expand to an integer constant expression.
17560         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17561         argument is floating point, as it's no longer documented to expand
17562         to an integer constant expression in that case.
17563         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17564         compiler bugs reported by Bruno Haible.  See
17565         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17566         (U0, U1): New constants, to work around the same bugs.  Also,
17567         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17568
17569         intprops: work around C compiler bugs
17570         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17571         bug in Sun C 5.11 2010/08/13 and other compilers; see
17572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17573
17574         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17575         * doc/intprops.texi (Integer Type Determination): Fix
17576         documentation for TYPE_IS_INTEGER: it returns an constant
17577         expression, not an integer constant expression.  Fix doc for
17578         TYPE_SIGNED: it returns an integer constant expression only if its
17579         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17580         hardly worth documented that way....)
17581
17582 2011-05-18  Bruno Haible  <bruno@clisp.org>
17583
17584         strerror_r: Avoid clobbering the strerror buffer when possible.
17585         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17586         Handle gnulib defined errno values here. When strerror() returns NULL
17587         or an empty string, return EINVAL.
17588         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17589         gnulib defined errno values here.
17590         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17591
17592 2011-05-18  Eric Blake  <eblake@redhat.com>
17593
17594         fnmatch: avoid compiler warning
17595         * lib/fnmatch_loop.c (FCT): Use correct type.
17596         Reported by Matthias Bolte.
17597
17598 2011-05-13  Jim Meyering  <meyering@redhat.com>
17599
17600         maint.mk: three new prohibit_<HDR>_without_use rules
17601         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17602         (sc_prohibit_stdio-safer_without_use): Likewise.
17603         (sc_prohibit_xfreopen_without_use): Likewise.
17604
17605 2011-05-17  Jim Meyering  <meyering@redhat.com>
17606
17607         announce-gen: fail if the NEWS delta is empty
17608         If there's nothing noteworthy in NEWS, then either you forgot
17609         or you shouldn't be releasing.
17610         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17611
17612 2011-05-17  Pádraig Brady <P@draigBrady.com>
17613
17614         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17615         reserved symbols starting with double underscore from the check.
17616
17617 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17618
17619         intprops: add doc
17620         * doc/intprops.texi: New file, documenting intprops.
17621         * doc/gnulib.texi (Particular Modules): Include it.
17622
17623         verify: add doc to gnulib manual and fix example
17624         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17625         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17626         (Compile-time Assertions): Fix example so it can't overflow.
17627
17628 2011-05-17  Jim Meyering  <meyering@redhat.com>
17629
17630         warnings.m4: don't usurp save_CPPFLAGS variable name
17631         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17632
17633         doc: fix typo
17634         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17635
17636 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17637             Bruno Haible  <bruno@clisp.org>
17638
17639         doc: Tweak recent change.
17640         * README (Portability guidelines): Tweak new text.
17641         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17642         Interix 6.1.
17643
17644 2011-05-16  Eric Blake  <eblake@redhat.com>
17645
17646         inttypes: avoid autoconf warning
17647         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17648         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17649
17650 2011-05-16  Sam Steingold <sds@gnu.org>
17651         and Eric Blake  <eblake@redhat.com>
17652
17653         vc-list-files: accept multiple directory operands
17654         * build-aux/vc-list-files: Iterate over all remaining operands.
17655
17656 2011-05-16  Bruno Haible  <bruno@clisp.org>
17657
17658         Fix confusion regarding deprecated modules.
17659         * modules/calloc (Status, Notice): Mark module as deprecated, not
17660         obsolete.
17661         * modules/fnmatch-posix (Status, Notice): Likewise.
17662         * modules/getdate (Status, Notice): Likewise.
17663         * modules/getopt (Status, Notice): Likewise.
17664         * modules/malloc (Status, Notice): Likewise.
17665         * modules/pipe (Status, Notice): Likewise.
17666         * modules/realloc (Status, Notice): Likewise.
17667         * modules/rename-dest-slash (Status, Notice): Likewise.
17668         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
17669         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
17670         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
17671         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
17672         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
17673
17674 2011-05-16  Bruno Haible  <bruno@clisp.org>
17675
17676         doc: List the target platforms.
17677         * doc/gnulib-intro.texi (Target Platforms): New section.
17678         * doc/gnulib.texi (Introduction): Update menu.
17679         * README (Portability guidelines): Refer to the new section. Update
17680         statement about oldest supported environment. Remove rationale why
17681         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
17682         unportable C89 function.
17683         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
17684         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17685
17686 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17687
17688         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17689
17690 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17691
17692         intprops-tests: new module
17693         * modules/intprops-tests, tests/test-intprops.c: New files.
17694
17695         intprops: add safe, portable integer overflow checking
17696         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17697         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17698         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17699         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17700         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17701         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17702         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17703         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17704         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17705         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17706         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17707
17708 2011-05-12  James Youngman  <jay@gnu.org>
17709
17710         Add a test for glibc's Bugzilla bug #12378.
17711         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17712         doesn't allow the literal matching of a lone "[" (which is
17713         required by POSIX).
17714         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17715
17716 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17717
17718         Sync glibc change fixing Bugzilla bug #12378.
17719         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17720         beginning and fall back to matching as normal character if the
17721         string ends before the matching ']' is found.  This is what POSIX
17722         requires.
17723
17724 2011-05-13  Eric Blake  <eblake@redhat.com>
17725
17726         getcwd-lgpl: relax test for FreeBSD
17727         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17728         issue.
17729         * tests/test-getcwd-lgpl.c (main): Relax test.
17730         Reported by Matthias Bolte.
17731
17732 2011-05-11  Eric Blake  <eblake@redhat.com>
17733
17734         test-fflush: silence compiler warning
17735         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17736
17737 2011-05-11  Bruno Haible  <bruno@clisp.org>
17738
17739         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17740         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17741         * modules/canonicalize (Depends-on): Add 'nocrash'.
17742         * modules/canonicalize-lgpl (Depends-on): Likewise.
17743         * doc/posix-functions/realpath.texi: Update platforms list.
17744         Reported by Ryan Schmidt <ryandesign@macports.org>.
17745
17746 2011-05-11  Bruno Haible  <bruno@clisp.org>
17747
17748         group-member: Declare function in <unistd.h>.
17749         * lib/unistd.in.h (group_member): New declaration.
17750         * lib/group-member.h: Remove file.
17751         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17752         * tests/test-unistd-c++.cc: Check signature of group_member.
17753         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17754         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17755         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17756         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17757         HAVE_GROUP_MEMBER.
17758         * modules/group-member (Files): Remove lib/group-member.h.
17759         (Depends-on): Add unistd. Specify conditions.
17760         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17761         (Include): Change to <unistd.h>.
17762         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17763         HAVE_GROUP_MEMBER.
17764         * NEWS: Mention the change.
17765         * lib/euidaccess.c: Don't include group-member.h.
17766
17767 2011-05-11  Bruno Haible  <bruno@clisp.org>
17768
17769         group-member: Document module.
17770         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17771         module.
17772
17773 2011-05-11  Bruno Haible  <bruno@clisp.org>
17774
17775         fclose: Fix mistake earlier today.
17776         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17777
17778 2011-05-11  Eric Blake  <eblake@redhat.com>
17779
17780         fclose: preserve fflush errors
17781         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17782         Reported by Jim Meyering.
17783
17784         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17785         * build-aux/bootstrap (check_versions): When no specific version
17786         is required, merely check that the app produces an exit status
17787         that indicates its existence.
17788
17789         maint.mk: drop redundant check
17790         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17791         the same but better.
17792
17793 2011-05-11  Bruno Haible  <bruno@clisp.org>
17794
17795         fclose: Fix possible link error.
17796         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17797         unregister_shadow_fd. Improve comments.
17798         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17799         Eric Blake.
17800
17801 2011-05-11  Jim Meyering  <meyering@redhat.com>
17802
17803         maint.mk: improve "can not" detection and generalize rule name
17804         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17805         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17806         Use the same technique as in sc_prohibit_doubled_word, so that
17807         we recognize "can not" also when the words are separated by a newline.
17808         Suggested by Eric Blake.
17809         (perl_filename_lineno_text_): Define.  Factored out of...
17810         (prohibit_doubled_word_): ...here.  Use the new definition.
17811         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17812         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17813         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17814
17815 2011-05-10  Eric Blake  <eblake@redhat.com>
17816
17817         fclose: avoid double close race when possible
17818         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17819         all but WINDOWS_SOCKETS.
17820
17821 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17822
17823         openat: correct new comment
17824         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17825
17826 2011-05-10  Jim Meyering  <meyering@redhat.com>
17827
17828         openat: add comments
17829         * lib/openat-proc.c (openat_proc_name): Add comments,
17830         mostly from Eric Blake.
17831
17832 2011-05-09  Eric Blake  <eblake@redhat.com>
17833
17834         openat: reduce syscalls in first probe of /proc
17835         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17836         be a directory.  Simplify the probe for .. bugs.
17837         * modules/openat (Depends-on): Drop same-inode.
17838         Reported by Bastien ROUCARIES.
17839
17840 2011-05-09  Jim Meyering  <meyering@redhat.com>
17841
17842         maint.mk: change semantics/name of tight_scope variables
17843         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17844         Rename variables to align with semantics that make them more useful.
17845
17846         maint.mk: tweak new rule's name not to impinge
17847         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17848         (sc_tight_scope): Use new rule name rather than $@-0.
17849
17850         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17851         * top/maint.mk (sc_tight_scope): New rule.
17852         (sc_tight_scope-0): New rule, ifdef'd out.
17853         (_gl_TS_dir): Default.
17854         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17855         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17856
17857 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17858
17859         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17860         Haible <bruno@clisp.org>.
17861
17862 2011-05-08  Bruno Haible  <bruno@clisp.org>
17863
17864         Comments.
17865         * m4/isnanf.m4: Add comment.
17866         * m4/isnanl.m4: Likewise.
17867
17868 2011-05-08  Bruno Haible  <bruno@clisp.org>
17869
17870         glob: Remove obsolete macro.
17871         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17872
17873 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17874
17875         intprops: Sun C 5.11 supports __typeof__
17876         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17877         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17878         which is new.
17879         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17880
17881         intprops: switch to usual gnulib indenting and naming
17882         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17883         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17884
17885         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17886
17887 2011-05-08  Jim Meyering  <meyering@redhat.com>
17888
17889         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17890         * top/maint.mk (release-prep): Use make's --no-print-directory
17891         option when generating the announcement.  This eliminates the
17892         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17893         generated announcement template.
17894
17895 2011-05-08  Bruno Haible  <bruno@clisp.org>
17896
17897         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17898         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17899         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17900
17901 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17902
17903         ignore-value, verify: Omit include files from lib_SOURCES.
17904         * modules/ignore-value, modules/verify (Makefile.am):
17905         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17906         that leads Automake to duplicate use of am__objects_... variables
17907         in Makefile.in.  See
17908         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17909
17910 2011-05-07  Bruno Haible  <bruno@clisp.org>
17911
17912         fclose: Simplify autoconf macro.
17913         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17914         defined.
17915
17916 2011-05-07  Bruno Haible  <bruno@clisp.org>
17917
17918         canonicalize-lgpl: Fix autoconf macro ordering bug.
17919         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17920         gl_STDLIB_H_DEFAULTS.
17921
17922 2011-05-06  Eric Blake  <eblake@redhat.com>
17923
17924         maintainer-makefile: make sc_po_check easier to tune
17925         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17926         to probe for strings, such as an alternate location for gnulib.
17927
17928         fclose: guarantee behavior on seekable stdin
17929         * modules/fclose (Depends-on): Add fflush.
17930         * doc/posix-functions/fclose.texi (fclose): Document this.
17931         * tests/test-fclose.c (main): Make test for this unconditional.
17932
17933 2011-05-06  Bruno Haible  <bruno@clisp.org>
17934
17935         fflush, fpurge: Relicense under LGPLv2+.
17936         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17937         * modules/fpurge (License): Likewise.
17938         With permission from Eric Blake and Jim Meyering.
17939         Suggested by Eric Blake.
17940
17941 2011-05-06  Karl Berry  <karl@gnu.org>
17942
17943         * MODULES.html.sh (func_all_modules): remove exit.
17944
17945 2011-05-06  Jim Meyering  <meyering@redhat.com>
17946
17947         maint.mk: use info-gnu@ as the default only for a stable release
17948         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17949         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17950         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17951         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17952
17953 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17954
17955         assert-h: new module, which supports C1X-style static_assert
17956         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17957         * lib/verify.h: Revamp so that this can be copied into assert.h,
17958         while retaining the ability to use it standalone as before.
17959         Rename private identifiers so as not to encroach on the
17960         standard C namespace, since this is now used by assert.h.
17961         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17962         the old verify_true.
17963         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17964         the old verify_true.  Use _GL_VERIFY_TYPE.
17965         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17966         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17967         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17968         defined when this file is copied into the replacement assert.h.
17969         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17970         and _Static_assert is not built in.
17971         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17972         defined, and use the new macros mentioned above.
17973         * doc/posix-headers/assert.texi: Document this.
17974
17975 2011-05-05  Bruno Haible  <bruno@clisp.org>
17976
17977         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17978         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17979         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17980         gl_REPLACE_FCLOSE here.
17981         * modules/fflush (Depends-on): Remove fclose.
17982         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17983         combination with module 'fclose'.
17984
17985 2011-05-05  Bruno Haible  <bruno@clisp.org>
17986
17987         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17988         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17989         gl_FUNC_FFLUSH.
17990         (gl_FUNC_FFLUSH): Use it.
17991         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17992         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
17993         gl_REPLACE_FSEEKO here.
17994
17995 2011-05-05  Bruno Haible  <bruno@clisp.org>
17996
17997         tzset: Relicense under LGPL.
17998         * modules/tzset (License): Change to LGPL.
17999         No agreement needed; it's a no-op.
18000
18001         strtoimax, strtoumax: Relicense under LGPL.
18002         * modules/strtoimax (License): Change to LGPL.
18003         * modules/strtoumax (License): Likewise.
18004         With permission from Jim Meyering, Paul Eggert:
18005         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18006         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18007
18008         getgroups: Relicense under LGPL.
18009         * modules/getgroups (License): Change to LGPL.
18010         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18012         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18013         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18014
18015         nanosleep: Relicense under LGPL.
18016         * modules/nanosleep (License): Change to LGPL.
18017         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18018         Haible:
18019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18021         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18022         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18023
18024         futimens: Relicense under LGPL.
18025         * modules/futimens (License): Change to LGPL.
18026         With permission from Eric Blake:
18027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18028
18029         fflush: Relicense under LGPL.
18030         * modules/fflush (License): Change to LGPL.
18031         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18032         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18033         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18035
18036         tmpfile: Relicense under LGPL.
18037         * modules/tmpfile (License): Change to LGPL.
18038         With permission from Ben Pfaff:
18039         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18040
18041         isfinite: Relicense under LGPL.
18042         * modules/isfinite (License): Change to LGPL.
18043         With permission from Ben Pfaff, Bruno Haible:
18044         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18046
18047         acosl..tanl: Relicense under LGPL.
18048         * modules/acosl (License): Change to LGPL.
18049         * modules/asinl (License): Likewise.
18050         * modules/atanl (License): Likewise.
18051         * modules/cosl (License): Likewise.
18052         * modules/expl (License): Likewise.
18053         * modules/logl (License): Likewise.
18054         * modules/sinl (License): Likewise.
18055         * modules/sqrtl (License): Likewise.
18056         * modules/tanl (License): Likewise.
18057         Source code originally from glibc and Paolo Bonzini. Agreements:
18058         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18059         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18060
18061 2011-05-05  Bruno Haible  <bruno@clisp.org>
18062
18063         signal: Define sighandler_t.
18064         * lib/signal.in.h (sighandler_t): New type.
18065         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18066         whether sighandler_t is defined.
18067         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18068         * modules/signal (Depends-on): Add extensions.
18069         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18070         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18071         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18072
18073 2011-05-05  Eric Blake  <eblake@redhat.com>
18074
18075         maint: remove useless REPLACE_*_H macros
18076         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18077         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18078         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18079         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18080         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18081         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18082         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18083         * m4/btowc.m4: Update callers.
18084         * m4/dirfd.m4: Likewise.
18085         * m4/duplocale.m4: Likewise.
18086         * m4/fchdir.m4: Likewise.
18087         * m4/fdopendir.m4: Likewise.
18088         * m4/inet_ntop.m4: Likewise.
18089         * m4/inet_pton.m4: Likewise.
18090         * m4/ioctl.m4: Likewise.
18091         * m4/mbrlen.m4: Likewise.
18092         * m4/mbrtowc.m4: Likewise.
18093         * m4/mbsinit.m4: Likewise.
18094         * m4/mbsnrtowcs.m4: Likewise.
18095         * m4/mbsrtowcs.m4: Likewise.
18096         * m4/poll.m4: Likewise.
18097         * m4/setlocale.m4: Likewise.
18098         * m4/wcrtomb.m4: Likewise.
18099         * m4/wcsnrtombs.m4: Likewise.
18100         * m4/wcsrtombs.m4: Likewise.
18101         * m4/wctob.m4: Likewise.
18102         * m4/wcwidth.m4: Likewise.
18103         * modules/posix_spawn: Likewise.
18104         * modules/posix_spawn_file_actions_addclose: Likewise.
18105         * modules/posix_spawn_file_actions_adddup2: Likewise.
18106         * modules/posix_spawn_file_actions_addopen: Likewise.
18107         * modules/posix_spawn_file_actions_destroy: Likewise.
18108         * modules/posix_spawn_file_actions_init: Likewise.
18109         * modules/posix_spawnattr_destroy: Likewise.
18110         * modules/posix_spawnattr_getflags: Likewise.
18111         * modules/posix_spawnattr_getpgroup: Likewise.
18112         * modules/posix_spawnattr_getschedparam: Likewise.
18113         * modules/posix_spawnattr_getschedpolicy: Likewise.
18114         * modules/posix_spawnattr_getsigdefault: Likewise.
18115         * modules/posix_spawnattr_getsigmask: Likewise.
18116         * modules/posix_spawnattr_init: Likewise.
18117         * modules/posix_spawnattr_setflags: Likewise.
18118         * modules/posix_spawnattr_setpgroup: Likewise.
18119         * modules/posix_spawnattr_setschedparam: Likewise.
18120         * modules/posix_spawnattr_setschedpolicy: Likewise.
18121         * modules/posix_spawnattr_setsigdefault: Likewise.
18122         * modules/posix_spawnattr_setsigmask: Likewise.
18123         * modules/posix_spawnp: Likewise.
18124
18125 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18126
18127         Add option to do-release-commit-and-tag to specify branch.
18128         * build-aux/do-release-commit-and-tag: Add --branch.
18129
18130 2011-05-03  Bruno Haible  <bruno@clisp.org>
18131
18132         Avoid unnecessary compilation units, through conditional dependencies.
18133         * modules/accept (Depends-on): Add conditions to the dependencies.
18134         * modules/acosl (Depends-on): Likewise.
18135         * modules/argz (Depends-on): Likewise.
18136         * modules/asinl (Depends-on): Likewise.
18137         * modules/atanl (Depends-on): Likewise.
18138         * modules/atoll (Depends-on): Likewise.
18139         * modules/bind (Depends-on): Likewise.
18140         * modules/btowc (Depends-on): Likewise.
18141         * modules/canonicalize-lgpl (Depends-on): Likewise.
18142         * modules/ceil (Depends-on): Likewise.
18143         * modules/ceilf (Depends-on): Likewise.
18144         * modules/ceill (Depends-on): Likewise.
18145         * modules/chdir-long (Depends-on): Likewise.
18146         * modules/chown (Depends-on): Likewise.
18147         * modules/close (Depends-on): Likewise.
18148         * modules/connect (Depends-on): Likewise.
18149         * modules/cosl (Depends-on): Likewise.
18150         * modules/dirfd (Depends-on): Likewise.
18151         * modules/dprintf (Depends-on): Likewise.
18152         * modules/dprintf-posix (Depends-on): Likewise.
18153         * modules/error (Depends-on): Likewise.
18154         * modules/euidaccess (Depends-on): Likewise.
18155         * modules/expl (Depends-on): Likewise.
18156         * modules/faccessat (Depends-on): Likewise.
18157         * modules/fchdir (Depends-on): Likewise.
18158         * modules/fclose (Depends-on): Likewise.
18159         * modules/fcntl (Depends-on): Likewise.
18160         * modules/fdopendir (Depends-on): Likewise.
18161         * modules/fflush (Depends-on): Likewise.
18162         * modules/floor (Depends-on): Likewise.
18163         * modules/floorf (Depends-on): Likewise.
18164         * modules/floorl (Depends-on): Likewise.
18165         * modules/fnmatch (Depends-on): Likewise.
18166         * modules/fopen (Depends-on): Likewise.
18167         * modules/fprintf-posix (Depends-on): Likewise.
18168         * modules/frexp (Depends-on): Likewise.
18169         * modules/frexp-nolibm (Depends-on): Likewise.
18170         * modules/frexpl (Depends-on): Likewise.
18171         * modules/frexpl-nolibm (Depends-on): Likewise.
18172         * modules/fseek (Depends-on): Likewise.
18173         * modules/fsusage (Depends-on): Likewise.
18174         * modules/ftell (Depends-on): Likewise.
18175         * modules/ftello (Depends-on): Likewise.
18176         * modules/futimens (Depends-on): Likewise.
18177         * modules/getcwd (Depends-on): Likewise.
18178         * modules/getcwd-lgpl (Depends-on): Likewise.
18179         * modules/getdelim (Depends-on): Likewise.
18180         * modules/getdomainname (Depends-on): Likewise.
18181         * modules/getgroups (Depends-on): Likewise.
18182         * modules/gethostname (Depends-on): Likewise.
18183         * modules/getline (Depends-on): Likewise.
18184         * modules/getlogin_r (Depends-on): Likewise.
18185         * modules/getopt-posix (Depends-on): Likewise.
18186         * modules/getpeername (Depends-on): Likewise.
18187         * modules/getsockname (Depends-on): Likewise.
18188         * modules/getsockopt (Depends-on): Likewise.
18189         * modules/getsubopt (Depends-on): Likewise.
18190         * modules/getusershell (Depends-on): Likewise.
18191         * modules/glob (Depends-on): Likewise.
18192         * modules/grantpt (Depends-on): Likewise.
18193         * modules/iconv_open (Depends-on): Likewise.
18194         * modules/iconv_open-utf (Depends-on): Likewise.
18195         * modules/inet_ntop (Depends-on): Likewise.
18196         * modules/inet_pton (Depends-on): Likewise.
18197         * modules/ioctl (Depends-on): Likewise.
18198         * modules/isapipe (Depends-on): Likewise.
18199         * modules/isfinite (Depends-on): Likewise.
18200         * modules/isinf (Depends-on): Likewise.
18201         * modules/lchown (Depends-on): Likewise.
18202         * modules/ldexpl (Depends-on): Likewise.
18203         * modules/link (Depends-on): Likewise.
18204         * modules/linkat (Depends-on): Likewise.
18205         * modules/listen (Depends-on): Likewise.
18206         * modules/logl (Depends-on): Likewise.
18207         * modules/lstat (Depends-on): Likewise.
18208         * modules/mbrlen (Depends-on): Likewise.
18209         * modules/mbrtowc (Depends-on): Likewise.
18210         * modules/mbsinit (Depends-on): Likewise.
18211         * modules/mbsnrtowcs (Depends-on): Likewise.
18212         * modules/mbsrtowcs (Depends-on): Likewise.
18213         * modules/mbtowc (Depends-on): Likewise.
18214         * modules/memcmp (Depends-on): Likewise.
18215         * modules/mkdir (Depends-on): Likewise.
18216         * modules/mkdtemp (Depends-on): Likewise.
18217         * modules/mkfifo (Depends-on): Likewise.
18218         * modules/mkfifoat (Depends-on): Likewise.
18219         * modules/mknod (Depends-on): Likewise.
18220         * modules/mkostemp (Depends-on): Likewise.
18221         * modules/mkostemps (Depends-on): Likewise.
18222         * modules/mkstemp (Depends-on): Likewise.
18223         * modules/mkstemps (Depends-on): Likewise.
18224         * modules/mktime (Depends-on): Likewise.
18225         * modules/nanosleep (Depends-on): Likewise.
18226         * modules/open (Depends-on): Likewise.
18227         * modules/openat (Depends-on): Likewise.
18228         * modules/perror (Depends-on): Likewise.
18229         * modules/poll (Depends-on): Likewise.
18230         * modules/popen (Depends-on): Likewise.
18231         * modules/posix_spawn (Depends-on): Likewise.
18232         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18233         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18234         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18235         * modules/posix_spawnp (Depends-on): Likewise.
18236         * modules/pread (Depends-on): Likewise.
18237         * modules/printf-posix (Depends-on): Likewise.
18238         * modules/ptsname (Depends-on): Likewise.
18239         * modules/putenv (Depends-on): Likewise.
18240         * modules/pwrite (Depends-on): Likewise.
18241         * modules/readline (Depends-on): Likewise.
18242         * modules/readlink (Depends-on): Likewise.
18243         * modules/readlinkat (Depends-on): Likewise.
18244         * modules/recv (Depends-on): Likewise.
18245         * modules/recvfrom (Depends-on): Likewise.
18246         * modules/regex (Depends-on): Likewise.
18247         * modules/remove (Depends-on): Likewise.
18248         * modules/rename (Depends-on): Likewise.
18249         * modules/renameat (Depends-on): Likewise.
18250         * modules/rmdir (Depends-on): Likewise.
18251         * modules/round (Depends-on): Likewise.
18252         * modules/roundf (Depends-on): Likewise.
18253         * modules/roundl (Depends-on): Likewise.
18254         * modules/rpmatch (Depends-on): Likewise.
18255         * modules/select (Depends-on): Likewise.
18256         * modules/send (Depends-on): Likewise.
18257         * modules/sendto (Depends-on): Likewise.
18258         * modules/setenv (Depends-on): Likewise.
18259         * modules/setlocale (Depends-on): Likewise.
18260         * modules/setsockopt (Depends-on): Likewise.
18261         * modules/shutdown (Depends-on): Likewise.
18262         * modules/sigaction (Depends-on): Likewise.
18263         * modules/signbit (Depends-on): Likewise.
18264         * modules/sigprocmask (Depends-on): Likewise.
18265         * modules/sinl (Depends-on): Likewise.
18266         * modules/sleep (Depends-on): Likewise.
18267         * modules/snprintf (Depends-on): Likewise.
18268         * modules/snprintf-posix (Depends-on): Likewise.
18269         * modules/socket (Depends-on): Likewise.
18270         * modules/sprintf-posix (Depends-on): Likewise.
18271         * modules/sqrtl (Depends-on): Likewise.
18272         * modules/stat (Depends-on): Likewise.
18273         * modules/strchrnul (Depends-on): Likewise.
18274         * modules/strdup-posix (Depends-on): Likewise.
18275         * modules/strerror (Depends-on): Likewise.
18276         * modules/strerror_r-posix (Depends-on): Likewise.
18277         * modules/strndup (Depends-on): Likewise.
18278         * modules/strnlen (Depends-on): Likewise.
18279         * modules/strptime (Depends-on): Likewise.
18280         * modules/strsep (Depends-on): Likewise.
18281         * modules/strsignal (Depends-on): Likewise.
18282         * modules/strstr-simple (Depends-on): Likewise.
18283         * modules/strtod (Depends-on): Likewise.
18284         * modules/strtoimax (Depends-on): Likewise.
18285         * modules/strtok_r (Depends-on): Likewise.
18286         * modules/strtoumax (Depends-on): Likewise.
18287         * modules/symlink (Depends-on): Likewise.
18288         * modules/symlinkat (Depends-on): Likewise.
18289         * modules/tanl (Depends-on): Likewise.
18290         * modules/tcgetsid (Depends-on): Likewise.
18291         * modules/tmpfile (Depends-on): Likewise.
18292         * modules/trunc (Depends-on): Likewise.
18293         * modules/truncf (Depends-on): Likewise.
18294         * modules/truncl (Depends-on): Likewise.
18295         * modules/uname (Depends-on): Likewise.
18296         * modules/unlink (Depends-on): Likewise.
18297         * modules/unlockpt (Depends-on): Likewise.
18298         * modules/unsetenv (Depends-on): Likewise.
18299         * modules/usleep (Depends-on): Likewise.
18300         * modules/utimensat (Depends-on): Likewise.
18301         * modules/vasprintf (Depends-on): Likewise.
18302         * modules/vdprintf (Depends-on): Likewise.
18303         * modules/vdprintf-posix (Depends-on): Likewise.
18304         * modules/vfprintf-posix (Depends-on): Likewise.
18305         * modules/vprintf-posix (Depends-on): Likewise.
18306         * modules/vsnprintf (Depends-on): Likewise.
18307         * modules/vsnprintf-posix (Depends-on): Likewise.
18308         * modules/vsprintf-posix (Depends-on): Likewise.
18309         * modules/wcrtomb (Depends-on): Likewise.
18310         * modules/wcscasecmp (Depends-on): Likewise.
18311         * modules/wcscspn (Depends-on): Likewise.
18312         * modules/wcsdup (Depends-on): Likewise.
18313         * modules/wcsncasecmp (Depends-on): Likewise.
18314         * modules/wcsnrtombs (Depends-on): Likewise.
18315         * modules/wcspbrk (Depends-on): Likewise.
18316         * modules/wcsrtombs (Depends-on): Likewise.
18317         * modules/wcsspn (Depends-on): Likewise.
18318         * modules/wcsstr (Depends-on): Likewise.
18319         * modules/wcstok (Depends-on): Likewise.
18320         * modules/wcswidth (Depends-on): Likewise.
18321         * modules/wctob (Depends-on): Likewise.
18322         * modules/wctomb (Depends-on): Likewise.
18323         * modules/wctype (Depends-on): Likewise.
18324         * modules/wcwidth (Depends-on): Likewise.
18325         * modules/write (Depends-on): Likewise.
18326
18327 2011-05-03  Bruno Haible  <bruno@clisp.org>
18328
18329         Support for conditional dependencies.
18330         * doc/gnulib.texi (Module description): Document the syntax of
18331         conditional dependencies.
18332         * gnulib-tool: New option --conditional-dependencies.
18333         (func_usage): Document it.
18334         (cond_dependencies): New variable.
18335         (func_get_automake_snippet_conditional,
18336         func_get_automake_snippet_unconditional): New functions, extracted from
18337         func_get_automake_snippet.
18338         (func_get_automake_snippet): Use them.
18339         (sed_first_32_chars): New variable.
18340         (func_module_shellfunc_name): New function.
18341         (func_module_shellvar_name): New function.
18342         (func_module_conditional_name): New function.
18343         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18344         func_cond_module_condition): New functions.
18345         (func_modules_transitive_closure): Add support for conditional
18346         dependencies.
18347         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18348         conditional automake snippet in an automake conditional.
18349         (func_emit_autoconf_snippets): Emit shell functions that contain the
18350         code for conditional modules.
18351         (func_import, func_create_testdir): Update specification.
18352
18353 2011-05-03  Eric Blake  <eblake@redhat.com>
18354
18355         test-getaddrinfo: report error information
18356         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18357
18358 2011-05-03  Jim Meyering  <meyering@redhat.com>
18359
18360         bootstrap: avoid build failure when $GZIP is set
18361         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18362         program name.  If defined at all, it is supposed to list gzip options.
18363         Reported by Alan Curry in http://debbugs.gnu.org/8609
18364
18365 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18366
18367         readme-release: new module with release instructions
18368         * modules/readme-release: New module.
18369         * top/README-release: New file, from coreutils, grep, diffutils.
18370         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18371
18372 2011-05-02  Eric Blake  <eblake@redhat.com>
18373
18374         fflush: also replace fclose when fixing fflush
18375         * modules/fflush (Depends-on): Add fclose.
18376         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18377         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18378         memstreams with no backing fd.
18379         * doc/posix-functions/fclose.texi (fclose): Document the use of
18380         fflush module to fix the bug.
18381         * tests/test-fclose.c (main): Relax test when fclose is used in
18382         isolation.
18383
18384         fclose: add some tests
18385         * modules/fclose-tests: New test module.
18386         * tests/test-fclose.c: New file.
18387         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18388
18389         fclose: reduced dependencies
18390         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18391         simpler lseek.
18392         * lib/fclose.c (rpl_fclose): Likewise.
18393         Reported by Simon Josefsson.
18394
18395         exit: drop remaining clients
18396         * modules/argmatch (Depends-on): Replace exit with stdlib.
18397         * modules/copy-file (Depends-on): Likewise.
18398         * modules/execute (Depends-on): Likewise.
18399         * modules/exitfail (Depends-on): Likewise.
18400         * modules/obstack (Depends-on): Likewise.
18401         * modules/pagealign_alloc (Depends-on): Likewise.
18402         * modules/pipe-filter-gi (Depends-on): Likewise.
18403         * modules/pipe-filter-ii (Depends-on): Likewise.
18404         * modules/savewd (Depends-on): Likewise.
18405         * modules/spawn-pipe (Depends-on): Likewise.
18406         * modules/wait-process (Depends-on): Likewise.
18407         * modules/xsetenv (Depends-on): Likewise.
18408         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18409         * modules/git-merge-changelog (Depends-on): Likewise.
18410         * modules/long-options (Depends-on): Likewise.
18411         * modules/pt_chown (Depends-on): Likewise.
18412         * modules/sysexits (Depends-on): Likewise.
18413
18414         freading: relax license from LGPLv3+ to LGPLv2+
18415         * modules/freading (License): Relax LGPL version.
18416
18417 2011-05-02  Bruno Haible  <bruno@clisp.org>
18418
18419         fchdir: Remove unused dependencies.
18420         * modules/fchdir (Depends-on): Remove include_next.
18421
18422 2011-05-02  Bruno Haible  <bruno@clisp.org>
18423
18424         gnulib-tool: Refactor.
18425         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18426         from func_emit_autoconf_snippets.
18427         (func_emit_autoconf_snippets): Use it.
18428
18429 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18430
18431         * NEWS: Document removal of 'exit'.
18432         * modules/exit: Remove file.
18433
18434 2011-05-01  Bruno Haible  <bruno@clisp.org>
18435
18436         Update DEPENDENCIES.
18437         * DEPENDENCIES (gettext): Recommend the newest release.
18438         Reported by Simon Josefsson.
18439
18440 2011-05-01  Bruno Haible  <bruno@clisp.org>
18441
18442         gnulib-tool: Reduce code duplication.
18443         * gnulib-tool (func_emit_autoconf_snippets): New function.
18444         (func_import, func_create_testdir): Use it.
18445
18446 2011-04-30  Eric Blake  <eblake@redhat.com>
18447
18448         fclose: don't fail on non-seekable input stream
18449         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18450         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18451         since fflush is allowed to fail in that case.
18452
18453 2011-04-30  Bruno Haible  <bruno@clisp.org>
18454
18455         dup3: cleanup
18456         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18457
18458 2011-04-30  Bruno Haible  <bruno@clisp.org>
18459
18460         netdb: Make it work in C++ mode.
18461         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18462         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18463         module.
18464         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18465         gl_MODULE_INDICATOR_FOR_TESTS.
18466         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18467         * modules/netdb-c++-tests: New file.
18468         * tests/test-netdb-c++.cc: New file.
18469
18470 2011-04-30  Bruno Haible  <bruno@clisp.org>
18471
18472         New modules 'vfscanf', 'vscanf'.
18473         * modules/vfscanf: New file.
18474         * modules/vscanf: New file.
18475         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18476         here.
18477         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18478         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18479
18480 2011-04-30  Bruno Haible  <bruno@clisp.org>
18481
18482         passfd: Add comments.
18483         * lib/passfd.c: Add comments about platforms.
18484
18485 2011-04-30  Bruno Haible  <bruno@clisp.org>
18486
18487         sys_uio: Make <sys/uio.h> self-contained.
18488         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18489         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18490
18491 2011-04-30  Bruno Haible  <bruno@clisp.org>
18492
18493         sys_socket: Ensure 'struct iovec' definition.
18494         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18495         <sys/socket.h>.
18496         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18497
18498 2011-04-30  Bruno Haible  <bruno@clisp.org>
18499
18500         sys_uio: Protect definition of 'struct iovec'.
18501         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18502         it as a C struct.
18503
18504 2011-04-30  Bruno Haible  <bruno@clisp.org>
18505
18506         manywarnings: fix indentation
18507         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18508
18509 2011-04-30  Pádraig Brady <P@draigBrady.com>
18510
18511         manywarnings: add -Wno-missing-field-initializers if needed.
18512         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18513         option if it's needed to allow initialization with { 0, }
18514
18515 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18516
18517         announce-gen: cosmetic improvement
18518         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18519
18520 2011-04-29  Jim Meyering  <meyering@redhat.com>
18521
18522         vc-list-files: indent with spaces, not TABs
18523         * build-aux/vc-list-files: Convert leading TABs to spaces,
18524         to match the style of most other files in gnulib.
18525
18526         announce-gen: indent with spaces, not TABs
18527         * build-aux/announce-gen: Convert all TABs to spaces, to match
18528         the style of most other files in gnulib.
18529
18530 2011-04-29  Eric Blake  <eblake@redhat.com>
18531
18532         quotearg: avoid uninitialized variable use
18533         * lib/quotearg.c (quoting_options_from_style): Initialize
18534         remaining fields, and ensure that custom styles are only used via
18535         quoting_options rather than quoting_style.
18536
18537 2011-04-29  Jim Meyering  <meyering@redhat.com>
18538
18539         maint.mk: remove unused VC-tag variable
18540         * top/maint.mk (VC-tag): Remove unused variable.
18541
18542 2011-04-29  Bruno Haible  <bruno@clisp.org>
18543
18544         netdb: fix gai_strerror replacements
18545         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18546         * modules/netdb: Substitute it.
18547
18548 2011-04-29  Jim Meyering  <meyering@redhat.com>
18549
18550         test-getcwd.c: avoid new set-but-not-used warning
18551         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18552         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18553         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18554         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18555
18556         test-hash.c: avoid a new shadowing warning
18557         * tests/test-hash.c (main): Don't shadow "dup".
18558
18559 2011-04-28  Eric Blake  <eblake@redhat.com>
18560
18561         getaddrinfo: fix gai_strerror signature
18562         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18563         and work around mingw with UNICODE defined.
18564         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18565         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18566         * modules/netdb (Makefile.am): Substitute it.
18567         * lib/netdb.in.h (gai_strerror): Declare replacement.
18568         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18569         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18570         the fix.
18571
18572         getsockopt: avoid compiler warning
18573         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18574         Reported by Matthias Bolte.
18575
18576         tests: drop unused link dependency
18577         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18578         * modules/dirent-safer-tests (Makefile.am): Likewise.
18579         * modules/fdopendir-tests (Makefile.am): Likewise.
18580         * modules/mkfifoat-tests (Makefile.am): Likewise.
18581         * modules/openat-safer-tests (Makefile.am): Likewise.
18582         * modules/openat-tests (Makefile.am): Likewise.
18583         * modules/readlinkat-tests (Makefile.am): Likewise.
18584         * modules/symlinkat-tests (Makefile.am): Likewise.
18585         * modules/linkat-tests (Makefile.am): Likewise.
18586         (Depends-on): Switch to filenamecat-lgpl.
18587         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18588         LIBINTL.
18589         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18590         * tests/test-linkat.c (main): Don't require xalloc.
18591
18592         hash, mgetgroups: drop xalloc dependency
18593         * lib/hash.c (includes): Adjust includes.
18594         * lib/mgetgroups.c (includes): Likewise.
18595         (xgetgroups): Move...
18596         * lib/xgetgroups.c: ...to new file.
18597         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18598         * modules/xgetgroups: New file, split from...
18599         * modules/mgetgroups: ...here.
18600         (Depends-on): Add xalloc-oversized.
18601         * modules/hash (Depends-on): Likewise.
18602         * modules/hash-tests (Depends-on): Drop xalloc.
18603         (test_hash_LDADD): Drop unused library.
18604         * tests/test-hash.c (main): Break xalloc dependency.
18605         (includes): Drop unused include.
18606
18607         xalloc-oversized: new module
18608         * modules/xalloc-oversized: New module.
18609         * modules/xalloc (Depends-on): Add it.
18610         * lib/xalloc.h (xalloc_oversized): Move...
18611         * lib/xalloc-oversized.h: ...into new file.
18612
18613         utimecmp: drop dependency on xmalloc
18614         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18615         due to memory pressure.
18616         * modules/utimecmp (Depends-on): Drop xalloc.
18617
18618 2011-04-27  Eric Blake  <eblake@redhat.com>
18619
18620         getcwd: fix mingw bugs
18621         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18622         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18623         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18624
18625 2011-04-27  Bruno Haible  <bruno@clisp.org>
18626
18627         mkstemps: Ensure declaration on MacOS X 10.5.
18628         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18629         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18630         MacOS X.
18631
18632 2011-04-27  Bruno Haible  <bruno@clisp.org>
18633
18634         mkstemp: More documentation.
18635         * doc/posix-functions/mkstemp.texi: Document header file problem on
18636         MacOS X.
18637
18638 2011-04-27  Bruno Haible  <bruno@clisp.org>
18639
18640         mkstemp: Tweak configure message when cross-compiling.
18641         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18642         result as a guess.
18643
18644 2011-04-27  Bruno Haible  <bruno@clisp.org>
18645
18646         clean-temp: Clarify what it does.
18647         * lib/clean-temp.h: Add more comments.
18648         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18649         module.
18650         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18651         * doc/glibc-functions/mkstemps.texi: Likewise.
18652         * doc/glibc-functions/mkostemps.texi: Likewise.
18653
18654 2011-04-27  Eric Blake  <eblake@redhat.com>
18655
18656         fchdir: avoid extra chdir and fix test
18657         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18658         getcwd-lgpl.
18659         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18660         have to be canonical.
18661         (canonicalize_file_name): Drop unused macro.
18662         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
18663
18664         filenamecat-lgpl: fix licence
18665         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
18666         when it was first created.
18667
18668         linkat, renameat: add missing dependency
18669         * modules/linkat (Depends-on): Require getcwd-lgpl.
18670         * modules/renameat (Depends-on): Likewise.
18671
18672         tests: reduce dependencies
18673         * tests/test-linkat.c (main): Use lighter-weight getcwd.
18674         * tests/test-renameat.c (main): Likewise.
18675         * modules/linkat-tests (Depends-on): Relax dependency.
18676         * modules/renameat-tests (Depends-on): Likewise.
18677         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
18678         dependency explicit.
18679
18680         save-cwd: reduce default dependency
18681         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
18682         * lib/save-cwd.c: Update comments.
18683         * NEWS: Document the semantic change.
18684
18685         getcwd: enhance tests
18686         * tests/test-getcwd-lgpl.c: New file, taken from...
18687         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18688         repeat long path stress tests from m4 probe.
18689         * modules/getcwd-lgpl-tests: New module.
18690         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18691         * m4/getcwd-abort-bug.m4: Update comment.
18692         * m4/getcwd-path-max.m4: Likewise.
18693
18694         getcwd-lgpl: new module
18695         * modules/getcwd-lgpl: New module.
18696         * lib/getcwd-lgpl.c: New file.
18697         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18698         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18699         * modules/getcwd (configure.ac): Set C witness.
18700         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18701
18702         getcwd: tweak comments
18703         * m4/getcwd-abort-bug.m4: Fix comments.
18704         * m4/getcwd-path-max.m4: Likewise.
18705         * m4/getcwd.m4: Likewise.
18706
18707 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18708         and Eric Blake  <eblake@redhat.com>
18709
18710         mkstemp: replace if system version uses wrong permissions
18711         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18712         read/write mode bits set in file created by mkstemp.
18713         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18714
18715 2011-04-27  Eric Blake  <eblake@redhat.com>
18716
18717         passfd: avoid compiler warning
18718         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18719         Reported by Laine Stump.
18720
18721 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18722
18723         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18724         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18725
18726 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18727         and Eric Blake  <eblake@redhat.com>
18728
18729         mkstemp: mention clean-temp module
18730         * lib/mkstemp.c: Add comment.
18731         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18732
18733 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18734
18735         inttypes: also provide default values for 32-bit tests
18736         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18737         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18738
18739 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18740
18741         strtoumax: remove dependency on strtoimax
18742         This is like the strtoull change of yesterday.
18743         * modules/strtoumax (Files): Add lib/strtoimax.c.
18744         (Depends-on): Remove strtoimax and add verify.
18745
18746         inttypes-incomplete: new module
18747         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18748         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18749         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18750         of gl_INTTYPES_H.
18751         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18752         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18753         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18754         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18755         * modules/strtoumax, modules/xstrtol (Depends-on):
18756         Depend on inttypes-incomplete, not inttypes.
18757         * modules/inttypes-incomplete: New module, containing the contents
18758         of the old modules/inttypes module, except that the Files: section
18759         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18760         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18761         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18762         (Depends-on): Depend only on inttypes-incomplete.
18763         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18764
18765         inttypes: omit now-redundant strtoimax and strtoumax work
18766         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18767         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18768
18769         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18770         This supports apps that need pointers to strtoimax and strtoumax,
18771         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18772         nonexistent functions.  See
18773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18774         et seq.
18775         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18776         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18777         a macro.
18778         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18779
18780 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18781
18782         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18783
18784 2011-04-25  Bruno Haible  <bruno@clisp.org>
18785
18786         strtol, strtoul: Mark modules as obsolete.
18787         * modules/strtol (Status, Notice): New sections.
18788         * modules/strtoul (Status, Notice): New sections.
18789
18790 2011-04-25  Bruno Haible  <bruno@clisp.org>
18791
18792         strtod: Remove check for strtod, unless supporting old platforms.
18793         * modules/strtod-obsolete: New file.
18794         * m4/strtod-obsolete.m4: New file.
18795         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18796         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18797         * modules/strtod (Depends-on): Add strtod-obsolete.
18798         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18799
18800 2011-04-25  Bruno Haible  <bruno@clisp.org>
18801
18802         strcase: Make module obsolete.
18803         * modules/strcase (Status, Notice): New sections.
18804
18805 2011-04-25  Bruno Haible  <bruno@clisp.org>
18806
18807         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18808         * modules/dup2-obsolete: New file.
18809         * m4/dup2-obsolete.m4: New file.
18810         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18811         gl_FUNC_DUP2_OBSOLETE is not also defined.
18812         * modules/dup2 (Depends-on): Add dup2-obsolete.
18813         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18814
18815 2011-04-25  Bruno Haible  <bruno@clisp.org>
18816
18817         strnlen: Avoid memchr related link error on old obsolete platforms.
18818         * modules/memchr-obsolete: New file.
18819         * m4/memchr-obsolete.m4: New file.
18820         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18821         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18822         * modules/memchr (Depends-on): Add memchr-obsolete.
18823         * modules/strnlen (Depends-on): Likewise.
18824         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18825
18826 2011-04-25  Jim Meyering  <meyering@redhat.com>
18827
18828         maint.mk: makefile_at_at_check extend and clean up
18829         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18830         in addition to */Makefile.am.
18831         Exempt legitimate uses of @VAR@ notation, e.g.,
18832         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18833         Remove obsolete coreutils-specific comment.
18834         Prompted by discussion here:
18835         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18836
18837 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18838
18839         strtoul: remove dependency on strtol
18840         This is so that 'configure' need not check for strtol merely because
18841         the application needs strtoul.
18842         * modules/strtoul (Files): Add lib/strtol.c.
18843         (Depends-on): Remove strtol.
18844
18845         strtoull: remove dependency on strtoul
18846         This is like the strtoll change.
18847         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18848         (Depends-on): Remove strtoul.
18849
18850         strtoll: remove dependency on strtol
18851         This is so that 'configure' need not check for strtol merely because
18852         the application needs strtoll.
18853         * modules/strtoll (Files): Add lib/strtol.c.
18854         (Depends-on): Remove strtol.
18855
18856 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18857
18858         inttypes: Move some configure check to module 'imaxdiv'.
18859         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18860         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18861         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18862
18863 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18864
18865         inttypes: Move some configure check to module 'imaxabs'.
18866         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18867         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18868         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18869
18870 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18871
18872         inttypes: Remove configure tests that are not needed since 2009-12-31.
18873         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18874         gl_cv_header_working_inttypes_h.
18875
18876 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18877
18878         * modules/strnlen (Depends-on): Remove memchr.
18879         The strnlen implementation doesn't need the memchr module's fixes; see
18880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18881
18882         strtol: remove dependency on wchar
18883         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18884         * modules/strtol (Depends-on): Remove wchar.
18885
18886 2011-04-21  Eric Blake  <eblake@redhat.com>
18887
18888         passfd: fix test regression on Linux
18889         * modules/passfd-tests (configure.ac): Correct socketpair check.
18890
18891         passfd: speed up configure and drop unused code
18892         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18893         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18894         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18895         Instead of probing at configure for unix_scm_rights_bsd44_way,
18896         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18897         check to a struct member probe.
18898         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18899         (sendfd, recvfd): Update preprocessor checks.
18900         * modules/passfd (Files): Reflect rename, and drop unused file.
18901         (Depends-on): Drop unused dependency.
18902
18903         passfd: allow compilation on mingw
18904         * modules/sys_socket (Depends-on): Add sys_uio.
18905         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18906         iovec and a minimal struct msghdr.
18907         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18908         * tests/test-sys_socket.c (main): Enhance test.
18909         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18910         guaranteed to provide what we need.
18911         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18912         * modules/passfd-tests (Depends-on): Add sys_wait.
18913         * tests/test-passfd.c (main): Skip test on mingw, for now.
18914         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18915         partial 'struct msghdr' implementation.
18916
18917         sys_uio: new module
18918         * modules/sys_uio: New module.
18919         * modules/sys_uio-tests: Likewise.
18920         * lib/sys_uio.in.h: New file.
18921         * m4/sys_uio_h.m4: Likewise.
18922         * tests/test-sys_uio.c: Likewise.
18923         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18924         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18925
18926 2011-04-20  Jim Meyering  <meyering@redhat.com>
18927
18928         useless-if-before-free: avoid false-positive
18929         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18930         disjunct so that it too requires a terminating ";".  Without that,
18931         this script would identify as useless one statement from gcc that
18932         was not:
18933           if (aligned_ptr)
18934             free (((void **) aligned_ptr) [-1]);
18935
18936 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18937
18938         doc: update users.txt.
18939         * users.txt: Add barcode.
18940
18941 2011-04-19  Bruno Haible  <bruno@clisp.org>
18942
18943         ioctl: Remove link dependency on native Windows.
18944         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18945         (gl_close_fn, gl_ioctl_fn): New types.
18946         (struct fd_hook): Renamed from struct close_hook. Change type of
18947         private_close_fn field. Add private_ioctl_fn field.
18948         (close_hook_fn): Add parameter for primary close method.
18949         (execute_close_hooks, execute_all_close_hooks): Likewise.
18950         (ioctl_hook_fn): New type.
18951         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18952         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18953         argument.
18954         (unregister_fd_hook): Renamed from unregister_close_hook.
18955         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18956         Don't include <unistd.h>.
18957         (close): Remove undef.
18958         (anchor): Update.
18959         (execute_close_hooks): Add argument for primary close method.
18960         (execute_all_close_hooks): Likewise.
18961         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18962         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18963         argument. Allow each argument to be NULL.
18964         (unregister_fd_hook): Renamed from unregister_close_hook.
18965         * lib/close.c (rpl_close): Pass 'close' function pointer to
18966         execute_all_close_hooks.
18967         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18968         (primary_ioctl): New function.
18969         (ioctl): Don't call ioctlsocket here. Instead, call
18970         execute_all_ioctl_hooks.
18971         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18972         close method.
18973         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18974         (fd_sockets_hook): Renamed from close_sockets_hook.
18975         (gl_sockets_startup, gl_sockets_cleanup): Update.
18976         * modules/fd-hook: Renamed from modules/close-hook. Update.
18977         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18978         * modules/sockets (Depends-on): Likewise.
18979         * modules/ioctl (Depends-on): Add fd-hook.
18980         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18981         GNULIB_SOCKET.
18982
18983 2011-04-19  Bruno Haible  <bruno@clisp.org>
18984
18985         Move the support of O_NONBLOCK in open() to the 'open' module.
18986         * modules/nonblocking (Depends-on): Remove 'open'.
18987         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18988         gl_cv_have_open_O_NONBLOCK.
18989         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18990         O_NONBLOCK support.
18991         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18992
18993 2011-04-17  Bruno Haible  <bruno@clisp.org>
18994
18995         pipe2: Simplify code.
18996         * lib/pipe2.c (pipe2): Reduce code duplication.
18997
18998 2011-04-17  Bruno Haible  <bruno@clisp.org>
18999
19000         nonblocking: Add comment.
19001         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19002
19003 2011-04-17  Bruno Haible  <bruno@clisp.org>
19004
19005         nonblocking: Add tests for sockets.
19006         * tests/test-nonblocking-socket.sh: New file.
19007         * tests/test-nonblocking-socket-main.c: New file.
19008         * tests/test-nonblocking-socket-child.c: New file.
19009         * tests/test-nonblocking-socket.h: New file.
19010         * tests/socket-server.h: New file.
19011         * tests/socket-client.h: New file.
19012         * modules/nonblocking-socket-tests: New file.
19013         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19014
19015 2011-04-17  Bruno Haible  <bruno@clisp.org>
19016
19017         nonblocking: Add tests for pipes.
19018         * tests/test-nonblocking-pipe.sh: New file.
19019         * tests/test-nonblocking-pipe-main.c: New file.
19020         * tests/test-nonblocking-pipe-child.c: New file.
19021         * tests/test-nonblocking-pipe.h: New file.
19022         * tests/test-nonblocking-writer.h: New file.
19023         * tests/test-nonblocking-reader.h: New file.
19024         * tests/test-nonblocking-misc.h: New file.
19025         * modules/nonblocking-pipe-tests: New file.
19026         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19027
19028 2011-04-16  Bruno Haible  <bruno@clisp.org>
19029
19030         gettext: Clarify the needed programmer actions.
19031         * modules/gettext (Notice): New field.
19032         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19033
19034 2011-04-16  Bruno Haible  <bruno@clisp.org>
19035
19036         strchrnul: Tweak last commit.
19037         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19038         bug.
19039         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19040         as in _GL_FUNCDECL_SYS.
19041         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19042         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19043
19044 2011-04-15  Eric Blake  <eblake@redhat.com>
19045
19046         strchrnul: work around cygwin bug
19047         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19048         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19049         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19050         * modules/string (Makefile.am): Substitute it.
19051         * lib/string.in.h (strchrnul): Use it.
19052
19053 2011-04-15  Bruno Haible  <bruno@clisp.org>
19054
19055         Don't require lib/stdio-write.c when only module 'stdio' is used.
19056         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19057         invocation.
19058         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19059
19060 2011-04-14  Bruno Haible  <bruno@clisp.org>
19061
19062         Support non-blocking pipe I/O in read() on native Windows.
19063         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19064         (read): New declaration.
19065         * lib/read.c: New file.
19066         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19067         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19068         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19069         vscanf): New declarations.
19070         * lib/stdio-read.c: New file.
19071         * m4/read.m4: New file.
19072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19073         REPLACE_READ.
19074         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19075         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19076         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19077         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19078         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19079         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19080         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19081         * modules/read: New file.
19082         * modules/nonblocking (Files): Add lib/stdio-read.c.
19083         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19084         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
19085         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19086         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19087         * modules/pread (Depends-on): Add read.
19088         * modules/safe-read (Depends-on): Likewise.
19089         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19090         gets, scanf, vfscanf, vscanf): Verify signatures.
19091         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19092         problem with non-blocking pipes.
19093         * doc/posix-functions/fgetc.texi: Likewise.
19094         * doc/posix-functions/fgets.texi: Likewise.
19095         * doc/posix-functions/fread.texi: Likewise.
19096         * doc/posix-functions/fscanf.texi: Likewise.
19097         * doc/posix-functions/getc.texi: Likewise.
19098         * doc/posix-functions/getchar.texi: Likewise.
19099         * doc/posix-functions/gets.texi: Likewise.
19100         * doc/posix-functions/scanf.texi: Likewise.
19101         * doc/posix-functions/vfscanf.texi: Likewise.
19102         * doc/posix-functions/vscanf.texi: Likewise.
19103
19104 2011-04-14  Bruno Haible  <bruno@clisp.org>
19105
19106         Support non-blocking pipe I/O in write() on native Windows.
19107         * lib/write.c (rpl_write): Split a write request that failed merely
19108         because the byte count was larger than the pipe buffer's size.
19109         * doc/posix-functions/write.texi: Mention the problem with large byte
19110         counts.
19111
19112 2011-04-14  Bruno Haible  <bruno@clisp.org>
19113
19114         wchar: Ensure that wchar_t gets defined on uClibc.
19115         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19116         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19117
19118 2011-04-13  Bruno Haible  <bruno@clisp.org>
19119
19120         safe-write, full-read: Avoid unnecessary compilation units.
19121         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19122         (Depends-on): Remove safe-read. Add ssize_t.
19123         * modules/full-read (Files): Add lib/full-write.c.
19124         (Depends-on): Add full-write.
19125
19126 2011-04-13  Bruno Haible  <bruno@clisp.org>
19127
19128         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19129         * modules/pwrite (Depends-on): Add 'write'.
19130
19131 2011-04-13  Bruno Haible  <bruno@clisp.org>
19132
19133         Support non-blocking pipe I/O in write() on native Windows.
19134         * lib/unistd.in.h (write): Enable replacement also if
19135         GNULIB_UNISTD_H_NONBLOCKING is 1.
19136         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19137         (rpl_write): When failing to write on a non-blocking pipe, change
19138         errno from ENOSPC to EAGAIN.
19139         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19140         putchar, puts, vfprintf, vprintf): Enable replacement also if
19141         GNULIB_STDIO_H_NONBLOCKING is 1.
19142         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19143         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19144         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19145         CALL_WITH_SIGPIPE_EMULATION.
19146         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19147         * m4/nonblocking.m4: New file.
19148         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19149         for non-blocking I/O support.
19150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19151         GNULIB_UNISTD_H_NONBLOCKING.
19152         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19153         required for non-blocking I/O support.
19154         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19155         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19156         lib/stdio-write.c, m4/asm-underscore.m4.
19157         (Depends-on): Add stdio, unistd.
19158         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19159         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19160         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19161         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19162         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19163         problem with non-blocking pipes.
19164         * doc/posix-functions/fputc.texi: Likewise.
19165         * doc/posix-functions/fputs.texi: Likewise.
19166         * doc/posix-functions/fwrite.texi: Likewise.
19167         * doc/posix-functions/printf.texi: Likewise.
19168         * doc/posix-functions/putc.texi: Likewise.
19169         * doc/posix-functions/putchar.texi: Likewise.
19170         * doc/posix-functions/puts.texi: Likewise.
19171         * doc/posix-functions/vfprintf.texi: Likewise.
19172         * doc/posix-functions/vprintf.texi: Likewise.
19173         * doc/posix-functions/write.texi: Likewise.
19174
19175 2011-04-10  Jim Meyering  <meyering@redhat.com>
19176
19177         maint.mk: prohibit doubled words
19178         Detect them also when they're separated by a newline.
19179         There are 3 ways to customize it:
19180           - disable the test on a per file basis, as usual with rules using
19181             $(VC_LIST_EXCEPT)
19182           - replace the default doubled-word-selecting regexp (affects all files)
19183           - ignore a particular file-vs-doubled-word match
19184         I nearly used that last one to ignore the "is is" match in
19185         coreutils' NEWS file, since the text was "ls -is is ..."
19186         To do that, I would have added this line to cfg.mk:
19187           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19188         but it would have ignored any "is is" match in NEWS.
19189         Low probability, but still...
19190         Instead, I changed the text, slightly:
19191           -  ls -is is now consistent with ls -lis in ignoring values returned
19192           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19193         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19194         (prohibit_doubled_word_): Define.
19195         (sc_prohibit_doubled_word): New rule.
19196         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19197
19198 2011-04-10  Jim Meyering  <meyering@redhat.com>
19199
19200         maint: fix doubled-word typo in comment
19201         * m4/gethostname.m4: s/is is/it is/
19202         * m4/getdomainname.m4: Likewise.
19203
19204 2011-04-10  Jim Meyering  <meyering@redhat.com>
19205
19206         maint: remove doubled word: s/it it/it/
19207         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19208
19209 2011-04-10  Jim Meyering  <meyering@redhat.com>
19210
19211         maint.mk: remove useless semicolon and backslash
19212         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19213         semicolon and backslash.
19214
19215 2011-04-10  Bruno Haible  <bruno@clisp.org>
19216
19217         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19218         * modules/stdint-tests (Depends-on): Add wchar.
19219
19220 2011-04-10  Jim Meyering  <meyering@redhat.com>
19221
19222         maint: remove doubled words in comments, e.g., s/a a/a/
19223         * lib/strptime.c (day_of_the_week): s/the the/the/
19224         * tests/test-chown.h (test_chown): s/a a/a/
19225
19226         test-chown.h: correct a cast
19227         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19228         when the destination is a stat.st_gid.
19229
19230 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19231
19232         getaddrinfo: Fix test for sa_len member.
19233         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19234         include <sys/types.h> before <sys/socket.h>.
19235
19236 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19237
19238         maint: change "can not" to "cannot"
19239         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19240         boundaries.
19241
19242 2011-04-09  Jim Meyering  <meyering@redhat.com>
19243
19244         maint: change "a a" to "a"
19245         * tests/test-lchown.h (test_lchown): s/a a/a/
19246
19247         maint.mk: prohibit \<the the\>
19248         * top/maint.mk (sc_prohibit_the_the): New rule.
19249
19250         maint: fix "the the" in comment
19251         * lib/count-one-bits.h: s/the the/the/
19252
19253         maint: change "can not" to "cannot"
19254         But do not change the occurrences in maintain.texi or in
19255         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19256         * doc/gnulib-tool.texi: s/can not/cannot/
19257         * doc/posix-functions/accept.texi (accept): Likewise.
19258         * doc/posix-functions/socket.texi (socket): Likewise.
19259         * lib/mbrtowc.c: Likewise.
19260
19261         maint.mk: prohibit use of "can not"
19262         * top/maint.mk (sc_prohibit_can_not): New rule.
19263         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19264
19265 2011-04-09  Bruno Haible  <bruno@clisp.org>
19266
19267         careadlinkat: Guard against misuse of careadlinkatcwd.
19268         * lib/careadlinkat.c: Include <stdlib.h>.
19269         (careadlinkatcwd): Check that the fd argument is as expected.
19270
19271 2011-04-09  Bruno Haible  <bruno@clisp.org>
19272
19273         careadlinkat: Use common coding style.
19274         * lib/careadlinkat.c: Move gnulib includes after system includes.
19275
19276 2011-04-09  Bruno Haible  <bruno@clisp.org>
19277
19278         careadlinkat: Clarify specification.
19279         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19280         (careadlinkatcwd): Add comment.
19281         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19282
19283 2011-04-09  Bruno Haible  <bruno@clisp.org>
19284
19285         areadlinkat: Avoid link error on many platforms.
19286         * modules/areadlinkat (Depends-on): Add areadlink.
19287
19288 2011-04-09  Bruno Haible  <bruno@clisp.org>
19289
19290         allocator, careadlinkat: Fix double-inclusion guard.
19291         * lib/allocator.h: Fix double-inclusion guard.
19292         * lib/careadlinkat.h: Likewise.
19293
19294 2011-04-09  Bruno Haible  <bruno@clisp.org>
19295
19296         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19297         * lib/relocwrapper.c: Update dependencies hierarchy.
19298         * build-aux/install-reloc: Update list of files to be compiled.
19299         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19300         lib/allocator.[hc].
19301
19302 2011-04-08  Eric Blake  <eblake@redhat.com>
19303
19304         strftime: silence gnulib-tool warning
19305         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19306
19307 2011-04-08  Bruno Haible  <bruno@clisp.org>
19308
19309         verify: Fix syntax error with GCC 4.6 in C++ mode.
19310         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19311         (HAVE_STATIC_ASSERT): New macro.
19312         (verify_true, verify): Use 'static_assert' if it is supported and
19313         '_Static_assert' is not supported.
19314
19315 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19316
19317         allocator: New module.
19318         * modules/allocator, lib/allocator.c: New files.
19319         * lib/allocator.h (stdlib_allocator): New decl.
19320         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19321         Remove.  Do not include <stdlib.h>.
19322         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19323         * modules/careadlinkat (Files): Remove lib/allocator.h.
19324         (Depends-on): Add allocator.
19325
19326         stdlib: let modules use system malloc, realloc
19327         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19328         if !_GL_USE_STDLIB_ALLOC.
19329         (malloc, realloc): Limit this change to a smaller scope.
19330
19331         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19332         (malloc, realloc): Don't #undef; no longer needed.
19333         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19334         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19335         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19336         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19337         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19338         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19339         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19340         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19341
19342         careadlinkat: rename members to avoid problem
19343         * lib/allocator.h (struct allocator): Rename members from
19344         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19345         and realloc are #define'd.  Reported by Eric Blake in
19346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19347         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19348
19349 2011-04-08  Eric Blake  <eblake@redhat.com>
19350
19351         nonblocking: reduce dependency
19352         * tests/test-nonblocking.c: Only test sockets when in use.
19353         * modules/nonblocking-tests (Depends-on): Drop socket.
19354         (Makefile.am): Link even if sockets are not present.
19355         * modules/pipe2-tests (Makefile.am): Likewise.
19356         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19357
19358         pipe2: fix O_NONBLOCK support on mingw
19359         * modules/pipe2 (Depends-on): Add nonblocking.
19360         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19361         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19362         * tests/test-nonblocking.c (main): Likewise.
19363         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19364
19365         fcntl-h: fix O_ACCMODE on cygwin
19366         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19367         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19368
19369         pipe-filter: drop O_NONBLOCK workarounds
19370         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19371         * modules/pipe-filter-ii (Depends-on): Likewise.
19372         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19373
19374         nonblocking: provide O_NONBLOCK for mingw
19375         * modules/nonblocking (Depends-on): Add open.
19376         (configure.ac): Set new witness macro.
19377         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19378         * modules/fcntl-h (Makefile.am): Substitute it.
19379         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19380         nonblocking module is in use.
19381         * lib/nonblocking.c: Adjust portability test.
19382         * lib/open.c (open): Don't let native open see gnulib flag.
19383         * tests/test-fcntl-h.c (main): Enhance test.
19384         * tests/test-open.h (test_open): Likewise.
19385         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19386
19387         careadlinkat: fix compilation error on mingw
19388         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19389         within struct allocator.
19390
19391 2011-04-06  Eric Blake  <eblake@redhat.com>
19392
19393         binary-io: relicense under LGPLv2+
19394         * modules/binary-io (License): Relax to LGPLv2+.
19395         Requested for libvirt, and required by pipe2.
19396
19397 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19398
19399         verify: use _Static_assert if available
19400         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19401         (verify_true, verify): Use it if available.  This generates better
19402         diagnostics with GCC 4.6.0 and later.
19403
19404 2011-04-05  Bruno Haible  <bruno@clisp.org>
19405
19406         Remove leftover generated .h files after config.status changed.
19407
19408         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19409         GL_GENERATE_ALLOCA_H.
19410         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19411         GL_GENERATE_ALLOCA_H evaluates to false.
19412
19413         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19414         GL_GENERATE_ARGZ_H.
19415         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19416         evaluates to false.
19417
19418         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19419         GL_GENERATE_BYTESWAP_H.
19420         * modules/byteswap (Makefile.am): Remove byteswap.h if
19421         GL_GENERATE_BYTESWAP_H evaluates to false.
19422
19423         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19424         GL_GENERATE_ERRNO_H.
19425         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19426         evaluates to false.
19427
19428         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19429         GL_GENERATE_FLOAT_H.
19430         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19431         evaluates to false.
19432
19433         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19434         GL_GENERATE_FNMATCH_H.
19435         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19436         GL_GENERATE_FNMATCH_H evaluates to false.
19437
19438         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19439         GL_GENERATE_GLOB_H.
19440         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19441         evaluates to false.
19442
19443         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19444         automake conditional GL_GENERATE_ICONV_H.
19445         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19446         evaluates to false.
19447
19448         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19449         GL_GENERATE_NETINET_IN_H.
19450         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19451         GL_GENERATE_NETINET_IN_H evaluates to false.
19452
19453         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19454         conditional GL_GENERATE_PTHREAD_H.
19455         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19456         * modules/pthread (Makefile.am): Remove pthread.h if
19457         GL_GENERATE_PTHREAD_H evaluates to false.
19458
19459         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19460         GL_GENERATE_SCHED_H.
19461         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19462         evaluates to false.
19463
19464         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19465         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19466         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19467         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19468
19469         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19470         GL_GENERATE_STDARG_H.
19471         * modules/stdarg (Makefile.am): Remove stdarg.h if
19472         GL_GENERATE_STDARG_H evaluates to false.
19473
19474         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19475         GL_GENERATE_STDBOOL_H.
19476         * modules/stdbool (Makefile.am): Remove stdbool.h if
19477         GL_GENERATE_STDBOOL_H evaluates to false.
19478
19479         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19480         conditional GL_GENERATE_STDDEF_H.
19481         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19482         * modules/stddef (Makefile.am): Remove stddef.h if
19483         GL_GENERATE_STDDEF_H evaluates to false.
19484
19485         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19486         GL_GENERATE_STDINT_H.
19487         * modules/stdint (Makefile.am): Remove stdint.h if
19488         GL_GENERATE_STDINT_H evaluates to false.
19489
19490         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19491         GL_GENERATE_SYSEXITS_H.
19492         * modules/sysexits (Makefile.am): Remove sysexits.h if
19493         GL_GENERATE_SYSEXITS_H evaluates to false.
19494
19495         Reported by Karl Berry and Ralf Wildenhues.
19496
19497 2011-04-05  Bruno Haible  <bruno@clisp.org>
19498
19499         Ensure to rebuild generated .h files when config.status has changed.
19500         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19501         config.status.
19502         * modules/ctype (Makefile.am): Likewise.
19503         * modules/dirent (Makefile.am): Likewise.
19504         * modules/errno (Makefile.am): Likewise.
19505         * modules/fcntl-h (Makefile.am): Likewise.
19506         * modules/float (Makefile.am): Likewise.
19507         * modules/getopt-posix (Makefile.am): Likewise.
19508         * modules/glob (Makefile.am): Likewise.
19509         * modules/iconv-h (Makefile.am): Likewise.
19510         * modules/inttypes (Makefile.am): Likewise.
19511         * modules/langinfo (Makefile.am): Likewise.
19512         * modules/locale (Makefile.am): Likewise.
19513         * modules/math (Makefile.am): Likewise.
19514         * modules/netdb (Makefile.am): Likewise.
19515         * modules/netinet_in (Makefile.am): Likewise.
19516         * modules/poll-h (Makefile.am): Likewise.
19517         * modules/pthread (Makefile.am): Likewise.
19518         * modules/pty (Makefile.am): Likewise.
19519         * modules/sched (Makefile.am): Likewise.
19520         * modules/search (Makefile.am): Likewise.
19521         * modules/selinux-h (Makefile.am): Likewise.
19522         * modules/signal (Makefile.am): Likewise.
19523         * modules/spawn (Makefile.am): Likewise.
19524         * modules/stdarg (Makefile.am): Likewise.
19525         * modules/stdbool (Makefile.am): Likewise.
19526         * modules/stddef (Makefile.am): Likewise.
19527         * modules/stdint (Makefile.am): Likewise.
19528         * modules/stdio (Makefile.am): Likewise.
19529         * modules/stdlib (Makefile.am): Likewise.
19530         * modules/string (Makefile.am): Likewise.
19531         * modules/strings (Makefile.am): Likewise.
19532         * modules/sys_file (Makefile.am): Likewise.
19533         * modules/sys_ioctl (Makefile.am): Likewise.
19534         * modules/sys_select (Makefile.am): Likewise.
19535         * modules/sys_socket (Makefile.am): Likewise.
19536         * modules/sys_stat (Makefile.am): Likewise.
19537         * modules/sys_time (Makefile.am): Likewise.
19538         * modules/sys_times (Makefile.am): Likewise.
19539         * modules/sys_utsname (Makefile.am): Likewise.
19540         * modules/sys_wait (Makefile.am): Likewise.
19541         * modules/sysexits (Makefile.am): Likewise.
19542         * modules/termios (Makefile.am): Likewise.
19543         * modules/time (Makefile.am): Likewise.
19544         * modules/unistd (Makefile.am): Likewise.
19545         * modules/wchar (Makefile.am): Likewise.
19546         * modules/wctype-h (Makefile.am): Likewise.
19547         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19548
19549 2011-04-05  Bruno Haible  <bruno@clisp.org>
19550
19551         pipe2: Relicense under LGPLv2+.
19552         * modules/pipe2 (License): Change to LGPLv2+.
19553         Requested by Eric Blake, for libvirt.
19554
19555 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19556
19557         bootstrap: compute gnulib_extra_files after updating build_aux
19558         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19559         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19560
19561 2011-04-05  Eric Blake  <eblake@redhat.com>
19562
19563         bootstrap: preserve git whitelist item sorting
19564         * build-aux/bootstrap (sort_patterns): New function.
19565         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19566
19567 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19568
19569         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19570         sc_space_tab check.
19571
19572 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19573
19574         areadlink, areadlinkat: rewrite in terms of careadlinkat
19575         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19576         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19577         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19578         (malloc, realloc): Remove #undefs.
19579         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19580         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19581         readlink, ssize_t, stdint, unistd.
19582         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19583         areadlink, stdint.
19584
19585         careadlinkat: new module
19586         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19587         * modules/careadlinkat: New files, written by me with
19588         a review and feedback from Ben Pfaff in
19589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19590
19591 2011-04-01  Bruno Haible  <bruno@clisp.org>
19592
19593         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19594         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19595         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19596         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19597         Reported by Bruce Korb <bruce.korb@gmail.com>.
19598
19599 2011-04-01  Bruno Haible  <bruno@clisp.org>
19600
19601         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19602         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19603         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19604         * modules/wcpcpy (Depends-on): Add extensions.
19605         * modules/wcpncpy (Depends-on): Likewise.
19606         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19607         systems.
19608         * doc/posix-functions/wcpncpy.texi: Likewise.
19609         * doc/posix-functions/wcwidth.texi: Likewise.
19610
19611 2011-03-31  Eric Blake  <eblake@redhat.com>
19612
19613         nonblocking: fix mingw test failures
19614         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19615         non-blocking flag on regular file.
19616         (get_nonblocking_flag): Set errno on invalid fd.
19617         * tests/test-nonblocking.c (main): Avoid test failure on
19618         directories if fchdir is not active.
19619         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19620
19621 2011-03-31  Bruno Haible  <bruno@clisp.org>
19622
19623         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19624         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19625         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19626         Reported by Simon Josefsson <simon@josefsson.org>.
19627
19628 2011-03-31  Bruno Haible  <bruno@clisp.org>
19629         and Eric Blake  <eblake@redhat.com>
19630
19631         nonblocking: new module
19632         * modules/nonblocking: New module.
19633         * modules/nonblocking-tests: Likewise.
19634         * lib/nonblocking.h: New file.
19635         * lib/nonblocking.c: Likewise.
19636         * tests/test-nonblocking.c: New test.
19637         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19638
19639 2011-03-30  Bruno Haible  <bruno@clisp.org>
19640
19641         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19642         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19643         instead of 'printf' format for GCC >= 4.4.
19644         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19645         (fprintf, printf, vfprintf, vprintf): Declare with
19646         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19647         the system's vfprintf() function.
19648         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19649
19650 2011-03-30  Eric Blake  <eblake@redhat.com>
19651
19652         passfd: fix scoping bug
19653         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19654         before sendmsg/recvmsg.
19655
19656         passfd: standardize coding conventions
19657         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19658         can be learned at compile time.
19659         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19660         ifdefs.
19661         (sendfd, recvfd): Follow gnulib code conventions.
19662
19663         passfd: fix incorrect sendmsg arguments
19664         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
19665         incorrect msg_controllen value.
19666         * modules/passfd-tests (Depends-on): Check for alarm.
19667         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
19668         Reported by Bastien ROUCARIES.
19669
19670 2011-03-30  Bruno Haible  <bruno@clisp.org>
19671
19672         c-strcasestr: Relicense under LGPLv2+.
19673         * modules/c-strcasestr (License): Change to LGPLv2+.
19674         Requested by Eric Blake, for libvirt.
19675
19676 2011-03-30  Simon Josefsson  <simon@josefsson.org>
19677
19678         * users.txt: Add libidn2.  Fix libtasn1 link.
19679
19680 2011-03-30  Jim Meyering  <meyering@redhat.com>
19681
19682         tests: readlink* ("",... fails with EINVAL on newer kernels
19683         readlink and readlinkat have typically failed with ENOENT for
19684         the invalid, empty file name,  "".  However, with the advent
19685         of linux-2.6.39, they fail with EINVAL.
19686         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19687         when operating on the empty file name.
19688         * tests/test-readlink.h (test_readlink): Likewise.
19689
19690 2011-03-29  Bruno Haible  <bruno@clisp.org>
19691
19692         Relicense some modules under LGPLv2+, for libidn2.
19693         * modules/array-mergesort (License): Change to LGPLv2+.
19694         * modules/c-strcaseeq (License): Likewise.
19695         * modules/striconveh (License): Likewise.
19696         * modules/striconveha (License): Likewise.
19697         * modules/uniconv/base (License): Likewise.
19698         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19699         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19700         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19701         * modules/unictype/base (License): Likewise.
19702         * modules/unictype/bidiclass-of (License): Likewise.
19703         * modules/unictype/category-M (License): Likewise.
19704         * modules/unictype/category-none (License): Likewise.
19705         * modules/unictype/category-of (License): Likewise.
19706         * modules/unictype/category-test (License): Likewise.
19707         * modules/unictype/category-test-withtable (License): Likewise.
19708         * modules/unictype/combining-class (License): Likewise.
19709         * modules/unictype/joiningtype-of (License): Likewise.
19710         * modules/unictype/scripts (License): Likewise.
19711         * modules/uninorm/base (License): Likewise.
19712         * modules/uninorm/canonical-decomposition (License): Likewise.
19713         * modules/uninorm/composition (License): Likewise.
19714         * modules/uninorm/decompose-internal (License): Likewise.
19715         * modules/uninorm/decomposition-table (License): Likewise.
19716         * modules/uninorm/nfc (License): Likewise.
19717         * modules/uninorm/nfd (License): Likewise.
19718         * modules/uninorm/u32-normalize (License): Likewise.
19719         * modules/unistr/base (License): Likewise.
19720         * modules/unistr/u32-cpy (License): Likewise.
19721         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19722         * modules/unistr/u32-to-u8 (License): Likewise.
19723         * modules/unistr/u32-uctomb (License): Likewise.
19724         * modules/unistr/u8-check (License): Likewise.
19725         * modules/unistr/u8-mblen (License): Likewise.
19726         * modules/unistr/u8-mbtouc (License): Likewise.
19727         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19728         * modules/unistr/u8-mbtoucr (License): Likewise.
19729         * modules/unistr/u8-prev (License): Likewise.
19730         * modules/unistr/u8-strlen (License): Likewise.
19731         * modules/unistr/u8-to-u32 (License): Likewise.
19732         * modules/unistr/u8-uctomb (License): Likewise.
19733         * modules/unitypes (License): Likewise.
19734         Requested by Simon Josefsson.
19735
19736 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19737
19738         lib-symbol-visibility: Add a notice.
19739         * modules/lib-symbol-visibility (Notice): New field.
19740
19741 2011-03-29  Bruno Haible  <bruno@clisp.org>
19742
19743         getaddrinfo: Doc fix.
19744         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19745         section "fixed in Gnulib".
19746
19747 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19748
19749         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19750         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19751
19752 2011-03-26  Bruno Haible  <bruno@clisp.org>
19753
19754         unictype/property-byname: Reduce the number of load-time relocations.
19755         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19756         (UC_PROPERTY_INDEX_*): New enumeration values.
19757         (uc_property_byname): Convert an index from the lookup table to an
19758         uc_property_t.
19759         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19760         values.
19761
19762 2011-03-26  Bruno Haible  <bruno@clisp.org>
19763
19764         unictype/property-byname: Allow omitted word separators and aliases.
19765         * lib/unictype/pr_byname.gperf: Add property names without word
19766         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19767         for 'space'.
19768
19769 2011-03-26  Bruno Haible  <bruno@clisp.org>
19770
19771         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19772         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19773         also hyphens to space.
19774         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19775         without spaces.
19776         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19777
19778 2011-03-26  Bruno Haible  <bruno@clisp.org>
19779
19780         unictype/joiningtype-byname: Recognize long names as well.
19781         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19782         a long name.
19783         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19784         unictype/joiningtype_byname.h.
19785         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19786         * lib/unictype/joiningtype_byname.gperf: New file.
19787         * modules/unictype/joiningtype-byname (Files): Add
19788         lib/unictype/joiningtype_byname.gperf.
19789         (Depends-on): Add gperf.
19790         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19791         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19792         long names.
19793
19794         Tests for module 'unictype/joiningtype-longname'.
19795         * modules/unictype/joiningtype-longname-tests: New file.
19796         * tests/unictype/test-joiningtype_longname.c: New file.
19797
19798         New module 'unictype/joiningtype-longname'.
19799         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19800         * lib/unictype/joiningtype_longname.c: New file.
19801         * modules/unictype/joiningtype-longname: New file.
19802         * modules/unictype/joiningtype-all (Depends-on): Add
19803         unictype/joiningtype-longname.
19804
19805 2011-03-26  Bruno Haible  <bruno@clisp.org>
19806
19807         unictype/bidiclass-byname: Recognize long names as well.
19808         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19809         name.
19810         * lib/unictype/bidi_byname.c: Include <string.h>,
19811         unictype/bidi_byname.h.
19812         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19813         * lib/unictype/bidi_byname.gperf: New file.
19814         * modules/unictype/bidiclass-byname (Files): Add
19815         lib/unictype/bidi_byname.gperf.
19816         (Depends-on): Add gperf.
19817         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19818         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19819         long names.
19820
19821         Tests for module 'unictype/bidiclass-longname'.
19822         * modules/unictype/bidiclass-longname-tests: New file.
19823         * tests/unictype/test-bidi_longname.c: New file.
19824
19825         New module 'unictype/bidiclass-longname'.
19826         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19827         * lib/unictype/bidi_longname.c: New file.
19828         * modules/unictype/bidiclass-longname: New file.
19829         * modules/unictype/bidiclass-all (Depends-on): Add
19830         unictype/bidiclass-longname.
19831
19832 2011-03-26  Bruno Haible  <bruno@clisp.org>
19833
19834         unictype/bidi*: Rename modules.
19835         * modules/unictype/bidiclass-all: Renamed from
19836         modules/unictype/bidicategory-all.
19837         * modules/unictype/bidiclass-name: Renamed from
19838         modules/unictype/bidiclass-name.
19839         (Description): Update.
19840         * modules/unictype/bidiclass-name-tests: Renamed from
19841         modules/unictype/bidicategory-name-tests.
19842         * modules/unictype/bidiclass-byname: Renamed from
19843         modules/unictype/bidicategory-byname.
19844         (Description): Update.
19845         * modules/unictype/bidiclass-byname-tests: Renamed from
19846         modules/unictype/bidicategory-byname-tests.
19847         * modules/unictype/bidiclass-of: Renamed from
19848         modules/unictype/bidicategory-of.
19849         (Description): Update.
19850         * modules/unictype/bidiclass-of-tests: Renamed from
19851         modules/unictype/bidicategory-of-tests.
19852         * modules/unictype/bidiclass-test: Renamed from
19853         modules/unictype/bidicategory-test.
19854         (Description): Update.
19855         * modules/unictype/bidiclass-test-tests: Renamed from
19856         modules/unictype/bidicategory-test-tests.
19857         * modules/unictype/bidicategory-all: New file, a simple redirection.
19858         * modules/unictype/bidicategory-name: Likewise.
19859         * modules/unictype/bidicategory-byname: Likewise.
19860         * modules/unictype/bidicategory-of: Likewise.
19861         * modules/unictype/bidicategory-test: Likewise.
19862         * modules/unictype/property-bidi-* (Dependencies): Update.
19863         * lib/unictype/bidi_*.c: Update comment.
19864
19865 2011-03-26  Bruno Haible  <bruno@clisp.org>
19866
19867         unictype/bidi*: Rename functions, part 2.
19868         * modules/unictype/bidicategory-name (configure.ac): Update required
19869         libunistring version.
19870         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19871
19872 2011-03-25  Bruno Haible  <bruno@clisp.org>
19873
19874         New module 'unictype/combining-class-all'.
19875         * modules/unictype/combining-class-all: New file.
19876
19877         Tests for module 'unictype/combining-class-byname'.
19878         * modules/unictype/combining-class-byname-tests: New file.
19879         * tests/unictype/test-combiningclass_byname.c: New file.
19880
19881         New module 'unictype/combining-class-byname'.
19882         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19883         * lib/unictype/combiningclass_byname.c: New file.
19884         * lib/unictype/combiningclass_byname.gperf: New file.
19885         * modules/unictype/combining-class-byname: New file.
19886
19887         Tests for module 'unictype/combining-class-longname'.
19888         * modules/unictype/combining-class-longname-tests: New file.
19889         * tests/unictype/test-combiningclass_longname.c: New file.
19890
19891         New module 'unictype/combining-class-longname'.
19892         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19893         * lib/unictype/combiningclass_longname.c: New file.
19894         * modules/unictype/combining-class-longname: New file.
19895
19896         Tests for module 'unictype/combining-class-name'.
19897         * modules/unictype/combining-class-name-tests: New file.
19898         * tests/unictype/test-combiningclass_name.c: New file.
19899
19900         New module 'unictype/combining-class-name'.
19901         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19902         * lib/unictype/combiningclass_name.c: New file.
19903         * modules/unictype/combining-class-name: New file.
19904
19905 2011-03-25  Bruno Haible  <bruno@clisp.org>
19906
19907         unictype/combining-class: Rename source files.
19908         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19909         of unictype/combining.h.
19910         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19911         Update.
19912         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19913         * modules/unictype/combining-class (Description): Fix.
19914         (Files, Makefile.am): Update.
19915         * tests/unictype/test-combiningclass.c: Renamed from
19916         tests/unictype/test-combining.c.
19917         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19918
19919 2011-03-25  Bruno Haible  <bruno@clisp.org>
19920
19921         unictype: Update list of canonical combining classes.
19922         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19923
19924 2011-03-25  Bruno Haible  <bruno@clisp.org>
19925
19926         unictype/category-byname: Recognize long names as well.
19927         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19928         a long name.
19929         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19930         unictype/categ_byname.h.
19931         (UC_CATEGORY_INDEX_*): New enumeration values.
19932         (uc_general_category_byname): Use uc_general_category_lookup and
19933         convert from index to value.
19934         * lib/unictype/categ_byname.gperf: New file.
19935         * modules/unictype/category-byname (Files): Add
19936         lib/unictype/categ_byname.gperf.
19937         (Depends-on): Add gperf.
19938         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19939         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19940         long names.
19941
19942         Tests for module 'unictype/category-longname'.
19943         * modules/unictype/category-longname-tests: New file.
19944         * tests/unictype/test-categ_longname.c: New file.
19945
19946         New module 'unictype/category-longname'.
19947         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19948         * lib/unictype/categ_longname.c: New file.
19949         * modules/unictype/category-longname: New file.
19950         * modules/unictype/category-all (Depends-on): Add it.
19951
19952 2011-03-25  Bruno Haible  <bruno@clisp.org>
19953
19954         Tests for module 'unictype/category-LC'.
19955         * modules/unictype/category-LC-tests: New file.
19956         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19957
19958         New module 'unictype/category-LC'.
19959         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19960         (UC_CATEGORY_LC): New declaration.
19961         (UC_CASED_LETTER): New macro.
19962         * lib/gen-uni-tables.c (is_category_LC): New function.
19963         (output_categories): Also handle category LC.
19964         (UC_CATEGORY_MASK_LC): New enumeration value.
19965         (general_category_byname): Also handle category LC.
19966         * lib/unictype/categ_LC.c: New file.
19967         * lib/unictype/categ_LC.h: New file, automatically generated.
19968         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19969         category LC.
19970         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19971         * modules/unictype/category-LC: New file.
19972         * modules/unictype/category-byname (Depends-on): Add
19973         unictype/category-LC.
19974         * modules/unictype/category-all (Depends-on): Likewise.
19975
19976 2011-03-25  Eric Blake  <eblake@redhat.com>
19977
19978         xmalloc: revert yesterday's regression
19979         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19980         realloc's underlying behavior (allowing allocation of zero-size
19981         objects, especially if malloc-gnu is also in use).
19982
19983 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19984
19985         maint.mk: add missing version to VC-tag
19986         * top/maint.mk: git tag was missing actual tag name; add it.
19987
19988         valgrind: do leak checking, and exit with code 1 on error (not 0)
19989         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19990         to VALGRIND.
19991
19992 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
19993
19994         posix-modules: say what it does.
19995         * posix-modules: Add a line to the --help output saying what it does.
19996
19997 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19998
19999         xmalloc: Do not leak if underlying realloc is C99 compatible.
20000         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20001         This avoids a leak on C99-based systems.  See
20002         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20003
20004 2011-03-24  Eric Blake  <eblake@redhat.com>
20005
20006         realloc: document portability problem
20007         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20008         passing 0 size to realloc.
20009
20010 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20011
20012         doc: update users.txt
20013         * users.txt: Add cvsps, tmpwatch
20014
20015 2011-03-23  Matt Rice  <ratmice@gmail.com>
20016
20017         doc: update users.txt
20018         * users.txt: Add gdb.
20019
20020 2011-03-23  Jim Meyering  <meyering@redhat.com>
20021
20022         doc: update users.txt
20023         Looking through matches up to the following URL (there are still
20024         several more pages), I found several projects that use gnulib:
20025         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20026         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20027         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20028
20029 2011-03-22  Bruno Haible  <bruno@clisp.org>
20030
20031         unictype/bidi*: Rename functions.
20032         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20033         uc_bidi_class, uc_is_bidi_class): New declarations.
20034         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20035         uc_bidi_category_byname.
20036         (uc_bidi_category_byname): New function.
20037         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20038         u_bidi_category_name.
20039         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20040         (uc_bidi_category_name): New function.
20041         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20042         uc_bidi_category.
20043         (uc_bidi_category): New function.
20044         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20045         uc_is_bidi_category. Invoke uc_bidi_class.
20046         (uc_is_bidi_category): New function.
20047         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20048         instead of uc_bidi_category_byname.
20049         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20050         instead of uc_bidi_category_name.
20051         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20052         uc_bidi_category.
20053         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20054         instead of uc_is_bidi_category.
20055
20056 2011-03-21  Bruno Haible  <bruno@clisp.org>
20057
20058         New module 'unictype/joininggroup-all'.
20059         * modules/unictype/joininggroup-all: New file.
20060
20061         Tests for module 'unictype/joininggroup-of'.
20062         * modules/unictype/joininggroup-of-tests: New file.
20063         * tests/unictype/test-joininggroup_of.c: New file.
20064         * tests/unictype/test-joininggroup_of.h: New file, automatically
20065         generated by gen-uni-tables.
20066
20067         New module 'unictype/joininggroup-of'.
20068         * modules/unictype/joininggroup-of: New file.
20069         * lib/unictype/joininggroup_of.c: New file.
20070         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20071         gen-uni-tables.
20072
20073         Tests for module 'unictype/joininggroup-byname'.
20074         * modules/unictype/joininggroup-byname-tests: New file.
20075         * tests/unictype/test-joininggroup_byname.c: New file.
20076
20077         New module 'unictype/joininggroup-byname'.
20078         * modules/unictype/joininggroup-byname: New file.
20079         * lib/unictype/joininggroup_byname.c: New file.
20080         * lib/unictype/joininggroup_byname.gperf: New file.
20081
20082         Tests for module 'unictype/joininggroup-name'.
20083         * modules/unictype/joininggroup-name-tests: New file.
20084         * tests/unictype/test-joininggroup_name.c: New file.
20085
20086         New module 'unictype/joininggroup-name'.
20087         * modules/unictype/joininggroup-name: New file.
20088         * lib/unictype/joininggroup_name.c: New file.
20089         * lib/unictype/joininggroup_name.h: New file.
20090
20091         New module 'unictype/joiningtype-all'.
20092         * modules/unictype/joiningtype-all: New file.
20093
20094         Tests for module 'unictype/joiningtype-of'.
20095         * modules/unictype/joiningtype-of-tests: New file.
20096         * tests/unictype/test-joiningtype_of.c: New file.
20097         * tests/unictype/test-joiningtype_of.h: New file, automatically
20098         generated by gen-uni-tables.
20099
20100         New module 'unictype/joiningtype-of'.
20101         * modules/unictype/joiningtype-of: New file.
20102         * lib/unictype/joiningtype_of.c: New file.
20103         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20104         gen-uni-tables.
20105
20106         Tests for module 'unictype/joiningtype-byname'.
20107         * modules/unictype/joiningtype-byname-tests: New file.
20108         * tests/unictype/test-joiningtype_byname.c: New file.
20109
20110         New module 'unictype/joiningtype-byname'.
20111         * modules/unictype/joiningtype-byname: New file.
20112         * lib/unictype/joiningtype_byname.c: New file.
20113
20114         Tests for module 'unictype/joiningtype-name'.
20115         * modules/unictype/joiningtype-name-tests: New file.
20116         * tests/unictype/test-joiningtype_name.c: New file.
20117
20118         New module 'unictype/joiningtype-name'.
20119         * modules/unictype/joiningtype-name: New file.
20120         * lib/unictype/joiningtype_name.c: New file.
20121
20122         unictype: Add support for Arabic shaping properties.
20123         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20124         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20125         declarations.
20126         (UC_JOINING_GROUP_*): New enumeration values.
20127         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20128         declarations.
20129         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20130         (unicode_joining_type): New variable.
20131         (UC_JOINING_GROUP_*): New enumeration values.
20132         (unicode_joining_group): New variable.
20133         (fill_arabicshaping, joining_type_as_c_identifier,
20134         output_joining_type_test, output_joining_type,
20135         joining_group_as_c_identifier, output_joining_group_test,
20136         output_joining_group): New functions.
20137         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20138         fill_arabicshaping and output_joining_type_test, output_joining_type,
20139         output_joining_group_test, output_joining_group.
20140         Reported by Simon Josefsson.
20141
20142 2011-03-21  Jim Meyering  <meyering@redhat.com>
20143
20144         strftime: fix a bug in yesterday's change
20145         * lib/strftime.c (add): Accommodate width's initial value of -1.
20146         Otherwise, nstrftime would copy uninitialized data into
20147         the result buffer.
20148
20149 2011-03-21  Jim Meyering  <meyering@redhat.com>
20150
20151         tests: add strftime-tests module
20152         * tests/test-strftime.c: New file.
20153         * modules/strftime-tests: New module.
20154
20155 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20156
20157         strftime: don't assume a byte count fits in 'int'
20158         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20159         found this problem by static analysis, using gcc -Wstrict-overflow
20160         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20161         on an integer overflow having undefined behavior, but it turns out
20162         that the argument is a size, which might not fit in 'int' anyway,
20163
20164 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20165
20166         stdio: don't require ignore_value around fwrite
20167
20168         This patch works around libc bug 11959
20169         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20170         Without this patch, applications must often write
20171         ignore_value (fwrite (...)) even though the ignore_value is
20172         not helpful here.  It's common to write many objects, using
20173         fwrite/printf/etc., and then use ferror to detect output error.
20174
20175         I considered making this patch optional, but decided against it,
20176         because libc is obviously being inconsistent here: there is no
20177         reason libc should insist that user code must inspect fwrite
20178         return's value without also insisting that it inspect printf's,
20179         putchar's, etc.  If user code wants to have a strict style where
20180         all these functions' values are checked (so that ferror need not
20181         be checked), we could add support for that style in a new gnulib
20182         module, but in the meantime it's better to be consistent and to
20183         support common usage.
20184
20185         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20186         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20187         that we are compiling in checking mode, and if not C++, and
20188         if not already wrapping fwrite for some other reason.
20189         (fwrite): #define to rpl_fwrite if the latter is defined.
20190
20191 2011-03-20  Bruno Haible  <bruno@clisp.org>
20192
20193         verror: Fix compilation error introduced on 2011-02-13.
20194         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20195         instead of __attribute__.
20196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20197
20198 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20199             Bruno Haible  <bruno@clisp.org>
20200
20201         socklen: do not depend on sys_socket
20202         While trying to modify Emacs to use gnulib's socklen module,
20203         I discovered a circular dependency: socklen depends on sys_socket
20204         and vice versa.  Emacs can use socklen, but it does not need
20205         sys_socket because it has its own substitute for sys/socket.h.
20206         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20207         gl_TYPE_SOCKLEN_T.
20208         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20209         gl_PREREQ_SYS_H_SOCKET.
20210         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20211         gl_PREREQ_SYS_H_SOCKET.
20212         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20213         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20214         * modules/socklen (Depends-on): Do not depend on sys_socket.
20215         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20216
20217 2011-03-20  Jim Meyering  <meyering@redhat.com>
20218
20219         maint.mk: sort file names *after* new transformation
20220         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20221         prefix would have led to an unwarranted failure in GNU parted.
20222         Sort after that transformation.
20223
20224 2011-03-19  Jim Meyering  <meyering@redhat.com>
20225
20226         maint.mk: fix po-file syntax-check rule
20227         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20228         Patch by Bruno Haible.
20229
20230 2011-03-19  Bruno Haible  <bruno@clisp.org>
20231
20232         socklen: Update comment.
20233         * m4/socklen.m4: Update comment about platforms.
20234
20235 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20236             Bruno Haible  <bruno@clisp.org>
20237
20238         inet_ntop, inet_pton: Simplify.
20239         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20240         documented to provide socklen_t and we already depend on sys_socket.
20241         * modules/inet_pton (Depends-on): Likewise.
20242         * lib/arpa_inet.in.h: Adjust comment.
20243
20244 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20245             Bruno Haible  <bruno@clisp.org>
20246
20247         netdb: Simplify.
20248         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20249         documented to provide socklen_t and we already depend on sys_socket.
20250         * lib/netdb.in.h: Adjust comment.
20251
20252 2011-03-19  Bruno Haible  <bruno@clisp.org>
20253
20254         sys_socket, netdb: Document problem with socklen_t.
20255         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20256         platforms.
20257         * doc/posix-headers/netdb.texi: Likewise.
20258
20259 2011-03-18  Eric Blake  <eblake@redhat.com>
20260
20261         maint.mk: let po check work in VPATH build
20262         * top/maint.mk (po_file): Allow cfg.mk override.
20263         (sc_po_check): Allow VPATH use.
20264         Reported by Jiri Denemark.
20265
20266 2011-03-16  Jim Meyering  <meyering@redhat.com>
20267
20268         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20269         Before, you would have had to create one .x-sc_ file per rule in order
20270         to exempt offending files.  Now, you may instead use a Make variable --
20271         usually defined in cfg.mk -- whose name identifies the affected rule.
20272         * top/maint.mk (_sc_excl): Define.
20273         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20274         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20275
20276 2011-03-13  Bruno Haible  <bruno@clisp.org>
20277
20278         ignore-value tests: Avoid warnings.
20279         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20280         empty for gcc < 3.4.
20281
20282 2011-03-13  Bruno Haible  <bruno@clisp.org>
20283
20284         passfd: Fix link error on Solaris.
20285         * modules/passfd (Description): Correct.
20286         (Depends-on): Add socketlib.
20287         (Link): New section.
20288         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20289
20290 2011-03-13  Bruno Haible  <bruno@clisp.org>
20291
20292         passfd: Fix link error on AIX 5.2.
20293         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20294
20295 2011-03-13  Bruno Haible  <bruno@clisp.org>
20296
20297         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20298         * lib/sys_socket.in.h: Include <stddef.h>.
20299         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20300         CMSG_FIRSTHDR. Remove unused variable.
20301
20302 2011-03-13  Bruno Haible  <bruno@clisp.org>
20303
20304         passfd: Fix compilation error on OpenBSD.
20305         * lib/passfd.c: Include <sys/uio.h>.
20306
20307 2011-03-13  Bruno Haible  <bruno@clisp.org>
20308
20309         passfd test: Fix warnings.
20310         * tests/test-passfd.c: Include <sys/wait.h>.
20311         (main): Fix typo.
20312
20313 2011-03-13  Bruno Haible  <bruno@clisp.org>
20314
20315         passfd module, part 4, tweaks.
20316         * tests/test-passfd.c: Reorder includes.
20317         (main): Fix perror and printf calls.
20318
20319 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20320
20321         passfd module, part 4.
20322         * modules/passfd-tests: New file.
20323         * tests/test-passfd.c: New file.
20324
20325 2011-03-13  Jim Meyering  <meyering@redhat.com>
20326
20327         Makefile: rely on GNU make; derive syntax-check rule names
20328         Rather than requiring that each sc_ rule be listed as a dependent
20329         of "check", use features of GNU make to derive the list.
20330         * Makefile (syntax-check-rules): Define.
20331         (check): Depend on the new variable, not the hard-coded list.
20332
20333 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20334             Bruno Haible  <bruno@clisp.org>
20335
20336         passfd module, part 3.
20337         * lib/passfd.h (recvfd): Add a flags argument.
20338         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20339         (recvfd): Add a flags argument.
20340         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20341         exists.
20342         * modules/passfd (Depends-on): Add cloexec.
20343         Suggested by Eric Blake.
20344
20345 2011-03-13  Bruno Haible  <bruno@clisp.org>
20346
20347         passfd module, part 2, tweaks.
20348         * modules/passfd (Files): Reorder.
20349         (Depends-on): Remove errno.
20350         (Include): Remove <sys/socket.h>, <sys/un.h>.
20351         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20352         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20353         specification header. Include <sys/socket.h> always. Don't include
20354         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20355         (sendfd): Clarify that it sets errno when it fails.
20356         (recvfd): Fix specification.
20357
20358 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20359
20360         passfd module, part 2.
20361         * modules/passfd: New file.
20362         * lib/passfd.h: New file.
20363         * lib/passfd.c: New file.
20364
20365 2011-03-12  Bruno Haible  <bruno@clisp.org>
20366
20367         wcswidth, mbswidth: Avoid integer overflow.
20368         * lib/wcswidth.c: Include <limits.h>.
20369         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20370         * lib/mbswidth.c: Include <limits.h>.
20371         (mbsnwidth): Avoid 'int' overflow.
20372         Reported by Jim Meyering.
20373
20374 2011-03-12  Bruno Haible  <bruno@clisp.org>
20375
20376         futimens, utimensat: Avoid endless recursion on Solaris 10.
20377         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20378         Solaris.
20379         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20380         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20381
20382 2011-03-11  Jim Meyering  <meyering@redhat.com>
20383
20384         maint.mk: relax a regexp to accommodate other formatting styles
20385         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20386         between "ngettext" and the following "(".
20387
20388 2011-03-11  Pádraig Brady <P@draigBrady.com>
20389
20390         maint.mk: suppress a false positive warning
20391         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20392         diagnostics are marked with ngettext.
20393
20394 2011-03-10  Eric Blake  <eblake@redhat.com>
20395
20396         wchar: add explicit dependencies, for Tru64
20397         * modules/mbmemcasecoll (Depends-on): Add wchar.
20398         * modules/mbtowc (Depends-on): Likewise.
20399         * modules/vasnprintf (Depends-on): Likewise.
20400         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20401         * modules/wctomb (Depends-on): Likewise.
20402         Reported by Peter O'Gorman.
20403
20404 2011-03-08  Bruno Haible  <bruno@clisp.org>
20405
20406         passfd module, part 1, tweaks.
20407         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20408         Improve indentation. Improve AC_MSG_CHECKING messages.
20409         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20410         gl_SOCKET_FAMILIES.
20411
20412 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20413
20414         passfd module, part 1.
20415         * m4/afunix.m4: New file.
20416         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20417         sockets.
20418
20419 2011-03-08  Bruno Haible  <bruno@clisp.org>
20420
20421         regex-quote: New API.
20422         * lib/regex-quote.h: Include <stdbool.h>.
20423         (struct regex_quote_spec): New type.
20424         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20425         New declarations.
20426         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20427         'const struct regex_quote_spec *' argument.
20428         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20429         (pcre_special): New constant.
20430         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20431         New functions.
20432         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20433         'const struct regex_quote_spec *' argument.
20434         * modules/regex-quote (Depends-on): Add stdbool.
20435         * tests/test-regex-quote.c (check): Update for new API. Add test for
20436         anchored results.
20437         * NEWS: Mention the API change.
20438         Reported by Reuben Thomas and Eric Blake.
20439
20440 2011-03-06  Bruno Haible  <bruno@clisp.org>
20441
20442         regex-quote: Fix creation of POSIX extended regular expressions.
20443         * lib/regex-quote.c (ere_special): Add grouping and alternation
20444         operators.
20445
20446 2011-03-05  Bruno Haible  <bruno@clisp.org>
20447
20448         doc: Improve doc regarding autopoint vs. gnulib.
20449         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20450         disable autopoint while running autoreconf.
20451         Suggested by Ralf Wildenhues.
20452
20453 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20454
20455         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20456         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20457
20458 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20459
20460         parse-duration: remove xalloc.h dependency
20461         * lib/parse-duration.c (parse_period): handle NULL return from
20462         strdup instead of calling xstrdup().
20463         * modules/parse-duration: remove "xalloc" dependency
20464
20465 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20466
20467         bootstrap: honor m4_base when running aclocal
20468         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20469
20470 2011-03-02  Jim Meyering  <meyering@redhat.com>
20471
20472         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20473         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20474         on request from Matt Booth.
20475
20476 2011-03-01  Eric Blake  <eblake@redhat.com>
20477
20478         test-link: work on Hurd
20479         * tests/test-link.h (test_link): Hurd rejects linking directories
20480         with EISDIR instead of the POSIX-mandated EPERM.
20481
20482 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         stdio: simplify by moving files to printf-posix, sigpipe
20485         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20486         since this symbol is needed only if printf is replaced.
20487         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20488         Require gl_ASM_SYMBOL_PREFIX.
20489         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20490         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20491         (Depends-on): Add 'raise'.
20492         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20493         * modules/stdio (Files): Remove lib/stdio-write.c,
20494         m4/asm-underscore.m4.
20495         (Depends-on): Remove 'raise'.
20496
20497         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20498         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20499         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20500         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20501
20502 2011-02-28  Bruno Haible  <bruno@clisp.org>
20503
20504         localcharset: Assume ANSI C behaviour of free().
20505         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20506         calling free().
20507         Suggested by Simon Josefsson <simon@josefsson.org>.
20508
20509 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20510             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20511             Bruno Haible  <bruno@clisp.org>  (tiny change)
20512
20513         On Cygwin, use /proc file system instead of win32 API.
20514         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20515         Win32 file names.
20516         (DllMain): Simplify by removing Cygwin specific code.
20517         (find_shared_library_fullname): Use Linux specific implementation also
20518         for Cygwin.
20519         (get_shared_library_fullname): Update accordingly.
20520         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20521         Win32 file names.
20522         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20523         Cygwin specific code.
20524
20525 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20526             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20527
20528         Fix OpenMP flag detection for various Fortran compilers.
20529         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20530         OpenMP-conditional compilation construct, to force compile
20531         failure with missing OpenMP flag.
20532         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20533
20534 2011-02-25  Eric Blake  <eblake@redhat.com>
20535
20536         strstr: expand test coverage
20537         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20538         compilation.
20539         * tests/test-memmem.c (main): Duplicate tests.
20540         * tests/test-strcasestr.c (main): Likewise.
20541         * tests/test-c-strcasestr.c (main): Likewise.
20542
20543 2011-02-25  Jim Meyering  <meyering@redhat.com>
20544
20545         maint.mk: detect missing-NL-at-EOF, too
20546         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20547         it also detects when a file lacks a newline at EOF.
20548         (require_exactly_one_NL_at_EOF_): Renamed from
20549         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20550         since people may well have .x-sc_... file names tied to the
20551         existing name.  Suggested by Eric Blake.
20552
20553 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20554
20555         dirname: move m4/dos.m4 functionality into lib/dosname.h
20556
20557         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20558         extracts symbols from it, puts them into config.h; but it's much
20559         easier to use the symbols directly.  filename.h already does this,
20560         but it disagrees with dos.m4 in some respects.  This patch
20561         introduces a different include file dosname.h that packages up
20562         dos.m4, and then later we can work on merging filename.h and
20563         dosname.h.  Applications that need only the easy-to-configure
20564         symbols should consider including dosname.h rather than dirname.h.
20565         * NEWS: Mention incompatible changes.
20566         * m4/dos.m4: Remove.
20567         * lib/dosname.h, modules/dosname: New files.
20568         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20569         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20570         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20571         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20572         Include dosname.h, not dirname.h.
20573         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20574         Include dosname.h, for definitions of symbols like ISSLASH
20575         that used to be in config.h.
20576         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20577         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20578         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20579         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20580         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20581         * modules/rmdir (Files): Likewise.
20582         * modules/stat (Files): Likewise.
20583         * modules/unlink (Files): Likewise.
20584         * modules/dirname-lgpl (Depends-on): Add dosname.
20585         * modules/lstat (Depends-on): Likewise.
20586         * modules/openat (Depends-on): Likewise.
20587         * modules/rmdir (Depends-on): Likewise.
20588         * modules/savewd (Depends-on): Likewise.
20589         * modules/stat (Depends-on): Likewise.
20590         * modules/unlink (Depends-on): Likewise.
20591         * modules/openat (Depends-on): Remove dirname-lgpl.
20592         * modules/savewd (Depends-on): Likewise.
20593         * tests/test-dirname.c: Do not use removed symbols like
20594         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20595         the remaining symbols, e.g., ISSLASH ('\\').
20596
20597 2011-02-25  Eric Blake  <eblake@redhat.com>
20598
20599         strstr: revert patches that introduced bug and pessimization
20600         * lib/str-two-way.h: Add another reference.
20601         (two_way_short_needle, two_way_long_needle): Revert changes from
20602         2011-02-24; they pessimize search speed.
20603         (critical_factorization): Partially revert changes from
20604         2010-06-22; they violate the requirement that the left half of the
20605         needle be smaller than the period of the needle.
20606
20607 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20608
20609         filenamecat: remove unnecessary dependency on dirname-lgpl
20610         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20611         is no direct dependency, just an indirect one via filenamecat-lgpl.
20612
20613         remove: remove unnecessary use of m4/dos.m4
20614         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20615         * modules/remove (FILES): Remove m4/dos.m4.
20616
20617         * lib/openat-proc.c: Don't include dirname.h; not needed.
20618
20619         backupfile: remove unnecessary use of m4/dos.m4
20620         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20621         of its symbols are used by the backupfile code.  backupfile.c does
20622         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20623         for the rare case of programs that want all their backup file
20624         names to live within 8+3 limits, and dos.m4 doesn't address that.
20625         * modules/backupfile (Files): Remove m4/dos.m4.
20626
20627 2011-02-24  Jim Meyering  <meyering@redhat.com>
20628
20629         strstr: fix a bug whereby strstr would mistakenly return NULL
20630         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20631         in period calculation.
20632         (two_way_long_needle): Likewise.
20633         The original problem was reported by Mike Stump in
20634         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20635         Ralf Wildenhues provided the short needle and haystack.
20636         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20637         Add a more involved test to trigger the bug in two_way_long_needle.
20638
20639 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20640
20641         gnulib-tool: remove use of bold display in help screen
20642         * gnulib-tool (func_usage): Do not use bold display anymore in the
20643         help screen.  That was just meant to be a temporary emphasis for a
20644         backward-incompatible change.
20645
20646 2011-02-23  Bruno Haible  <bruno@clisp.org>
20647
20648         Fix misindentation of preprocessor directives.
20649         * lib/argp-namefrob.h: Reindent preprocessor directives.
20650         * lib/getopt_int.h (struct _getopt_data): Likewise.
20651         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20652         * lib/vasnprintf.c (decode_long_double): Likewise.
20653         * tests/test-argmatch.c: Insert blank lines, for clarity.
20654         * tests/test-exclude.c: Likewise.
20655
20656 2011-02-22  Bruno Haible  <bruno@clisp.org>
20657
20658         ioctl: Fix for MacOS X in 64-bit mode.
20659         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20660         value.
20661         Suggested by Eric Blake.
20662         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
20663
20664 2011-02-22  Jim Meyering  <meyering@redhat.com>
20665
20666         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
20667         * Makefile (sc_cpp_indent_check): Don't limit the check to files
20668         in lib/.
20669
20670 2011-02-22  Eric Blake  <eblake@redhat.com>
20671
20672         maint: avoid any CDPATH issue
20673         * Makefile (sc_cpp_indent_check): Anchor cd argument.
20674
20675         maint: adjust cpp indentation for my modules, as well
20676         * Makefile (sc_cpp_indent_check): Add my name.
20677         * lib/fbufmode.c: Filter through cppi.
20678         * lib/fpurge.c: Likewise.
20679         * lib/freadable.c: Likewise.
20680         * lib/freading.c: Likewise.
20681         * lib/fwritable.c: Likewise.
20682         * lib/fwriting.c: Likewise.
20683         * lib/sigaction.c: Likewise.
20684
20685 2011-02-22  Jim Meyering  <meyering@redhat.com>
20686
20687         maint: adjust cpp indentation to reflect nesting depth
20688         I.e., in a block of code that begins with an unnested "#if",
20689         put one space between the "#" in column 1 and following token.
20690         For example,
20691         -#include <sys/vfs.h>
20692         +# include <sys/vfs.h>
20693         Do this only in .c files that are part of a module I maintain.
20694         * lib/linkat.c: Filter through cppi.
20695         * lib/nanosleep.c: Likewise.
20696         * lib/openat.c: Likewise.
20697         * lib/openat-die.c: Likewise.
20698         * lib/dup3.c: Likewise.
20699         * lib/fchownat.c: Likewise.
20700         * lib/flock.c: Likewise.
20701         * lib/fsync.c: Likewise.
20702         * lib/fts.c: Likewise.
20703         * lib/getpass.c: Likewise.
20704         * lib/gettimeofday.c: Likewise.
20705         * lib/userspec.c: Likewise.
20706         * Makefile (sc_cpp_indent_check): New rule, to check this.
20707
20708 2011-02-22  Bruno Haible  <bruno@clisp.org>
20709
20710         New module 'wctomb'.
20711         * lib/stdlib.in.h (wctomb): New declaration.
20712         * lib/wctomb.c: New file.
20713         * lib/wctomb-impl.h: New file.
20714         * m4/wctomb.m4: New file.
20715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20716         REPLACE_WCTOMB.
20717         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20718         REPLACE_WCTOMB.
20719         * modules/wctomb: New file.
20720         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20721         * doc/posix-functions/wctomb.texi: Mention the new module.
20722         * modules/wctob (Depends-on): Add wctomb.
20723
20724 2011-02-22  Bruno Haible  <bruno@clisp.org>
20725
20726         New module 'mbtowc'.
20727         * lib/stdlib.in.h (mbtowc): New declaration.
20728         * lib/mbtowc.c: New file.
20729         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20730         * m4/mbtowc.m4: New file.
20731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20732         REPLACE_MBTOWC.
20733         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20734         REPLACE_MBTOWC.
20735         * modules/mbtowc: New file.
20736         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20737         * doc/posix-functions/mbtowc.texi: Mention the new module.
20738         * modules/btowc (Depends-on): Add mbtowc.
20739
20740 2011-02-22  Bruno Haible  <bruno@clisp.org>
20741
20742         wcrtomb: Add more tests for native Windows platforms.
20743         * tests/test-wcrtomb-w32-1.sh: New file.
20744         * tests/test-wcrtomb-w32-2.sh: New file.
20745         * tests/test-wcrtomb-w32-3.sh: New file.
20746         * tests/test-wcrtomb-w32-4.sh: New file.
20747         * tests/test-wcrtomb-w32-5.sh: New file.
20748         * tests/test-wcrtomb-w32.c: New file.
20749         * modules/wcrtomb-tests (Files): Add them.
20750         (Makefile.am): Arrange to run these tests.
20751         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20752         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20753
20754 2011-02-20  Bruno Haible  <bruno@clisp.org>
20755
20756         wcrtomb: Enhance test.
20757         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20758
20759 2011-02-20  Bruno Haible  <bruno@clisp.org>
20760
20761         mbrtowc: Tiny optimization.
20762         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20763
20764 2011-02-20  Jim Meyering  <meyering@redhat.com>
20765
20766         test-exclude.c: remove unmatched #endif
20767         * tests/test-exclude.c: Remove stray #endif, left over from
20768         the change of a week ago.
20769
20770 2011-02-19  Jim Meyering  <meyering@redhat.com>
20771
20772         git-version-gen: skip "-dirty" check when appropriate
20773         * build-aux/git-version-gen: Don't run any git commands when the
20774         version string comes from .tarball-version.  Prior to this, we
20775         would run git update-index --refresh even from a just-unpacked
20776         tarball directory, and that could affect a .git/ directory in a
20777         parent of the build directory.  Reported by Mike Frysinger.
20778
20779 2011-02-19  Bruno Haible  <bruno@clisp.org>
20780
20781         unictype/property-byname: Reduce the size of the 'data' segment.
20782         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20783
20784 2011-02-19  Bruno Haible  <bruno@clisp.org>
20785
20786         unictype/scripts: Reduce the size of the 'data' segment.
20787         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20788         '%pic'.
20789         * lib/unictype/scripts_byname.gperf: Regenerated.
20790
20791 2011-02-19  Bruno Haible  <bruno@clisp.org>
20792
20793         stdint: Update documentation.
20794         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20795
20796 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20797
20798         stdint: omit redundant check for wchar.h
20799         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20800         always tests whether wchar.h exists, so remove the now-redundant test.
20801
20802 2011-02-18  Bruno Haible  <bruno@clisp.org>
20803
20804         stdint: Cut dependency to module 'wchar'.
20805         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20806         include the necessary prerequisites.
20807         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20808         * modules/stdint (Depends-on): Remove wchar.
20809         (Makefile.am): Substitute HAVE_WCHAR_H.
20810         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20811
20812 2011-02-18  Eric Blake  <eblake@redhat.com>
20813
20814         longlong: skip, rather than fail, on cross-compilation
20815         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20816         when cross-compiling; regression from 2011-02-16.
20817
20818 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20819
20820         * NEWS: Mention 2011-02-08 change to stdlib.
20821
20822 2011-02-17  Bruno Haible  <bruno@clisp.org>
20823
20824         getloadavg: Add comments about platforms.
20825         * m4/getloadavg.m4: Add comment.
20826         * lib/getloadavg.c: Likewise.
20827
20828 2011-02-17  Bruno Haible  <bruno@clisp.org>
20829
20830         getloadavg: Fix link error on Solaris 2.6.
20831         * modules/getloadavg (Link): New section.
20832         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20833         linking test-getloadavg.
20834         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20835         getloadavg.
20836
20837 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20838
20839         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20840         It was 'int', but this doesn't match the IRIX 6.5 manual.
20841         Suggested by Bruno Haible in
20842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20843
20844 2011-02-17  Bruno Haible  <bruno@clisp.org>
20845
20846         havelib: Fix comments.
20847         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20848         change.
20849
20850 2011-02-17  Bruno Haible  <bruno@clisp.org>
20851
20852         havelib: Update config.rpath.
20853         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20854
20855 2011-02-17  Bruno Haible  <bruno@clisp.org>
20856
20857         getloadavg test: Add some plausibility checks.
20858         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20859         is improbable.
20860
20861 2011-02-16  Eric Blake  <eblake@redhat.com>
20862
20863         maintainer-makefile: make syntax-check a no-op from tarballs
20864         * top/maint.mk (no-vc-detected): New rule.
20865         (local-checks-available): Use it to avoid hanging if someone tries
20866         'make syntax-check' from a tarball.  Also append to any non-syntax
20867         checks already defined in cfg.mk.
20868
20869 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20870
20871         longlong: tune, particularly for common case of c99
20872
20873         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20874         or running anything if c99, or if unsigned long long int does not
20875         work.  In either case, we know the answer without further tests.
20876         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20877         it at most once, and use its results for both long long int and
20878         unsigned long long int.  This is more likely to be efficient in
20879         the common case where the program wants to check for both long
20880         long int and unsigned long long int.
20881         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20882         since the answer is already known.
20883
20884 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20885
20886         getloadavg: set errno
20887         * lib/getloadavg.c: Set errno when returning -1.  If no other
20888         error number looks appropriate, set it to ENOSYS if the getloadavg
20889         looks like it can't possibly ever work, ENOTSUP otherwise.
20890         Suggested by Bruno Haible in
20891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20892
20893         getloadavg: trim unused parts and speed up 'configure'
20894         * NEWS: Document this.
20895         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20896         always compiled if getloadavg is absent.
20897         Move test code to ...
20898         * tests/test-getloadavg.c: New file, containing previous
20899         contents of test from lib/getloadavg.c.  It also contains
20900         suggestions by Bruno Haible in
20901         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20902         * modules/getloadavg-tests: New file.
20903         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20904         Do tests in the same order as they're needed for getloadavg.c.
20905         Omit setgid-related tests that generate symbols KMEM_GROUP,
20906         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20907         Do only the tests that are needed to see whether the system has
20908         getloadavg, moving the other tests into ...
20909         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20910         NLIST_NAME_UNION; nobody should be using it.  Do not define
20911         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20912         relevant, as the user of this module shouldn't care how getloadavg
20913         is implemented.
20914
20915         getloadavg: omit unused var
20916         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20917
20918 2011-02-15  Jim Meyering  <meyering@redhat.com>
20919
20920         doc: update users.txt
20921         * users.txt: Update iwhd's URL.
20922
20923 2011-02-13  Bruno Haible  <bruno@clisp.org>
20924
20925         Consistent macro naming for macros that use GCC __attribute__.
20926         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20927         _ATTRIBUTE_NONNULL_.
20928         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20929         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20930         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20931         ATTRIBUTE_DEPRECATED.
20932         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20933         ATTRIBUTE_NORETURN.
20934         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20935         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20936         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20937         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20938         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20939         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20940         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20941         ATTRIBUTE_SENTINEL.
20942         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20943         ATTRIBUTE_RETURN_CHECK.
20944         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20945         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20946         ATTRIBUTE_NORETURN.
20947         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20948         Reported by Paul Eggert.
20949
20950 2011-02-13  Bruno Haible  <bruno@clisp.org>
20951
20952         Don't interfere with a program's definition of __attribute__.
20953         * lib/argp.h (__attribute__): Remove definition.
20954         (_GL_ATTRIBUTE_FORMAT): New macro.
20955         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20956         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20957         (_GL_ATTRIBUTE_FORMAT): New macro.
20958         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20959         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20960         GCC 3 or newer.
20961         * lib/error.h (__attribute__): Remove definition.
20962         (_GL_ATTRIBUTE_FORMAT): New macro.
20963         (error, error_at_line): Use it.
20964         * lib/hash.h (__attribute__): Remove definition.
20965         (ATTRIBUTE_WUR): Update definition. Define always.
20966         * lib/openat.h (__attribute__): Remove definition.
20967         (ATTRIBUTE_NORETURN): Update definition. Define always.
20968         * lib/sigpipe-die.h (__attribute__): Remove definition.
20969         (ATTRIBUTE_NORETURN): Update definition. Define always.
20970         * lib/vasnprintf.h (__attribute__): Remove definition.
20971         (_GL_ATTRIBUTE_FORMAT): New macro.
20972         (asnprintf, vasnprintf): Use it.
20973         * lib/xalloc.h (__attribute__): Remove definition.
20974         (ATTRIBUTE_NORETURN): Update definition. Define always.
20975         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20976         * lib/xmemdup0.h (__attribute__): Remove definition.
20977         (ATTRIBUTE_NORETURN): Update definition. Define always.
20978         * lib/xprintf.h (__attribute__): Remove definition.
20979         (_GL_ATTRIBUTE_FORMAT): New macro.
20980         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20981         * lib/xstrtol.h (__attribute__): Remove definition.
20982         (ATTRIBUTE_NORETURN): Update definition. Define always.
20983         * lib/xvasprintf.h (__attribute__): Remove definition.
20984         (_GL_ATTRIBUTE_FORMAT): New macro.
20985         (xasprintf, xvasprintf): Use it.
20986         * tests/test-argmatch.c (__attribute__): Remove definition.
20987         (ATTRIBUTE_NORETURN): Update definition. Define always.
20988         * tests/test-exclude.c (__attribute__): Remove definition.
20989         (ATTRIBUTE_NORETURN): Update definition. Define always.
20990         Reported by Paul Eggert.
20991
20992 2011-02-13  Bruno Haible  <bruno@clisp.org>
20993
20994         mbrtowc: Add more tests for native Windows platforms.
20995         * tests/test-mbrtowc-w32-1.sh: New file.
20996         * tests/test-mbrtowc-w32-2.sh: New file.
20997         * tests/test-mbrtowc-w32-3.sh: New file.
20998         * tests/test-mbrtowc-w32-4.sh: New file.
20999         * tests/test-mbrtowc-w32-5.sh: New file.
21000         * tests/test-mbrtowc-w32.c: New file.
21001         * modules/mbrtowc-tests (Files): Add them.
21002         (Makefile.am): Arrange to run these tests.
21003         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21004         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21005
21006 2011-02-13  Bruno Haible  <bruno@clisp.org>
21007
21008         mbrtowc: Work around native Windows bug.
21009         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21010         guess when no suitable locale for testing was found.
21011         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21012
21013 2011-02-13  Bruno Haible  <bruno@clisp.org>
21014
21015         mbsinit: Work around mingw bug.
21016         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21017         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21018         Windows.
21019         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21020
21021 2011-02-13  Bruno Haible  <bruno@clisp.org>
21022
21023         mbsinit: Don't crash for a NULL argument.
21024         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21025         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21026
21027 2011-02-13  Bruno Haible  <bruno@clisp.org>
21028
21029         Don't interfere with a program's definition of __attribute__.
21030         * lib/stdio.in.h (__attribute__): Remove definition.
21031         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21032         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21033         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21034         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21035         * lib/string.in.h (__attribute__): Remove definition.
21036         Reported by Paul Eggert.
21037
21038 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21039
21040         stdlib: don't get in the way of non-GCC __attribute__
21041         See thread starting at
21042         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21043         Revert previous stdlib change, installing the following instead:
21044         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21045         to get in the way of a non-GCC compiler that supports __attribute__.
21046         (_GL_ATTRIBUTE_RETURN): New macro.
21047         (_Exit): Use it instead of __attribute__.
21048
21049 2011-02-12  Bruno Haible  <bruno@clisp.org>
21050
21051         quotearg test: Avoid test failure on mingw.
21052         * tests/test-quotearg.sh: Convert the locale identifier from native
21053         Windows syntax to Unix syntax.
21054
21055 2011-02-12  Bruno Haible  <bruno@clisp.org>
21056
21057         setlocale: Prefer gnulib's override over libintl's override.
21058         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21059         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21060         GNULIB_defined_setlocale is set.
21061
21062 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21063
21064         stdlib: support non-GCC __attribute__
21065
21066         Fix a serious and tricky problem encountered when attempting to
21067         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21068         5.5, but it crashed due to memory corruption on Solaris 10 with
21069         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21070         bits that are otherwise zero.  This tagging is optional inside
21071         Emacs but is preferred and is used when __attribute__ ((__aligned
21072         (8))) works, as it does with both recent-enough GCC and with Sun C
21073         5.11.  However, Sun C 5.11 is not GCC and does not #define
21074         __GNUC__ and __GNUC_MINOR__.
21075
21076         When I added the getloadavg module to Emacs, it brought in
21077         stdlib.in.h, which contained this fragment:
21078
21079            #ifndef __attribute__
21080            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21081            #  define __attribute__(Spec)   /* empty */
21082            # endif
21083            #endif
21084
21085         When files that include <stdlib.h> were compiled with Sun C 5.11,
21086         the above code disabled __attribute__ ((__aligned (8))), which
21087         caused variables to not be properly aligned, which eventually led
21088         to the pointer corruption mentioned above.  (This was a bit hard
21089         to diagnose, unfortunately.)
21090
21091         Several "#define __attribute__(X) /* empty */" code snippets need
21092         to be eradicated from Gnulib to work with non-GCC compilers that
21093         support __attribute__.  The Autoconf way to do this is to test for
21094         each kind of attribute that we want support for, and selectively
21095         enable that in source code.
21096
21097         Fix this problem just for stdlib.h, by adding a test for the
21098         __noreturn__ attribute, and change stdlib.in.h to use that test
21099         when needed.  This technique can be easily generalized to the
21100         other *.in.h files and attributes, and a similar technique can be
21101         used for *.h and *.c files.  This patch is enough to solve the
21102         problem for Emacs + getloadavg, and I thought I'd publish it for
21103         feedback before undertaking further, similar fixes in other
21104         modules.
21105
21106         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21107         because it's not needed for stdlib.h.  It merely substitutes the
21108         value directly into stdlib.h.  We may well need to #define it, or
21109         similar symbols, for other modules, but it's nice to also have an
21110         option to not #define it for applications like Emacs that do not
21111         need it.
21112
21113         * lib/stdlib.in.h (__attribute__): Do not #define.
21114         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21115         be defined only if the _Exit module is also used.
21116         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21118         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21119         platforms.
21120         * modules/_Exit (Files): Add m4/attribute.m4.
21121         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21122         * m4/attribute.m4: New file.
21123
21124 2011-02-12  Bruno Haible  <bruno@clisp.org>
21125
21126         wcsrtombs: Work around bug on native Windows.
21127         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21128         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21129         instead of len.
21130         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21131
21132 2011-02-12  Bruno Haible  <bruno@clisp.org>
21133
21134         mbsrtowcs: Work around bug on native Windows.
21135         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21136         against mingw bug.
21137         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21138
21139 2011-02-12  Bruno Haible  <bruno@clisp.org>
21140
21141         Avoid setlocale bugs in tests.
21142         * modules/btowc (Dependencies): Add setlocale.
21143         * modules/c-strcase (Dependencies): Likewise.
21144         * modules/mbmemcasecmp (Dependencies): Likewise.
21145         * modules/mbmemcasecoll (Dependencies): Likewise.
21146         * modules/mbrtowc (Dependencies): Likewise.
21147         * modules/mbscasecmp (Dependencies): Likewise.
21148         * modules/mbscasestr (Dependencies): Likewise.
21149         * modules/mbschr (Dependencies): Likewise.
21150         * modules/mbscspn (Dependencies): Likewise.
21151         * modules/mbsinit (Dependencies): Likewise.
21152         * modules/mbsncasecmp (Dependencies): Likewise.
21153         * modules/mbsnrtowcs (Dependencies): Likewise.
21154         * modules/mbspbrk (Dependencies): Likewise.
21155         * modules/mbspcasecmp (Dependencies): Likewise.
21156         * modules/mbsrchr (Dependencies): Likewise.
21157         * modules/mbsrtowcs (Dependencies): Likewise.
21158         * modules/mbsspn (Dependencies): Likewise.
21159         * modules/mbsstr (Dependencies): Likewise.
21160         * modules/nl_langinfo (Dependencies): Likewise.
21161         * modules/quotearg (Dependencies): Likewise.
21162         * modules/unicase/locale-language (Dependencies): Likewise.
21163         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21164         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21165         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21166         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21167         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21168         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21169         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21170         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21171         * modules/vasnprintf-posix (Dependencies): Likewise.
21172         * modules/wcrtomb (Dependencies): Likewise.
21173         * modules/wcsnrtombs (Dependencies): Likewise.
21174         * modules/wcsrtombs (Dependencies): Likewise.
21175
21176 2011-02-12  Bruno Haible  <bruno@clisp.org>
21177
21178         setlocale: Workaround native Windows bug.
21179         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21180         succeeds but sets LC_CTYPE to "C", report a failure.
21181         * tests/test-setlocale2.sh: New file.
21182         * tests/test-setlocale2.c: New file.
21183         * modules/setlocale-tests (Files): Add the new files.
21184         (Makefile.am): Enable test-setlocale2.sh test.
21185         * doc/posix-functions/setlocale.texi: Mention workaround.
21186
21187 2011-02-11  Bruno Haible  <bruno@clisp.org>
21188
21189         Tests for module 'setlocale'.
21190         * modules/setlocale-tests: New file.
21191         * tests/test-setlocale1.sh: New file.
21192         * tests/test-setlocale1.c: New file.
21193
21194         New module 'setlocale'.
21195         * lib/locale.in.h (setlocale): New declaration.
21196         * lib/setlocale.c: New file, based on
21197         gettext/gettext-runtime/intl/setlocale.c.
21198         * m4/setlocale.m4: New file.
21199         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21200         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21201         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21202         REPLACE_SETLOCALE.
21203         * modules/setlocale: New file.
21204         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21205         * doc/posix-functions/setlocale.texi: Mention the new module.
21206
21207 2011-02-11  Bruno Haible  <bruno@clisp.org>
21208
21209         Prepare for locale dependent tests on mingw.
21210         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21211         because it has the wrong locale encoding.
21212         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21213         French_France.1252 instead of "fr".
21214         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21215         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21216         because it has the wrong locale encoding.
21217         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21218         native Windows, try Turkish_Turkey.65001.
21219         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21220         Chinese_China.54936.
21221
21222         Prepare for locale dependent tests on mingw.
21223         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21224         differently.
21225         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21226         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21227         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21228         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21229
21230 2011-02-11  Eric Blake  <eblake@redhat.com>
21231
21232         strptime: avoid compiler warnings
21233         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21234         compiler warnings about dead code.
21235         Reported by Daniel P. Berrange.
21236
21237 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21238
21239         doc: update users.txt
21240         * users.txt: Add rcs.
21241
21242 2011-02-10  John W. Eaton  <jwe@gnu.org>
21243
21244         doc: update users.txt
21245         * users.txt: Add octave.
21246
21247 2011-02-10  Jim Meyering  <meyering@redhat.com>
21248
21249         doc: update users.txt
21250         * users.txt: Add iwhd.
21251
21252 2011-02-09  Bruno Haible  <bruno@clisp.org>
21253
21254         gnulib-tool: Make copyright notice adjustment more robust.
21255         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21256         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21257         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21258         License".
21259         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21260
21261 2011-02-06  Bruno Haible  <bruno@clisp.org>
21262
21263         New module 'towctrans'.
21264         * modules/towctrans: New file.
21265         * lib/wctype.in.h (towctrans): New declaration.
21266         * lib/towctrans.c: New file.
21267         * lib/towctrans-impl.h: New file.
21268         * m4/towctrans.m4: New file.
21269         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21270         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21271         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21272         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21273         * doc/posix-functions/towctrans.texi: Mention the new module.
21274
21275 2011-02-06  Bruno Haible  <bruno@clisp.org>
21276
21277         New module 'wctrans'.
21278         * modules/wctrans: New file.
21279         * lib/wctype.in.h (wctrans): New declaration.
21280         * lib/wctrans.c: New file.
21281         * lib/wctrans-impl.h: New file.
21282         * m4/wctrans.m4: New file.
21283         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21284         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21285         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21286         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21287         * doc/posix-functions/wctrans.texi: Mention the new module.
21288
21289 2011-02-06  Bruno Haible  <bruno@clisp.org>
21290
21291         New module 'iswctype'.
21292         * modules/iswctype: New file.
21293         * lib/wctype.in.h (iswctype): New declaration.
21294         * lib/iswctype.c: New file.
21295         * lib/iswctype-impl.h: New file.
21296         * m4/iswctype.m4: New file.
21297         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21298         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21299         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21300         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21301         * doc/posix-functions/iswctype.texi: Mention the new module and the
21302         HP-UX 11.00 problem.
21303
21304 2011-02-06  Bruno Haible  <bruno@clisp.org>
21305
21306         New module 'wctype'.
21307         * modules/wctype: Change to represent the wctype() substitute.
21308         * lib/wctype.in.h (wctype): New declaration.
21309         * lib/wctype.c: New file.
21310         * lib/wctype-impl.h: New file.
21311         * m4/wctype.m4: New file.
21312         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21313         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21314         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21315         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21316         * doc/posix-functions/wctype.texi: Mention the new module and the
21317         HP-UX 11.00 problem.
21318
21319 2011-02-06  Bruno Haible  <bruno@clisp.org>
21320
21321         wctype-h: Ensure wctype_t and wctrans_t are defined.
21322         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21323         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21324         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21325         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21326         HAVE_WCTRANS_T.
21327         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21328
21329 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21330
21331         flock: fix license typo
21332
21333         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21334         omitted.
21335
21336 2011-02-08  Bruno Haible  <bruno@clisp.org>
21337
21338         Split large sed scripts, for HP-UX sed.
21339         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21340         to avoid HP-UX limit of 99 commands, in the near future.
21341         * modules/stdlib (Makefile.am): Likewise.
21342         * modules/unistd (Makefile.am): Likewise.
21343         * modules/wchar (Makefile.am): Likewise.
21344         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21345         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21346         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21347
21348 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21349             Bruno Haible  <bruno@clisp.org>
21350
21351         stdlib: improve random_r modularization
21352         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21353         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21354         you also need the random_r module to get this material right.
21355         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21356         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21357         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21358
21359 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21360
21361         stdlib: don't depend on stdint
21362         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21363         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21364         be independent of whether stdint.h is needed.
21365         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21366         here, instead of ...
21367         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21368         struct random_data should be using the random_r module, not just
21369         the stdlib module (which wouldn't make sense: what package needs
21370         just struct random_data without also needing random_r?).
21371         * modules/stdlib (Depends-on): Remove stdint.
21372
21373         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21374         See the thread rooted at
21375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21376         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21377         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21378         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21379         __VMS)); previously it was always included (via fcntl--.h).
21380         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21381         hand; this is good enough for load averages.  Also, do not use
21382         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21383         flags directly if available and don't bother otherwise.  (Packages
21384         that need the extra reliability should use the modules that define
21385         these flags on older platforms that lack them.)
21386         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21387         fcntl-safer.
21388
21389 2011-02-08  Jim Meyering  <meyering@redhat.com>
21390
21391         di-set.h, ino-map.h: add multiple-inclusion guard
21392         Technically, the guard is required only for ino-map.h, due to its
21393         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21394         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21395         * lib/ino-map.h: Likewise.
21396
21397 2011-02-06  Bruno Haible  <bruno@clisp.org>
21398
21399         iswblank: Ensure declaration on glibc systems.
21400         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21401         * modules/iswblank (Dependencies): Add 'extensions'.
21402         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21403
21404 2011-02-06  Bruno Haible  <bruno@clisp.org>
21405
21406         New module 'iswblank'.
21407         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21408         * modules/iswblank: New file.
21409         * modules/wctype-h (Files): Remove lib/iswblank.c.
21410         (Makefile.am): Substitute GNULIB_ISWBLANK.
21411         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21412         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21413         (gl_WCTYPE_H_DEFAULTS): New macro.
21414         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21415         * modules/iswblank-tests: New file.
21416         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21417         * tests/test-wctype-h.c (main): Remove iswblank tests.
21418         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21419         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21420         of 'wctype-h'.
21421         * NEWS: Mention the change.
21422         * modules/mbchar (Depends-on): Add iswblank.
21423
21424 2011-02-08  Bruno Haible  <bruno@clisp.org>
21425
21426         di-set tests: Refactor.
21427         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21428         unnecessary includes.
21429         (ASSERT): Remove macro.
21430         (main): Make C90 compliant by avoiding variable declaration after
21431         statement.
21432         * modules/di-set-tests (Files): Add tests/macros.h.
21433
21434 2011-02-08  Bruno Haible  <bruno@clisp.org>
21435
21436         ino-map tests: Refactor.
21437         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21438         unnecessary includes.
21439         (ASSERT): Remove macro.
21440         (main): Make C90 compliant by avoiding variable declaration after
21441         statement.
21442         * modules/ino-map-tests (Files): Add tests/macros.h.
21443
21444 2011-02-08  Jim Meyering  <meyering@redhat.com>
21445
21446         di-set: add "const" to a cast
21447         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21448         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21449
21450 2011-02-06  Bruno Haible  <bruno@clisp.org>
21451
21452         Rename module 'wctype' to 'wctype-h'.
21453         * modules/wctype-h: Renamed from modules/wctype.
21454         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21455         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21456         (Files, Depends-on, Makefile.am): Update.
21457         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21458         (Files, Makefile.am): Update.
21459         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21460         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21461         * doc/posix-headers/wctype.texi: Update.
21462         * doc/posix-functions/iswalnum.texi: Update.
21463         * doc/posix-functions/iswalpha.texi: Update.
21464         * doc/posix-functions/iswblank.texi: Update.
21465         * doc/posix-functions/iswcntrl.texi: Update.
21466         * doc/posix-functions/iswdigit.texi: Update.
21467         * doc/posix-functions/iswgraph.texi: Update.
21468         * doc/posix-functions/iswlower.texi: Update.
21469         * doc/posix-functions/iswprint.texi: Update.
21470         * doc/posix-functions/iswpunct.texi: Update.
21471         * doc/posix-functions/iswspace.texi: Update.
21472         * doc/posix-functions/iswupper.texi: Update.
21473         * doc/posix-functions/iswxdigit.texi: Update.
21474         * doc/posix-functions/towlower.texi: Update.
21475         * doc/posix-functions/towupper.texi: Update.
21476         * NEWS: Mention the change.
21477         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21478         * modules/mbchar (Dependencies): Likewise.
21479         * modules/mbswidth (Dependencies): Likewise.
21480         * modules/quotearg (Dependencies): Likewise.
21481         * modules/regex (Dependencies): Likewise.
21482         * modules/wcscasecmp (Dependencies): Likewise.
21483         * modules/wcsncasecmp (Dependencies): Likewise.
21484         * modules/wcwidth (Dependencies): Likewise.
21485
21486 2011-02-06  Bruno Haible  <bruno@clisp.org>
21487
21488         New module 'wcswidth'.
21489         * modules/wcswidth: New file.
21490         * lib/wchar.in.h (wcswidth): New declaration.
21491         * lib/wcswidth.c: New file.
21492         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21493         * m4/wcswidth.m4: New file.
21494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21496         REPLACE_WCSWIDTH.
21497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21498         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21499         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21500         * doc/posix-functions/wcswidth.texi: Mention the new module.
21501
21502 2011-02-06  Bruno Haible  <bruno@clisp.org>
21503
21504         New module 'wcstok'.
21505         * modules/wcstok: New file.
21506         * lib/wchar.in.h (wcstok): New declaration.
21507         * lib/wcstok.c: New file.
21508         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21509         * m4/wcstok.m4: New file.
21510         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21511         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21512         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21513         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21514         * doc/posix-functions/wcstok.texi: Mention the new module.
21515
21516 2011-02-06  Bruno Haible  <bruno@clisp.org>
21517
21518         New module 'wcsstr'.
21519         * modules/wcsstr: New file.
21520         * lib/wchar.in.h (wcsstr): New declaration.
21521         * lib/wcsstr.c: New file.
21522         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21523         * m4/wcsstr.m4: New file.
21524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21526         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21527         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21528         * doc/posix-functions/wcsstr.texi: Mention the new module.
21529
21530 2011-02-06  Bruno Haible  <bruno@clisp.org>
21531
21532         New module 'wcspbrk'.
21533         * modules/wcspbrk: New file.
21534         * lib/wchar.in.h (wcspbrk): New declaration.
21535         * lib/wcspbrk.c: New file.
21536         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21537         * m4/wcspbrk.m4: New file.
21538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21540         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21541         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21542         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21543
21544 2011-02-06  Bruno Haible  <bruno@clisp.org>
21545
21546         New module 'wcsspn'.
21547         * modules/wcsspn: New file.
21548         * lib/wchar.in.h (wcsspn): New declaration.
21549         * lib/wcsspn.c: New file.
21550         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21551         * m4/wcsspn.m4: New file.
21552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21554         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21555         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21556         * doc/posix-functions/wcsspn.texi: Mention the new module.
21557
21558 2011-02-06  Bruno Haible  <bruno@clisp.org>
21559
21560         New module 'wcscspn'.
21561         * modules/wcscspn: New file.
21562         * lib/wchar.in.h (wcscspn): New declaration.
21563         * lib/wcscspn.c: New file.
21564         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21565         * m4/wcscspn.m4: New file.
21566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21568         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21569         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21570         * doc/posix-functions/wcscspn.texi: Mention the new module.
21571
21572 2011-02-06  Bruno Haible  <bruno@clisp.org>
21573
21574         New module 'wcsrchr'.
21575         * modules/wcsrchr: New file.
21576         * lib/wchar.in.h (wcsrchr): New declaration.
21577         * lib/wcsrchr.c: New file.
21578         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21579         * m4/wcsrchr.m4: New file.
21580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21582         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21583         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21584         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21585
21586 2011-02-06  Bruno Haible  <bruno@clisp.org>
21587
21588         New module 'wcschr'.
21589         * modules/wcschr: New file.
21590         * lib/wchar.in.h (wcschr): New declaration.
21591         * lib/wcschr.c: New file.
21592         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21593         * m4/wcschr.m4: New file.
21594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21597         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21598         * doc/posix-functions/wcschr.texi: Mention the new module.
21599
21600 2011-02-06  Bruno Haible  <bruno@clisp.org>
21601
21602         New module 'wcsdup'.
21603         * modules/wcsdup: New file.
21604         * lib/wchar.in.h (wcsdup): New declaration.
21605         * lib/wcsdup.c: New file.
21606         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21607         * m4/wcsdup.m4: New file.
21608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21611         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21612         * doc/posix-functions/wcsdup.texi: Mention the new module.
21613
21614 2011-02-06  Bruno Haible  <bruno@clisp.org>
21615
21616         New module 'wcsxfrm'.
21617         * modules/wcsxfrm: New file.
21618         * lib/wchar.in.h (wcsxfrm): New declaration.
21619         * lib/wcsxfrm.c: New file.
21620         * lib/wcsxfrm-impl.h: New file.
21621         * m4/wcsxfrm.m4: New file.
21622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21624         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21625         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21626         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21627
21628 2011-02-06  Bruno Haible  <bruno@clisp.org>
21629
21630         New module 'wcscoll'.
21631         * modules/wcscoll: New file.
21632         * lib/wchar.in.h (wcscoll): New declaration.
21633         * lib/wcscoll.c: New file.
21634         * lib/wcscoll-impl.h: New file.
21635         * m4/wcscoll.m4: New file.
21636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21639         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21640         * doc/posix-functions/wcscoll.texi: Mention the new module.
21641
21642 2011-02-06  Bruno Haible  <bruno@clisp.org>
21643
21644         New module 'wcsncasecmp'.
21645         * modules/wcsncasecmp: New file.
21646         * lib/wchar.in.h (wcsncasecmp): New declaration.
21647         * lib/wcsncasecmp.c: New file.
21648         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21649         * m4/wcsncasecmp.m4: New file.
21650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21653         HAVE_WCSNCASECMP.
21654         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21655         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21656
21657 2011-02-06  Bruno Haible  <bruno@clisp.org>
21658
21659         New module 'wcscasecmp'.
21660         * modules/wcscasecmp: New file.
21661         * lib/wchar.in.h (wcscasecmp): New declaration.
21662         * lib/wcscasecmp.c: New file.
21663         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
21664         * m4/wcscasecmp.m4: New file.
21665         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
21666         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
21667         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
21668         HAVE_WCSCASECMP.
21669         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
21670         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
21671
21672 2011-02-05  Bruno Haible  <bruno@clisp.org>
21673
21674         New module 'wcsncmp'.
21675         * modules/wcsncmp: New file.
21676         * lib/wchar.in.h (wcsncmp): New declaration.
21677         * lib/wcsncmp.c: New file.
21678         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
21679         * m4/wcsncmp.m4: New file.
21680         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
21681         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
21682         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
21683         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
21684         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21685
21686 2011-02-05  Bruno Haible  <bruno@clisp.org>
21687
21688         New module 'wcscmp'.
21689         * modules/wcscmp: New file.
21690         * lib/wchar.in.h (wcscmp): New declaration.
21691         * lib/wcscmp.c: New file.
21692         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21693         * m4/wcscmp.m4: New file.
21694         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21695         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21696         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21697         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21698         * doc/posix-functions/wcscmp.texi: Mention the new module.
21699
21700 2011-02-05  Bruno Haible  <bruno@clisp.org>
21701
21702         New module 'wcsncat'.
21703         * modules/wcsncat: New file.
21704         * lib/wchar.in.h (wcsncat): New declaration.
21705         * lib/wcsncat.c: New file.
21706         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21707         * m4/wcsncat.m4: New file.
21708         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21709         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21710         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21711         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21712         * doc/posix-functions/wcsncat.texi: Mention the new module.
21713
21714 2011-02-05  Bruno Haible  <bruno@clisp.org>
21715
21716         New module 'wcscat'.
21717         * modules/wcscat: New file.
21718         * lib/wchar.in.h (wcscat): New declaration.
21719         * lib/wcscat.c: New file.
21720         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21721         * m4/wcscat.m4: New file.
21722         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21723         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21724         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21725         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21726         * doc/posix-functions/wcscat.texi: Mention the new module.
21727
21728 2011-02-05  Bruno Haible  <bruno@clisp.org>
21729
21730         New module 'wcpncpy'.
21731         * modules/wcpncpy: New file.
21732         * lib/wchar.in.h (wcpncpy): New declaration.
21733         * lib/wcpncpy.c: New file.
21734         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21735         * m4/wcpncpy.m4: New file.
21736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21738         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21739         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21740         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21741
21742 2011-02-05  Bruno Haible  <bruno@clisp.org>
21743
21744         New module 'wcsncpy'.
21745         * modules/wcsncpy: New file.
21746         * lib/wchar.in.h (wcsncpy): New declaration.
21747         * lib/wcsncpy.c: New file.
21748         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21749         * m4/wcsncpy.m4: New file.
21750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21753         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21754         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21755
21756 2011-02-05  Bruno Haible  <bruno@clisp.org>
21757
21758         New module 'wcpcpy'.
21759         * modules/wcpcpy: New file.
21760         * lib/wchar.in.h (wcpcpy): New declaration.
21761         * lib/wcpcpy.c: New file.
21762         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21763         * m4/wcpcpy.m4: New file.
21764         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21765         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21766         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21767         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21768         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21769
21770 2011-02-05  Bruno Haible  <bruno@clisp.org>
21771
21772         New module 'wcscpy'.
21773         * modules/wcscpy: New file.
21774         * lib/wchar.in.h (wcscpy): New declaration.
21775         * lib/wcscpy.c: New file.
21776         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21777         * m4/wcscpy.m4: New file.
21778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21780         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21781         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21782         * doc/posix-functions/wcscpy.texi: Mention the new module.
21783
21784 2011-02-05  Bruno Haible  <bruno@clisp.org>
21785
21786         New module 'wcsnlen'.
21787         * modules/wcsnlen: New file.
21788         * lib/wchar.in.h (wcsnlen): New declaration.
21789         * lib/wcsnlen.c: New file.
21790         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21791         * m4/wcsnlen.m4: New file.
21792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21795         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21796         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21797
21798 2011-02-05  Bruno Haible  <bruno@clisp.org>
21799
21800         New module 'wcslen'.
21801         * modules/wcslen: New file.
21802         * lib/wchar.in.h (wcslen): New declaration.
21803         * lib/wcslen.c: New file.
21804         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21805         * m4/wcslen.m4: New file.
21806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21808         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21809         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21810         * doc/posix-functions/wcslen.texi: Mention the new module.
21811
21812 2011-02-05  Bruno Haible  <bruno@clisp.org>
21813
21814         New module 'wmemset'.
21815         * modules/wmemset: New file.
21816         * lib/wchar.in.h (wmemset): New declaration.
21817         * lib/wmemset.c: New file.
21818         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21819         * m4/wmemset.m4: New file.
21820         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21821         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21822         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21823         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21824         * doc/posix-functions/wmemset.texi: Mention the new module.
21825
21826 2011-02-05  Bruno Haible  <bruno@clisp.org>
21827
21828         New module 'wmemmove'.
21829         * modules/wmemmove: New file.
21830         * lib/wchar.in.h (wmemmove): New declaration.
21831         * lib/wmemmove.c: New file.
21832         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21833         * m4/wmemmove.m4: New file.
21834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21836         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21837         HAVE_WMEMMOVE.
21838         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21839         * doc/posix-functions/wmemmove.texi: Mention the new module.
21840
21841 2011-02-05  Bruno Haible  <bruno@clisp.org>
21842
21843         New module 'wmemcpy'.
21844         * modules/wmemcpy: New file.
21845         * lib/wchar.in.h (wmemcpy): New declaration.
21846         * lib/wmemcpy.c: New file.
21847         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21848         * m4/wmemcpy.m4: New file.
21849         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21850         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21851         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21852         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21853         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21854
21855 2011-02-05  Bruno Haible  <bruno@clisp.org>
21856
21857         New module 'wmemcmp'.
21858         * modules/wmemcmp: New file.
21859         * lib/wchar.in.h (wmemcmp): New declaration.
21860         * lib/wmemcmp.c: New file.
21861         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21862         * m4/wmemcmp.m4: New file.
21863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21865         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21866         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21867         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21868
21869 2011-02-07  Jim Meyering  <meyering@redhat.com>
21870
21871         di-set, ino-map: new modules, from coreutils
21872         * lib/di-set.c: New file.
21873         * lib/di-set.h: Likewise.
21874         * lib/ino-map.c: Likewise.
21875         * lib/ino-map.h: Likewise.
21876         * modules/di-set: Likewise.
21877         * modules/di-set-tests: Likewise.
21878         * modules/ino-map: Likewise.
21879         * modules/ino-map-tests: Likewise.
21880         * tests/test-di-set.c: Likewise.
21881         * tests/test-ino-map.c: Likewise.
21882
21883 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21884
21885         getloadavg: merge minor changes from Emacs
21886
21887         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21888         (getloadavg): Use memset, not bzero.
21889
21890         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21891         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21892         clash (bug#86).
21893
21894 2010-11-14  Bruno Haible  <bruno@clisp.org>
21895
21896         Allow multiple gnulib generated replacements to coexist.
21897         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21898         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21899         * lib/langinfo.in.h (nl_item): Likewise.
21900         * lib/math.in.h (_NaN, NAN): Likewise.
21901         * lib/netdb.in.h (struct addrinfo): Likewise.
21902         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21903         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21904         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21905         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21906         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21907         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21908         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21909         pthread_mutexattr_init, pthread_mutexattr_settype,
21910         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21911         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21912         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21913         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21914         * lib/sched.in.h (struct sched_param): Likewise.
21915         * lib/se-selinux.in.h (security_class_t, security_context_t,
21916         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21917         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21918         lsetfilecon, fsetfilecon, security_check_context,
21919         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21920         Likewise.
21921         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21922         Likewise.
21923         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21924         _gl_function_taking_int_returning_void_t, union sigval,
21925         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21926         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21927         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21928         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21929         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21930         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21931         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21932         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21933         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21934         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21935         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21936         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21937         socklen_t, rpl_fd_isset): Likewise.
21938         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21939         * lib/sys_time.in.h (struct timeval): Likewise.
21940         * lib/sys_times.in.h (struct tms): Likewise.
21941         * lib/sys_utsname.in.h (struct utsname):
21942         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21943         * lib/unistd.in.h (getpagesize): Likewise.
21944         * lib/wchar.in.h (mbstate_t): Likewise.
21945         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21946         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21947         towlower, towupper): Likewise.
21948         Reported by Sam Steingold <sds@gnu.org>.
21949
21950 2011-02-05  Eric Blake  <eblake@redhat.com>
21951
21952         unsetenv: work around Haiku issues
21953         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21954         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21955
21956 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21957
21958         libposix: avoid calling error() within libposix
21959         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21960         is defined.
21961
21962 2011-02-05  Eric Blake  <eblake@redhat.com>
21963
21964         strerror_r-posix: port to cygwin
21965         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21966         implementation.
21967         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21968         * tests/test-strerror_r.c (main): Fix test.
21969         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21970         issue.
21971
21972 2011-02-05  Bruno Haible  <bruno@clisp.org>
21973
21974         New module 'wmemchr'.
21975         * modules/wmemchr: New file.
21976         * lib/wchar.in.h (wmemchr): New declaration.
21977         * lib/wmemchr.c: New file.
21978         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21979         * m4/wmemchr.m4: New file.
21980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21982         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21983         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21984         * doc/posix-functions/wmemchr.texi: Mention the new module.
21985
21986 2011-02-04  Eric Blake  <eblake@redhat.com>
21987
21988         fdopendir: detect FreeBSD bug
21989         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21990         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21991
21992 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
21993
21994         stdbool: do not define HAVE_STDBOOL_H
21995         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
21996         AC_HEADER_STDBOOL.  All uses changed.  Do not define
21997         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
21998         imported from the latest Autoconf git.  It was motivated by Emacs,
21999         which uses gnulib but does not need HAVE_STDBOOL_H.
22000
22001 2011-02-04  Bruno Haible  <bruno@clisp.org>
22002
22003         wcsnrtombs: Prepare for new module wwcsnrtombs.
22004         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22005         * lib/wcsnrtombs.c: Include it.
22006         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22007
22008         wcsrtombs: Prepare for new module wwcsrtombs.
22009         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22010         * lib/wcsrtombs.c: Include it.
22011         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22012
22013         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22014         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22015         * lib/mbsnrtowcs.c: Include it.
22016         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22017
22018         mbsrtowcs: Prepare for new module mbsrtowwcs.
22019         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22020         * lib/mbsrtowcs.c: Include it.
22021         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22022
22023 2011-02-04  Bruno Haible  <bruno@clisp.org>
22024
22025         vasnprintf: Reduce use of malloc for small format strings.
22026         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22027         (arguments): Add room for the first 7 arguments.
22028         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22029         (char_directives, u8_directives, u16_directives, u32_directives): Add
22030         room for the first 7 directives.
22031         * lib/printf-parse.c: Include <string.h>.
22032         (PRINTF_PARSE): Change memory handling code so that it uses the first
22033         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22034         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22035         Reported by Pádraig Brady <P@draigbrady.com>.
22036
22037 2011-01-31  Eric Blake  <eblake@redhat.com>
22038
22039         dup2: work around Haiku bug
22040         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22041         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22042         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22043         * tests/test-dup2.c (main): Enhance test.
22044
22045 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22046
22047         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22048         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22049         declared by eglibc 2.11.2.
22050         * lib/stdio.in.h: Likewise.
22051
22052 2011-01-31  Eric Blake  <eblake@redhat.com>
22053
22054         ignore-value: add missing test dependency
22055         * tests/test-ignore-value.c: Revert previous change; stdio.h
22056         provides off_t.
22057         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22058
22059 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22060
22061         mktime: clarify long_int width checking
22062         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22063         the top level, to make it clearer that the assumption about
22064         long_int width is being checked.  See
22065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22066
22067 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22068
22069         ignore-value: Fix self-test.
22070         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22071
22072 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22073
22074         TYPE_MAXIMUM: avoid theoretically undefined behavior
22075         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22076         negative number, which the C Standard says has undefined behavior.
22077         In practice this is not a problem, but might as well do it by the book.
22078         Reported by Rich Felker and Eric Blake; see
22079         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22080         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22081         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22083         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22084         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22085         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22086
22087         mktime: #undef mktime before #defining it
22088         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22089
22090         mktime: systematically normalize tm_isdst comparisons
22091         * lib/mktime.c (isdst_differ): New function.
22092         (__mktime_internal): Use it systematically for all isdst comparisons.
22093         This completes the fix for libc BZ #6723, and removes the need for
22094         normalizing tm_isdst.  See
22095         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22096         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22097
22098         mktime: fix some integer overflow issues and sidestep the rest
22099
22100         This was prompted by a bug report by Benjamin Lindner for MinGW
22101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22102         His bug is due to signed integer overflow (0 - INT_MIN), and I
22103         I scanned through mktime.c looking for other integer overflow
22104         problems, fixing all the bugs I found.
22105
22106         Although the C Standard says the resulting code is still not safe
22107         in the presence of integer overflow, in practice it should be good
22108         enough for all real-world two's-complement implementations, except
22109         for debugging environments that deliberately trap on integer
22110         overflow (e.g., gcc -ftrapv).
22111
22112         * lib/mktime.c (WRAPV): New macro.
22113         (SHR): Also check that long_int and time_t shift right in the
22114         usual way, before using the fast-but-unportable method.
22115         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22116         used.  The code already assumed two's complement, so there's
22117         no need to test for alternatives.  All uses removed.
22118         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22119         the C standard.  Problem reported by Rich Felker in
22120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22121         (twos_complement_arithmetic): Also check long_int and time_t.
22122         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22123         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22124         (__mktime_internal): Avoid integer overflow with unary subtraction
22125         in two instances where -1 - X is an adequate replacement for -X,
22126         since the calculations are approximate.
22127
22128 2011-01-29  Eric Blake  <eblake@redhat.com>
22129
22130         mktime: avoid infinite loop
22131         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22132         type; behavior is still undefined but portable to all known targets.
22133         Reported by Rich Felker.
22134
22135 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22136
22137         rename, unlink, same-inode: Relicense.
22138         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22139         * modules/unlink (License): Likewise.
22140         * modules/same-inode (License): Likewise.
22141
22142 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22143
22144         mktime: avoid problems on NetBSD 5 / i386
22145         * lib/mktime.c (long_int): New type.  This works around a problem
22146         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22147         but time_t is 64 bits, and where I expect the existing code is
22148         wrong in some cases.
22149         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22150         (ydhms_diff): Bring back the compile-time check for wide-enough
22151         year and yday.
22152
22153         mktime: fix misspelling in comment
22154         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22155         This merges all recent glibc changes of importance.
22156
22157 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22158
22159         move-if-change: cope with concurrent mv of identical file.
22160         * build-aux/move-if-change (CMPPROG): Accept environment
22161         variable as an override for `cmp'.
22162         (usage): Document CMPPROG.
22163         Adjust comparison to drop stdout.  Cope with failure of mv if
22164         the target file exists and is identical to the source, for
22165         parallel builds.
22166         Report from H.J. Lu against binutils in PR binutils/12283.
22167
22168 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22169
22170         * users.txt: Mention sharutils.
22171
22172 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22173
22174         * users.txt: Mention OATH Toolkit.
22175
22176 2011-01-27  Bruno Haible  <bruno@clisp.org>
22177
22178         Prepare for supporting FreeBSD 10.
22179         * build-aux/config.libpath: Remove handling of freebsd1*.
22180
22181 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22182
22183         Prepare for supporting FreeBSD 10.
22184         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22185         match FreeBSD 10.0.
22186
22187 2011-01-27  Bruno Haible  <bruno@clisp.org>
22188
22189         vma-iter, get-rusage-as: Add OpenBSD support.
22190         * modules/vma-iter (configure.ac): Test for mquery.
22191         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22192         * lib/vma-iter.c: Include <sys/mman.h>.
22193         (vma_iterate): Add an implementation based on mquery().
22194         * lib/resource-ext.h (get_rusage_as): Update comments.
22195         * lib/get-rusage-as.c: Likewise.
22196         * lib/get-rusage-data.c: Likewise.
22197
22198 2011-01-26  Karl Berry  <karl@gnu.org>
22199
22200         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22201         variables to make it easier to override the makeinfo program used.
22202
22203 2011-01-26  Eric Blake  <eblake@redhat.com>
22204
22205         fcntl: work around Haiku F_DUPFD bugs
22206         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22207         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22208         cloexec bit on duplication.
22209         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22210
22211 2011-01-26  Bruno Haible  <bruno@clisp.org>
22212
22213         Enable memory leak tests on AIX.
22214         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22215         * tests/test-fprintf-posix3.c (main): Likewise.
22216
22217 2011-01-26  Bruno Haible  <bruno@clisp.org>
22218
22219         Tests for module 'get-rusage-data'.
22220         * modules/get-rusage-data-tests: New file.
22221         * tests/test-get-rusage-data.c: New file.
22222
22223         New module 'get-rusage-data'.
22224         * lib/resource-ext.h (get_rusage_data): New declaration.
22225         * lib/get-rusage-data.c: New file.
22226         * modules/get-rusage-data: New file.
22227
22228 2011-01-25  Bruno Haible  <bruno@clisp.org>
22229
22230         get-rusage-as: Allow for easier testing.
22231         * lib/resource-ext.h (get_rusage_as): Add comment.
22232         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22233         (main): New function for interactive testing.
22234
22235 2011-01-25  Bruno Haible  <bruno@clisp.org>
22236
22237         vma-iter: Treat Haiku like BeOS.
22238         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22239         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22240
22241 2011-01-25  Eric Blake  <eblake@redhat.com>
22242
22243         c-stack: fix regression on cygwin when libsigsegv is present
22244         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22245
22246 2011-01-24  Bruno Haible  <bruno@clisp.org>
22247
22248         vma-iter: Avoid empty intervals.
22249         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22250         on an empty interval.
22251
22252 2011-01-24  Jim Meyering  <meyering@redhat.com>
22253
22254         u64: remove unnecessary #include
22255         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22256
22257 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22258
22259         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22260         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22261
22262 2011-01-23  Bruno Haible  <bruno@clisp.org>
22263
22264         New module 'vma-iter'.
22265         * lib/vma-iter.h: New file.
22266         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22267         * modules/vma-iter: New file.
22268         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22269         for get_rusage_as_via_iterator.
22270         (vma_iterate_callback): New function.
22271         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22272         * modules/get-rusage-as (Depends-on): Add vma-iter.
22273
22274 2011-01-23  Bruno Haible  <bruno@clisp.org>
22275
22276         uninorm: Tweak includes.
22277         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22278         Reported by Jim Meyering.
22279
22280 2011-01-23  Bruno Haible  <bruno@clisp.org>
22281
22282         get-rusage-as: Improve on NetBSD.
22283         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22284         /proc, like on FreeBSD.
22285
22286 2011-01-23  Jim Meyering  <meyering@redhat.com>
22287
22288         xreadlink.h: remove unnecessary #include
22289         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22290
22291         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22292         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22293
22294 2011-01-23  Bruno Haible  <bruno@clisp.org>
22295
22296         get-rusage-as: Fix bug.
22297         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22298         original limit when aborting the first loop.
22299
22300 2011-01-23  Bruno Haible  <bruno@clisp.org>
22301
22302         wctype: Ensure valid C syntax.
22303         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22304         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22305
22306 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22307
22308         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22309         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22310         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22311         as they are needed only for configure's test case.
22312         This removes two unnecessary symbols from config.h.
22313
22314         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22315         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22316         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22317         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22318         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22319         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22320         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22321         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22322         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22323         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22324         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22325         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22326         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22327         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22328         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22329         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22330         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22331         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22332
22333 2011-01-21  Eric Blake  <eblake@redhat.com>
22334
22335         maintainer-makefile: work with older git for submodule check
22336         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22337         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22338         Reported by Matthias Bolte.
22339
22340         bootstrap: minor portability fixes
22341         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22342         (usage): Omit leading capital and trailing . on help phrases, per
22343         GNU Coding Standards.
22344         (check_versions, top level): Prefix messages with script name.
22345
22346 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22347
22348         bootstrap: support --no-git option
22349         * build-aux/bootstrap: Add --no-git option, to be used when
22350         --gnulib-srcdir points to the exact desired checkout.
22351
22352 2011-01-21  Eric Blake  <eblake@redhat.com>
22353
22354         strerror_r-posix: work with glibc 2.13
22355         * lib/strerror_r.c (strerror_r): Fix return type.
22356
22357 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22358             Bruno Haible  <bruno@clisp.org>
22359
22360         uN_strstr: New unit tests.
22361         * modules/unistr/u8-strstr-tests: New file.
22362         * modules/unistr/u16-strstr-tests: New file.
22363         * modules/unistr/u32-strstr-tests: New file.
22364         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22365         * tests/unistr/test-u8-strstr.c: New file.
22366         * tests/unistr/test-u16-strstr.c: New file.
22367         * tests/unistr/test-u32-strstr.c: New file.
22368
22369 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22370             Bruno Haible  <bruno@clisp.org>
22371
22372         Make uN_strstr functions O(n) worst-case.
22373         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22374         16-bit and 32-bit unit cases, use the unibyte algorithm from
22375         lib/mbsstr.c.
22376         * lib/unistr/u8-strstr.c: Include <string.h>.
22377         (UNIT_IS_UINT8_T): New macro.
22378         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22379         (U_STRLEN, U_STRNLEN): New macros.
22380         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22381         (U_STRLEN, U_STRNLEN): New macros.
22382         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22383         (configure.ac): Update required libunistring version.
22384         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22385         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22386         malloca.
22387         (configure.ac): Update required libunistring version.
22388         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22389         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22390         malloca.
22391         (configure.ac): Update required libunistring version.
22392
22393 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22394             Bruno Haible  <bruno@clisp.org>
22395
22396         Prepare for faster uN_strstr functions.
22397         * lib/str-kmp.h: Support definable UNITs.
22398         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22399         needle_len argument.
22400         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22401         * lib/mbscasestr.c (mbscasestr): Likewise.
22402
22403 2011-01-21  Pádraig Brady <P@draigBrady.com>
22404
22405         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22406         * tests/test-malloca.c (main): Unset the environment variable
22407         to greatly speed up the test.
22408         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22409         * modules/malloca-tests: Depend on unsetenv.
22410
22411 2011-01-21  Pádraig Brady <P@draigBrady.com>
22412
22413         ignore-value: remove stdint dependency
22414         * lib/ignore-value.h: Remove <stdint.h>
22415         * modules/ignore-value: Remove stdint dependency.
22416
22417 2011-01-21  Jim Meyering  <meyering@redhat.com>
22418
22419         maint.mk: adjust variable name to be consistent with other gl_ vars
22420         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22421         to be lower case.
22422
22423 2011-01-20  Jim Meyering  <meyering@redhat.com>
22424
22425         maint.mk: make "check" depend on public-submodule-commit by default
22426         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22427
22428 2011-01-20  Bruno Haible  <bruno@clisp.org>
22429
22430         mbfile, mbiter: Complete change from 2008-12-21.
22431         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22432         * m4/mbiter.m4 (gl_MBITER): Likewise.
22433
22434 2011-01-20  Jim Meyering  <meyering@redhat.com>
22435
22436         init.sh: insert space between each function name and "()"
22437         * tests/init.sh: Make it a little easier to see that a function's
22438         name is "warn_", and not "warn" when looking at the first part of
22439         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22440
22441 2011-01-20  Jim Meyering  <meyering@redhat.com>
22442
22443         mountlist: clean up code formatting
22444         * lib/mountlist.c (read_file_system_list): Split a long line,
22445         correct bracing style, use NULL in place of "(struct statfs *)0",
22446         don't parenthesize return value, add spaces around "=" and after
22447         ";-in-for-stmt".
22448
22449 2011-01-14  Markus Duft <mduft@gentoo.org>
22450
22451         mountlist: add support for Interix
22452         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22453         Apply statvfs to all entries of /dev/fs.
22454         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22455         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22456
22457 2011-01-20  Jim Meyering  <meyering@redhat.com>
22458
22459         maint.mk: improve the public-submodule-commit rule
22460         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22461         to suppress printing of its commands... unless V=1.
22462         Add git submodule's --quiet option to suppress printing of e.g.,
22463         "Entering gnulib" output.
22464         "cd" into $(srcdir) before running git submodule.
22465
22466 2011-01-20  Bruno Haible  <bruno@clisp.org>
22467
22468         include_next: Fix bug introduced on 2011-01-18.
22469         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22470         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22471         ac_cv_header_... variable if the second argument is not 'check'.
22472         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22473         gl_NEXT_HEADERS_INTERNAL.
22474
22475 2011-01-20  Bruno Haible  <bruno@clisp.org>
22476
22477         Allow the user to avoid the GNULIB_TEST_* macros.
22478         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22479         Suggested by Paul Eggert.
22480
22481 2011-01-14  Jim Meyering  <meyering@redhat.com>
22482
22483         bootstrap: avoid failure when there is no .gitmodules file
22484         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22485         has been assigned to, even when its value is the empty string.
22486         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22487         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22488         Reported by John W. Eaton <jwe@gnu.org>.
22489
22490 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22491
22492         assume <ctype.h>, ..., <time.h> exist
22493         For years gnulib has been assuming the existence of the headers
22494         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22495         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22496         them, since they don't appear to be needed.
22497         * README (Portability guidelines): Document this.
22498         * lib/flock.c: Assume <fcntl.h> exists.
22499         * lib/regex_internal.h: Assume <locale.h> exists.
22500         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22501         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22502         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22503         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22504         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22505         * m4/regex.m4 (gl_REGEX): Likewise.
22506         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22507         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22508         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22509         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22510         * tests/test-argp.c: Likewise.
22511         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22512
22513         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22514         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22515         AA_APPLE_UNIVERSAL_BUILD.  See
22516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22517         * NEWS: Document this.
22518
22519 2011-01-19  Eric Blake  <eblake@redhat.com>
22520
22521         c-stack: assume stack overflow if SA_SIGINFO unsupported
22522         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22523         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22524         sigaction will work.
22525         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22526         behavior match Linux.
22527         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22528
22529         stdbool-tests: accommodate Haiku
22530         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22531
22532         binary-io: fix O_TEXT on Haiku
22533         * modules/binary-io (Depends-on): Add fcntl-h.
22534         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22535         than blindly undefining O_TEXT.
22536         Reported by Scott McCreary.
22537
22538 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22539
22540         include_next: do not check for standard headers like stddef.h
22541
22542         I found this problem when modifying Emacs to use gnulib.
22543         I noticed that it added HAVE_STDDEF_H to config.h, even though
22544         gnulib always assumes <stddef.h> exists as per README and this
22545         symbol is unnecessary.
22546         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22547         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22548         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22549         faster for headers like stddef.h that are known to exist.
22550         (gl_CHECK_NEXT_HEADERS): Use it.
22551         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22552         rather than gl_CHECK_NEXT_HEADERS.
22553         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22554         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22555
22556 2011-01-18  Eric Blake  <eblake@redhat.com>
22557
22558         ansi-c++-opt: skip C++ dependency style if C++ is unused
22559         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22560         tests when we know C++ compilation is not desired.
22561         Reported by Scott McCreary.
22562
22563 2011-01-18  Bruno Haible  <bruno@clisp.org>
22564
22565         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22566         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22567         (main): Perform test also when getrlimit and setrlimit don't exist or
22568         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22569         limiting the address space size using setrlimit, compare the address
22570         space size before and after the the test.
22571         * tests/test-dprintf-posix2.c: Likewise.
22572         * tests/test-fprintf-posix3.sh: Update skip messages.
22573         * tests/test-dprintf-posix2.sh: Likewise.
22574         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22575         * modules/dprintf-posix-tests (Depends-on): Likewise.
22576         Reported by Bruce Korb <bkorb@gnu.org> and
22577         Gary V. Vaughan <gary@gnu.org>.
22578
22579 2011-01-18  Bruno Haible  <bruno@clisp.org>
22580
22581         get-rusage-as: Improvement for Cygwin.
22582         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22583         areas that are merely reserved.
22584
22585 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22586
22587         strftime: remove dependencies on multibyte modules
22588
22589         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22590         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22591         only if __osf__ is defined, and I suspect OSF doesn't need these
22592         other modules.  If my guess is wrong, we'll need to come up with a
22593         variant of strftime that doesn't need the multibyte modules.
22594
22595         I discovered this problem when attempting modify Emacs to use the
22596         strftime module.  With the previous gnulib, this caused Emacs to
22597         need 31 new files, ranging from lib/config.charset to
22598         m4/wint_t.m4.  This was overkill and I expect would be offputting
22599         to the Emacs maintainers.  After this change, only 6 new files are
22600         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22601         stdbool.m4, and tm_gmtoff.m4.
22602
22603         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22604         Suggested by Bruno Haible in
22605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22606         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22607         and do not check for wchar.h.
22608         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22609         (Depends-on): Remove mbrlen, mbsinit, wchar.
22610
22611 2011-01-18  Bruno Haible  <bruno@clisp.org>
22612
22613         Tests for module 'get-rusage-as'.
22614         * modules/get-rusage-as-tests: New file.
22615         * tests/test-get-rusage-as.c: New file.
22616
22617         New module 'get-rusage-as'.
22618         * modules/get-rusage-as: New file.
22619         * lib/resource-ext.h: New file.
22620         * lib/get-rusage-as.c: New file.
22621
22622 2011-01-17  Eric Blake  <eblake@redhat.com>
22623
22624         sigaction: relax license from LGPLv3+ to LGPLv2+
22625         * modules/sigaction (License): Relax to LGPLv2+.
22626
22627 2011-01-14  Bruno Haible  <bruno@clisp.org>
22628
22629         filemode: Make function declarations usable in C++ mode.
22630         * lib/filemode.h: Enclose function declarations in extern "C" block.
22631         Reported by John W. Eaton <jwe@gnu.org>.
22632
22633 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22634
22635         save-cwd: no longer include "xgetcwd.h"
22636         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22637         This avoids a compilation failure in projects that use save-cwd
22638         without also using the xgetcwd module.
22639
22640 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22641
22642         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22643         This is so that a program like Emacs, which needs only dtoastr,
22644         does not have to bother with distributing and compiling ftoastr
22645         and ldtoastr.
22646         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22647         * modules/dtoastr, modules/ldtoastr: New files.
22648         * modules/ftoastr: Now works just for 'float'.
22649         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22650         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22651         dtoastr.c, ldtoastr.c.
22652
22653 2011-01-11  Jim Meyering  <meyering@redhat.com>
22654
22655         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22656         There is no need to work around the lack of the fchdir function,
22657         since gnulib can now provide a replacement when required.
22658         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22659         * modules/save-cwd (Depends-on): Add fchdir.
22660
22661 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22662
22663         openat, save-cwd: avoid xmalloc
22664
22665         This removes a direct (but undocumented) dependency of openat on
22666         xalloc, along with an indirect dependency via save-cwd.  It also
22667         removes a dependency of save-cwd on xgetcwd, and thereby
22668         indirectly on xalloc.  This change causes the openat substitute
22669         to fall back on save_cwd when memory is tight, and for save_cwd to
22670         fail instead of dying when memory is tight, but that's good enough.
22671         Problem and initial idea for fix reported by Bastien Roucaries in
22672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
22673
22674         * lib/openat-proc.c: Include stdlib.h (for malloc), not
22675         xalloc.h (for xmalloc).
22676         (openat_proc_name): Use malloc, not xmalloc.
22677         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
22678         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
22679
22680         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
22681         This avoids heap allocation for file names whose lengths are in
22682         the range 512..1023, with the upper bound increasing to at most
22683         4031 depending on the platform's PATH_MAX.  (We do not want
22684         pathmax.h here as it might supply a non-constant PATH_MAX.)
22685         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22686         Perhaps they should be moved to malloca.h?
22687         (OPENAT_BUFFER_SIZE): Use them.
22688
22689 2011-01-10  Bruno Haible  <bruno@clisp.org>
22690
22691         doc: Update users.txt.
22692         * users.txt: Add recutils.
22693
22694 2011-01-09  Karl Berry  <karl@gnu.org>
22695
22696         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22697
22698         * doc/configmake.texi: New file.
22699         * doc/gnulib.texi: Include it.
22700         * modules/configmake: Move documentation from here.
22701
22702 2011-01-09  Bruno Haible  <bruno@clisp.org>
22703
22704         Update to Unicode 6.0.0.
22705         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22706         (get_lbp): Update for Unicode 6.0.0.
22707         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22708         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22709         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22710         U+11001, U+11038..U+11046. Remove U+06DE.
22711         (uc_width): Fix bounds of planes.
22712         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22713         lib/uniwidth/width.c.
22714         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22715         trailing whitespace removed.
22716         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22717         without comments, but with the original copyright notice.
22718         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22719         * lib/unicase/ignorable.h: Likewise.
22720         * lib/unicase/tocasefold.h: Likewise.
22721         * lib/unicase/tolower.h: Likewise.
22722         * lib/unicase/totitle.h: Likewise.
22723         * lib/unicase/toupper.h: Likewise.
22724         * lib/unictype/bidi_of.h: Likewise.
22725         * lib/unictype/blocks.h: Likewise.
22726         * lib/unictype/categ_C.h: Likewise.
22727         * lib/unictype/categ_Cn.h: Likewise.
22728         * lib/unictype/categ_L.h: Likewise.
22729         * lib/unictype/categ_Ll.h: Likewise.
22730         * lib/unictype/categ_Lm.h: Likewise.
22731         * lib/unictype/categ_Lo.h: Likewise.
22732         * lib/unictype/categ_Lu.h: Likewise.
22733         * lib/unictype/categ_M.h: Likewise.
22734         * lib/unictype/categ_Mc.h: Likewise.
22735         * lib/unictype/categ_Me.h: Likewise.
22736         * lib/unictype/categ_Mn.h: Likewise.
22737         * lib/unictype/categ_N.h: Likewise.
22738         * lib/unictype/categ_Nd.h: Likewise.
22739         * lib/unictype/categ_No.h: Likewise.
22740         * lib/unictype/categ_P.h: Likewise.
22741         * lib/unictype/categ_Po.h: Likewise.
22742         * lib/unictype/categ_S.h: Likewise.
22743         * lib/unictype/categ_Sc.h: Likewise.
22744         * lib/unictype/categ_Sk.h: Likewise.
22745         * lib/unictype/categ_Sm.h: Likewise.
22746         * lib/unictype/categ_So.h: Likewise.
22747         * lib/unictype/categ_of.h: Likewise.
22748         * lib/unictype/combining.h: Likewise.
22749         * lib/unictype/ctype_alnum.h: Likewise.
22750         * lib/unictype/ctype_alpha.h: Likewise.
22751         * lib/unictype/ctype_graph.h: Likewise.
22752         * lib/unictype/ctype_lower.h: Likewise.
22753         * lib/unictype/ctype_print.h: Likewise.
22754         * lib/unictype/ctype_punct.h: Likewise.
22755         * lib/unictype/ctype_upper.h: Likewise.
22756         * lib/unictype/decdigit.h: Likewise.
22757         * lib/unictype/digit.h: Likewise.
22758         * lib/unictype/numeric.h: Likewise.
22759         * lib/unictype/pr_alphabetic.h: Likewise.
22760         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22761         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22762         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22763         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22764         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22765         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22766         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22767         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22768         * lib/unictype/pr_case_ignorable.h: Likewise.
22769         * lib/unictype/pr_cased.h: Likewise.
22770         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22771         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22772         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22773         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22774         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22775         * lib/unictype/pr_combining.h: Likewise.
22776         * lib/unictype/pr_composite.h: Likewise.
22777         * lib/unictype/pr_currency_symbol.h: Likewise.
22778         * lib/unictype/pr_decimal_digit.h: Likewise.
22779         * lib/unictype/pr_deprecated.h: Likewise.
22780         * lib/unictype/pr_format_control.h: Likewise.
22781         * lib/unictype/pr_grapheme_base.h: Likewise.
22782         * lib/unictype/pr_grapheme_extend.h: Likewise.
22783         * lib/unictype/pr_grapheme_link.h: Likewise.
22784         * lib/unictype/pr_id_continue.h: Likewise.
22785         * lib/unictype/pr_id_start.h: Likewise.
22786         * lib/unictype/pr_ideographic.h: Likewise.
22787         * lib/unictype/pr_lowercase.h: Likewise.
22788         * lib/unictype/pr_math.h: Likewise.
22789         * lib/unictype/pr_numeric.h: Likewise.
22790         * lib/unictype/pr_other_alphabetic.h: Likewise.
22791         * lib/unictype/pr_other_id_continue.h: Likewise.
22792         * lib/unictype/pr_other_math.h: Likewise.
22793         * lib/unictype/pr_punctuation.h: Likewise.
22794         * lib/unictype/pr_sentence_terminal.h: Likewise.
22795         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22796         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22797         * lib/unictype/pr_unified_ideograph.h: Likewise.
22798         * lib/unictype/pr_uppercase.h: Likewise.
22799         * lib/unictype/pr_xid_continue.h: Likewise.
22800         * lib/unictype/pr_xid_start.h: Likewise.
22801         * lib/unictype/scripts.h: Likewise.
22802         * lib/unictype/scripts_byname.gperf: Likewise.
22803         * lib/unictype/sy_java_ident.h: Likewise.
22804         * lib/unigbrk/gbrkprop.h: Likewise.
22805         * lib/unilbrk/lbrkprop1.h: Likewise.
22806         * lib/unilbrk/lbrkprop2.h: Likewise.
22807         * lib/uninorm/decomposition-table2.h: Likewise.
22808         * lib/uniwbrk/wbrkprop.h: Likewise.
22809         * tests/unicase/test-cased.c: Likewise.
22810         * tests/unicase/test-ignorable.c: Likewise.
22811         * tests/unicase/test-uc_tolower.c: Likewise.
22812         * tests/unicase/test-uc_totitle.c: Likewise.
22813         * tests/unicase/test-uc_toupper.c: Likewise.
22814         * tests/unictype/test-categ_C.c: Likewise.
22815         * tests/unictype/test-categ_Cn.c: Likewise.
22816         * tests/unictype/test-categ_L.c: Likewise.
22817         * tests/unictype/test-categ_Ll.c: Likewise.
22818         * tests/unictype/test-categ_Lm.c: Likewise.
22819         * tests/unictype/test-categ_Lo.c: Likewise.
22820         * tests/unictype/test-categ_Lu.c: Likewise.
22821         * tests/unictype/test-categ_M.c: Likewise.
22822         * tests/unictype/test-categ_Mc.c: Likewise.
22823         * tests/unictype/test-categ_Me.c: Likewise.
22824         * tests/unictype/test-categ_Mn.c: Likewise.
22825         * tests/unictype/test-categ_N.c: Likewise.
22826         * tests/unictype/test-categ_Nd.c: Likewise.
22827         * tests/unictype/test-categ_No.c: Likewise.
22828         * tests/unictype/test-categ_P.c: Likewise.
22829         * tests/unictype/test-categ_Po.c: Likewise.
22830         * tests/unictype/test-categ_S.c: Likewise.
22831         * tests/unictype/test-categ_Sc.c: Likewise.
22832         * tests/unictype/test-categ_Sk.c: Likewise.
22833         * tests/unictype/test-categ_Sm.c: Likewise.
22834         * tests/unictype/test-categ_So.c: Likewise.
22835         * tests/unictype/test-ctype_alnum.c: Likewise.
22836         * tests/unictype/test-ctype_alpha.c: Likewise.
22837         * tests/unictype/test-ctype_graph.c: Likewise.
22838         * tests/unictype/test-ctype_lower.c: Likewise.
22839         * tests/unictype/test-ctype_print.c: Likewise.
22840         * tests/unictype/test-ctype_punct.c: Likewise.
22841         * tests/unictype/test-ctype_upper.c: Likewise.
22842         * tests/unictype/test-decdigit.h: Likewise.
22843         * tests/unictype/test-digit.h: Likewise.
22844         * tests/unictype/test-numeric.h: Likewise.
22845         * tests/unictype/test-pr_alphabetic.c: Likewise.
22846         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22847         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22848         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22849         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22850         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22851         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22852         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22853         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22854         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22855         * tests/unictype/test-pr_cased.c: Likewise.
22856         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22857         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22858         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22859         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22860         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22861         * tests/unictype/test-pr_combining.c: Likewise.
22862         * tests/unictype/test-pr_composite.c: Likewise.
22863         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22864         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22865         * tests/unictype/test-pr_deprecated.c: Likewise.
22866         * tests/unictype/test-pr_format_control.c: Likewise.
22867         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22868         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22869         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22870         * tests/unictype/test-pr_id_continue.c: Likewise.
22871         * tests/unictype/test-pr_id_start.c: Likewise.
22872         * tests/unictype/test-pr_ideographic.c: Likewise.
22873         * tests/unictype/test-pr_lowercase.c: Likewise.
22874         * tests/unictype/test-pr_math.c: Likewise.
22875         * tests/unictype/test-pr_numeric.c: Likewise.
22876         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22877         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22878         * tests/unictype/test-pr_other_math.c: Likewise.
22879         * tests/unictype/test-pr_punctuation.c: Likewise.
22880         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22881         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22882         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22883         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22884         * tests/unictype/test-pr_uppercase.c: Likewise.
22885         * tests/unictype/test-pr_xid_continue.c: Likewise.
22886         * tests/unictype/test-pr_xid_start.c: Likewise.
22887         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22888         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22889         changes.
22890         * lib/unictype/categ_Cc.h: Likewise.
22891         * lib/unictype/categ_Cf.h: Likewise.
22892         * lib/unictype/categ_Co.h: Likewise.
22893         * lib/unictype/categ_Cs.h: Likewise.
22894         * lib/unictype/categ_Lt.h: Likewise.
22895         * lib/unictype/categ_Nl.h: Likewise.
22896         * lib/unictype/categ_Pc.h: Likewise.
22897         * lib/unictype/categ_Pd.h: Likewise.
22898         * lib/unictype/categ_Pe.h: Likewise.
22899         * lib/unictype/categ_Pf.h: Likewise.
22900         * lib/unictype/categ_Pi.h: Likewise.
22901         * lib/unictype/categ_Ps.h: Likewise.
22902         * lib/unictype/categ_Z.h: Likewise.
22903         * lib/unictype/categ_Zl.h: Likewise.
22904         * lib/unictype/categ_Zp.h: Likewise.
22905         * lib/unictype/categ_Zs.h: Likewise.
22906         * lib/unictype/ctype_blank.h: Likewise.
22907         * lib/unictype/ctype_cntrl.h: Likewise.
22908         * lib/unictype/ctype_digit.h: Likewise.
22909         * lib/unictype/ctype_space.h: Likewise.
22910         * lib/unictype/ctype_xdigit.h: Likewise.
22911         * lib/unictype/mirror.h: Likewise.
22912         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22913         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22914         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22915         * lib/unictype/pr_bidi_control.h: Likewise.
22916         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22917         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22918         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22919         * lib/unictype/pr_bidi_pdf.h: Likewise.
22920         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22921         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22922         * lib/unictype/pr_dash.h: Likewise.
22923         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22924         * lib/unictype/pr_diacritic.h: Likewise.
22925         * lib/unictype/pr_extender.h: Likewise.
22926         * lib/unictype/pr_hex_digit.h: Likewise.
22927         * lib/unictype/pr_hyphen.h: Likewise.
22928         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22929         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22930         * lib/unictype/pr_ignorable_control.h: Likewise.
22931         * lib/unictype/pr_iso_control.h: Likewise.
22932         * lib/unictype/pr_join_control.h: Likewise.
22933         * lib/unictype/pr_left_of_pair.h: Likewise.
22934         * lib/unictype/pr_line_separator.h: Likewise.
22935         * lib/unictype/pr_logical_order_exception.h: Likewise.
22936         * lib/unictype/pr_non_break.h: Likewise.
22937         * lib/unictype/pr_not_a_character.h: Likewise.
22938         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22939         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22940         * lib/unictype/pr_other_id_start.h: Likewise.
22941         * lib/unictype/pr_other_lowercase.h: Likewise.
22942         * lib/unictype/pr_other_uppercase.h: Likewise.
22943         * lib/unictype/pr_paired_punctuation.h: Likewise.
22944         * lib/unictype/pr_paragraph_separator.h: Likewise.
22945         * lib/unictype/pr_pattern_syntax.h: Likewise.
22946         * lib/unictype/pr_pattern_white_space.h: Likewise.
22947         * lib/unictype/pr_private_use.h: Likewise.
22948         * lib/unictype/pr_quotation_mark.h: Likewise.
22949         * lib/unictype/pr_radical.h: Likewise.
22950         * lib/unictype/pr_soft_dotted.h: Likewise.
22951         * lib/unictype/pr_space.h: Likewise.
22952         * lib/unictype/pr_titlecase.h: Likewise.
22953         * lib/unictype/pr_variation_selector.h: Likewise.
22954         * lib/unictype/pr_white_space.h: Likewise.
22955         * lib/unictype/pr_zero_width.h: Likewise.
22956         * lib/unictype/sy_c_ident.h: Likewise.
22957         * lib/unictype/sy_c_whitespace.h: Likewise.
22958         * lib/unictype/sy_java_whitespace.h: Likewise.
22959         * lib/uninorm/composition-table.gperf: Likewise.
22960         * lib/uninorm/decomposition-table1.h: Likewise.
22961         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22962         LB8.
22963         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22964         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22965         * modules/unictype/*: Bump version number of expected libunistring
22966         version.
22967
22968 2011-01-09  Bruno Haible  <bruno@clisp.org>
22969
22970         Update to Unicode 5.2.0.
22971         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22972         trailing whitespace removed.
22973
22974 2011-01-09  Bruno Haible  <bruno@clisp.org>
22975
22976         New Unicode character properties, from Unicode 5.2.0.
22977         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22978         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22979         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22980         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22981         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22982         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22983         uc_is_property_cased, uc_is_property_case_ignorable,
22984         uc_is_property_changes_when_lowercased,
22985         uc_is_property_changes_when_uppercased,
22986         uc_is_property_changes_when_titlecased,
22987         uc_is_property_changes_when_casefolded,
22988         uc_is_property_changes_when_casemapped): New declarations.
22989         * lib/unictype/pr_byname.gperf: Add the new properties.
22990         * modules/unictype/property-byname (Depends-on): Depend on the new
22991         properties modules.
22992         * modules/unictype/property-all (Depends-on): Likewise.
22993         * MODULES.html.sh (Unicode string functions): Add
22994         unictype/property-case-ignorable, unictype/property-cased,
22995         unictype/property-changes-when-casefolded,
22996         unictype/property-changes-when-casemapped,
22997         unictype/property-changes-when-lowercased,
22998         unictype/property-changes-when-titlecased,
22999         unictype/property-changes-when-uppercased.
23000
23001         New module 'unictype/property-changes-when-casemapped'.
23002         * modules/unictype/property-changes-when-casemapped: New file.
23003         * lib/unictype/pr_changes_when_casemapped.c: New file.
23004         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23005         generated by gen-uni-tables.
23006         * modules/unictype/property-changes-when-casemapped-tests: New file.
23007         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23008         automatically generated by gen-uni-tables.
23009
23010         New module 'unictype/property-changes-when-casefolded'.
23011         * modules/unictype/property-changes-when-casefolded: New file.
23012         * lib/unictype/pr_changes_when_casefolded.c: New file.
23013         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23014         generated by gen-uni-tables.
23015         * modules/unictype/property-changes-when-casefolded-tests: New file.
23016         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23017         automatically generated by gen-uni-tables.
23018
23019         New module 'unictype/property-changes-when-titlecased'.
23020         * modules/unictype/property-changes-when-titlecased: New file.
23021         * lib/unictype/pr_changes_when_titlecased.c: New file.
23022         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23023         generated by gen-uni-tables.
23024         * modules/unictype/property-changes-when-titlecased-tests: New file.
23025         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23026         automatically generated by gen-uni-tables.
23027
23028         New module 'unictype/property-changes-when-uppercased'.
23029         * modules/unictype/property-changes-when-uppercased: New file.
23030         * lib/unictype/pr_changes_when_uppercased.c: New file.
23031         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23032         generated by gen-uni-tables.
23033         * modules/unictype/property-changes-when-uppercased-tests: New file.
23034         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23035         automatically generated by gen-uni-tables.
23036
23037         New module 'unictype/property-changes-when-lowercased'.
23038         * modules/unictype/property-changes-when-lowercased: New file.
23039         * lib/unictype/pr_changes_when_lowercased.c: New file.
23040         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23041         generated by gen-uni-tables.
23042         * modules/unictype/property-changes-when-lowercased-tests: New file.
23043         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23044         automatically generated by gen-uni-tables.
23045
23046         New module 'unictype/property-case-ignorable'.
23047         * modules/unictype/property-case-ignorable: New file.
23048         * lib/unictype/pr_case_ignorable.c: New file.
23049         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23050         by gen-uni-tables.
23051         * modules/unictype/property-case-ignorable-tests: New file.
23052         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23053         generated by gen-uni-tables.
23054
23055         New module 'unictype/property-cased'.
23056         * modules/unictype/property-cased: New file.
23057         * lib/unictype/pr_cased.c: New file.
23058         * lib/unictype/pr_cased.h: New file, automatically generated by
23059         gen-uni-tables.
23060         * modules/unictype/property-cased-tests: New file.
23061         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23062         gen-uni-tables.
23063
23064 2011-01-09  Bruno Haible  <bruno@clisp.org>
23065
23066         Update to Unicode 5.2.0.
23067         * lib/gen-uni-tables.c (output_predicate, output_category,
23068         output_combclass, output_bidi_category, output_decimal_digit_test,
23069         output_decimal_digit, output_digit_test, output_digit,
23070         output_numeric_test, output_numeric, output_mirror, output_scripts,
23071         output_scripts_byname, output_blocks, output_ident_category): Fix
23072         comment header.
23073         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23074         get_wbp.
23075         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23076         items.
23077         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23078         Changes_When_Lowercased, Changes_When_Uppercased,
23079         Changes_When_Titlecased, Changes_When_Casefolded,
23080         Changes_When_Casemapped.
23081         (is_property_alphabetic, is_property_default_ignorable_code_point):
23082         Update for Unicode 5.2.0.
23083         (is_property_cased, is_property_case_ignorable,
23084         is_property_changes_when_lowercased,
23085         is_property_changes_when_uppercased,
23086         is_property_changes_when_titlecased,
23087         is_property_changes_when_casefolded,
23088         is_property_changes_when_casemapped): New functions.
23089         (output_properties): Output also the properties cased, case_ignorable,
23090         changes_when_lowercased, changes_when_uppercased,
23091         changes_when_titlecased, changes_when_casefolded,
23092         changes_when_casemapped.
23093         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23094         Unicode TR#11 revision 17 -> 19.
23095         (LBP_CP): New enumeration value.
23096         (LBP_*): Adjust values accordingly.
23097         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23098         TR#14 revision 22 -> 24.
23099         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23100         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23101         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23102         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23103         is_WBP_MIDLETTER.
23104         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23105         the code1 and code2 of each composition rule.
23106         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23107         * lib/unicase/ignorable.h: Likewise.
23108         * lib/unicase/tocasefold.h: Likewise.
23109         * lib/unicase/tolower.h: Likewise.
23110         * lib/unicase/totitle.h: Likewise.
23111         * lib/unicase/toupper.h: Likewise.
23112         * lib/unictype/bidi_of.h: Likewise.
23113         * lib/unictype/blocks.h: Likewise.
23114         * lib/unictype/categ_C.h: Likewise.
23115         * lib/unictype/categ_Cf.h: Likewise.
23116         * lib/unictype/categ_Cn.h: Likewise.
23117         * lib/unictype/categ_L.h: Likewise.
23118         * lib/unictype/categ_Ll.h: Likewise.
23119         * lib/unictype/categ_Lm.h: Likewise.
23120         * lib/unictype/categ_Lo.h: Likewise.
23121         * lib/unictype/categ_Lu.h: Likewise.
23122         * lib/unictype/categ_M.h: Likewise.
23123         * lib/unictype/categ_Mc.h: Likewise.
23124         * lib/unictype/categ_Mn.h: Likewise.
23125         * lib/unictype/categ_N.h: Likewise.
23126         * lib/unictype/categ_Nd.h: Likewise.
23127         * lib/unictype/categ_Nl.h: Likewise.
23128         * lib/unictype/categ_No.h: Likewise.
23129         * lib/unictype/categ_P.h: Likewise.
23130         * lib/unictype/categ_Pd.h: Likewise.
23131         * lib/unictype/categ_Po.h: Likewise.
23132         * lib/unictype/categ_S.h: Likewise.
23133         * lib/unictype/categ_Sc.h: Likewise.
23134         * lib/unictype/categ_So.h: Likewise.
23135         * lib/unictype/categ_of.h: Likewise.
23136         * lib/unictype/combining.h: Likewise.
23137         * lib/unictype/ctype_alnum.h: Likewise.
23138         * lib/unictype/ctype_alpha.h: Likewise.
23139         * lib/unictype/ctype_graph.h: Likewise.
23140         * lib/unictype/ctype_lower.h: Likewise.
23141         * lib/unictype/ctype_print.h: Likewise.
23142         * lib/unictype/ctype_punct.h: Likewise.
23143         * lib/unictype/ctype_upper.h: Likewise.
23144         * lib/unictype/decdigit.h: Likewise.
23145         * lib/unictype/digit.h: Likewise.
23146         * lib/unictype/numeric.h: Likewise.
23147         * lib/unictype/pr_alphabetic.h: Likewise.
23148         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23149         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23150         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23151         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23152         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23153         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23154         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23155         * lib/unictype/pr_combining.h: Likewise.
23156         * lib/unictype/pr_composite.h: Likewise.
23157         * lib/unictype/pr_currency_symbol.h: Likewise.
23158         * lib/unictype/pr_dash.h: Likewise.
23159         * lib/unictype/pr_decimal_digit.h: Likewise.
23160         * lib/unictype/pr_deprecated.h: Likewise.
23161         * lib/unictype/pr_diacritic.h: Likewise.
23162         * lib/unictype/pr_extender.h: Likewise.
23163         * lib/unictype/pr_grapheme_base.h: Likewise.
23164         * lib/unictype/pr_grapheme_extend.h: Likewise.
23165         * lib/unictype/pr_grapheme_link.h: Likewise.
23166         * lib/unictype/pr_id_continue.h: Likewise.
23167         * lib/unictype/pr_id_start.h: Likewise.
23168         * lib/unictype/pr_ideographic.h: Likewise.
23169         * lib/unictype/pr_ignorable_control.h: Likewise.
23170         * lib/unictype/pr_logical_order_exception.h: Likewise.
23171         * lib/unictype/pr_lowercase.h: Likewise.
23172         * lib/unictype/pr_numeric.h: Likewise.
23173         * lib/unictype/pr_other_alphabetic.h: Likewise.
23174         * lib/unictype/pr_punctuation.h: Likewise.
23175         * lib/unictype/pr_sentence_terminal.h: Likewise.
23176         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23177         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23178         * lib/unictype/pr_unified_ideograph.h: Likewise.
23179         * lib/unictype/pr_uppercase.h: Likewise.
23180         * lib/unictype/pr_xid_continue.h: Likewise.
23181         * lib/unictype/pr_xid_start.h: Likewise.
23182         * lib/unictype/pr_zero_width.h: Likewise.
23183         * lib/unictype/scripts.h: Likewise.
23184         * lib/unictype/scripts_byname.gperf: Likewise.
23185         * lib/unictype/sy_java_ident.h: Likewise.
23186         * lib/unigbrk/gbrkprop.h: Likewise.
23187         * lib/unilbrk/lbrkprop1.h: Likewise.
23188         * lib/unilbrk/lbrkprop2.h: Likewise.
23189         * lib/unilbrk/lbrktables.h: Likewise.
23190         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23191         LBP_CP. Implement rule LB30.
23192         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23193         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23194         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23195         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23196         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23197         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23198         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23199         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23200         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23201         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23202         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23203         bits instead of 16 bits in the code1 and code2 of each composition
23204         rule.
23205         (uc_composition): Update for Unicode 5.2.0.
23206         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23207         * lib/uninorm/decomposition-table2.h: Likewise.
23208         * lib/uniwbrk/wbrkprop.h: Likewise.
23209         * tests/unicase/test-cased.c: Likewise.
23210         * tests/unicase/test-ignorable.c: Likewise.
23211         * tests/unicase/test-uc_tolower.c: Likewise.
23212         * tests/unicase/test-uc_totitle.c: Likewise.
23213         * tests/unicase/test-uc_toupper.c: Likewise.
23214         * tests/unictype/test-categ_C.c: Likewise.
23215         * tests/unictype/test-categ_Cf.c: Likewise.
23216         * tests/unictype/test-categ_Cn.c: Likewise.
23217         * tests/unictype/test-categ_L.c: Likewise.
23218         * tests/unictype/test-categ_Ll.c: Likewise.
23219         * tests/unictype/test-categ_Lm.c: Likewise.
23220         * tests/unictype/test-categ_Lo.c: Likewise.
23221         * tests/unictype/test-categ_Lu.c: Likewise.
23222         * tests/unictype/test-categ_M.c: Likewise.
23223         * tests/unictype/test-categ_Mc.c: Likewise.
23224         * tests/unictype/test-categ_Mn.c: Likewise.
23225         * tests/unictype/test-categ_N.c: Likewise.
23226         * tests/unictype/test-categ_Nd.c: Likewise.
23227         * tests/unictype/test-categ_Nl.c: Likewise.
23228         * tests/unictype/test-categ_No.c: Likewise.
23229         * tests/unictype/test-categ_P.c: Likewise.
23230         * tests/unictype/test-categ_Pd.c: Likewise.
23231         * tests/unictype/test-categ_Po.c: Likewise.
23232         * tests/unictype/test-categ_S.c: Likewise.
23233         * tests/unictype/test-categ_Sc.c: Likewise.
23234         * tests/unictype/test-categ_So.c: Likewise.
23235         * tests/unictype/test-ctype_alnum.c: Likewise.
23236         * tests/unictype/test-ctype_alpha.c: Likewise.
23237         * tests/unictype/test-ctype_graph.c: Likewise.
23238         * tests/unictype/test-ctype_lower.c: Likewise.
23239         * tests/unictype/test-ctype_print.c: Likewise.
23240         * tests/unictype/test-ctype_punct.c: Likewise.
23241         * tests/unictype/test-ctype_upper.c: Likewise.
23242         * tests/unictype/test-decdigit.h: Likewise.
23243         * tests/unictype/test-digit.h: Likewise.
23244         * tests/unictype/test-numeric.h: Likewise.
23245         * tests/unictype/test-pr_alphabetic.c: Likewise.
23246         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23247         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23248         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23249         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23250         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23251         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23252         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23253         * tests/unictype/test-pr_combining.c: Likewise.
23254         * tests/unictype/test-pr_composite.c: Likewise.
23255         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23256         * tests/unictype/test-pr_dash.c: Likewise.
23257         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23258         * tests/unictype/test-pr_deprecated.c: Likewise.
23259         * tests/unictype/test-pr_diacritic.c: Likewise.
23260         * tests/unictype/test-pr_extender.c: Likewise.
23261         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23262         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23263         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23264         * tests/unictype/test-pr_id_continue.c: Likewise.
23265         * tests/unictype/test-pr_id_start.c: Likewise.
23266         * tests/unictype/test-pr_ideographic.c: Likewise.
23267         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23268         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23269         * tests/unictype/test-pr_lowercase.c: Likewise.
23270         * tests/unictype/test-pr_numeric.c: Likewise.
23271         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23272         * tests/unictype/test-pr_punctuation.c: Likewise.
23273         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23274         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23275         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23276         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23277         * tests/unictype/test-pr_uppercase.c: Likewise.
23278         * tests/unictype/test-pr_xid_continue.c: Likewise.
23279         * tests/unictype/test-pr_xid_start.c: Likewise.
23280         * tests/unictype/test-pr_zero_width.c: Likewise.
23281         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23282         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23283         changed behaviour: line breaking is now disallowed between a letter
23284         or '=' and '('.
23285         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23286         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23287         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23288         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23289         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23290         lib/uniwidth/width.c.
23291         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23292         without comments, but with the original copyright notice.
23293         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23294         changes.
23295         * lib/unictype/categ_Cc.h: Likewise.
23296         * lib/unictype/categ_Co.h: Likewise.
23297         * lib/unictype/categ_Cs.h: Likewise.
23298         * lib/unictype/categ_Lt.h: Likewise.
23299         * lib/unictype/categ_Me.h: Likewise.
23300         * lib/unictype/categ_Pc.h: Likewise.
23301         * lib/unictype/categ_Pe.h: Likewise.
23302         * lib/unictype/categ_Pf.h: Likewise.
23303         * lib/unictype/categ_Pi.h: Likewise.
23304         * lib/unictype/categ_Ps.h: Likewise.
23305         * lib/unictype/categ_Sk.h: Likewise.
23306         * lib/unictype/categ_Sm.h: Likewise.
23307         * lib/unictype/categ_Z.h: Likewise.
23308         * lib/unictype/categ_Zl.h: Likewise.
23309         * lib/unictype/categ_Zp.h: Likewise.
23310         * lib/unictype/categ_Zs.h: Likewise.
23311         * lib/unictype/ctype_blank.h: Likewise.
23312         * lib/unictype/ctype_cntrl.h: Likewise.
23313         * lib/unictype/ctype_digit.h: Likewise.
23314         * lib/unictype/ctype_space.h: Likewise.
23315         * lib/unictype/ctype_xdigit.h: Likewise.
23316         * lib/unictype/mirror.h: Likewise.
23317         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23318         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23319         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23320         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23321         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23322         * lib/unictype/pr_bidi_control.h: Likewise.
23323         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23324         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23325         * lib/unictype/pr_bidi_pdf.h: Likewise.
23326         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23327         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23328         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23329         * lib/unictype/pr_format_control.h: Likewise.
23330         * lib/unictype/pr_hex_digit.h: Likewise.
23331         * lib/unictype/pr_hyphen.h: Likewise.
23332         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23333         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23334         * lib/unictype/pr_iso_control.h: Likewise.
23335         * lib/unictype/pr_join_control.h: Likewise.
23336         * lib/unictype/pr_left_of_pair.h: Likewise.
23337         * lib/unictype/pr_line_separator.h: Likewise.
23338         * lib/unictype/pr_math.h: Likewise.
23339         * lib/unictype/pr_non_break.h: Likewise.
23340         * lib/unictype/pr_not_a_character.h: Likewise.
23341         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23342         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23343         * lib/unictype/pr_other_id_continue.h: Likewise.
23344         * lib/unictype/pr_other_id_start.h: Likewise.
23345         * lib/unictype/pr_other_lowercase.h: Likewise.
23346         * lib/unictype/pr_other_math.h: Likewise.
23347         * lib/unictype/pr_other_uppercase.h: Likewise.
23348         * lib/unictype/pr_paired_punctuation.h: Likewise.
23349         * lib/unictype/pr_paragraph_separator.h: Likewise.
23350         * lib/unictype/pr_pattern_syntax.h: Likewise.
23351         * lib/unictype/pr_pattern_white_space.h: Likewise.
23352         * lib/unictype/pr_private_use.h: Likewise.
23353         * lib/unictype/pr_quotation_mark.h: Likewise.
23354         * lib/unictype/pr_radical.h: Likewise.
23355         * lib/unictype/pr_soft_dotted.h: Likewise.
23356         * lib/unictype/pr_space.h: Likewise.
23357         * lib/unictype/pr_titlecase.h: Likewise.
23358         * lib/unictype/pr_variation_selector.h: Likewise.
23359         * lib/unictype/pr_white_space.h: Likewise.
23360         * lib/unictype/sy_c_ident.h: Likewise.
23361         * lib/unictype/sy_c_whitespace.h: Likewise.
23362         * lib/unictype/sy_java_whitespace.h: Likewise.
23363         * modules/uni*/*: Bump version number of expected libunistring version.
23364         Reported by Simon Josefsson.
23365
23366 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23367
23368         useless-if-before-free: fix typo in --help and make the internal,
23369         automatic version date update process work once again.
23370         --help output contained a NUL character instead of the
23371         backslash-zero that was intended.  Also, the "must lie within
23372         the first 8 lines" line is on line 9, and hence not getting
23373         automatically updated.
23374         * build-aux/useless-if-before-free: Fix the former by adding a
23375         backslash, and the latter by condensing the three lines of what-it-does
23376         to a single line, leaving one line of slack for the future.
23377
23378 2011-01-09  Bruno Haible  <bruno@clisp.org>
23379
23380         uniwidth/width: Fix width of U+1D173..U+1D17A.
23381         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23382         symbolic_width, output_width_property_test): New functions.
23383         (main): Invoke output_nonspacing_property, output_width_property_test.
23384         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23385         U+1D173..U+1D17A.
23386         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23387         1.
23388         * modules/uniwidth/*: Bump version number of expected libunistring
23389         version.
23390         * modules/unilbrk/*: Likewise.
23391
23392 2011-01-08  Bruno Haible  <bruno@clisp.org>
23393
23394         uninorm tests: Preserve copyright of Unicode data file.
23395         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23396         Mention modifications.
23397
23398 2011-01-08  Bruno Haible  <bruno@clisp.org>
23399
23400         gen-uni-tables: Prepare for Unicode 5.2.0.
23401         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23402         (debug_output_lbp, output_lbp): Update.
23403
23404 2011-01-08  Bruno Haible  <bruno@clisp.org>
23405
23406         unilbrk: Clarify gen-uni-tables.c code.
23407         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23408         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23409         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23410
23411 2011-01-07  Bruno Haible  <bruno@clisp.org>
23412
23413         strtod: Restore errno when successfully parsing Infinity or NaN.
23414         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23415         restore the original errno.
23416
23417 2011-01-07  Bruno Haible  <bruno@clisp.org>
23418
23419         remove test: Avoid failure on HP-UX 11.
23420         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23421
23422 2011-01-07  Bruno Haible  <bruno@clisp.org>
23423
23424         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23425         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23426         error code.
23427
23428 2011-01-07  Pádraig Brady <P@draigBrady.com>
23429
23430         ignore-value: fixup comments, and add Eric Blake
23431         as an author since he rewrote the macros.
23432         * lib/ignore-value.h (ignore_value):  State that
23433         we now support aggregates.  Also specify exactly
23434         when the GCC warn_unused_result feature was added.
23435
23436 2011-01-06  Eric Blake  <eblake@redhat.com>
23437
23438         ignore-value: support aggregate types
23439         * lib/ignore-value.h (ignore_value): Provide separate gcc
23440         definition.
23441         * modules/ignore-value-tests: New test module.
23442         * tests/test-ignore-value.c: New test.
23443
23444         maint.mk: improve sc_prohibit_strcmp regex
23445         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23446         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23447         definition of STRNEQ.
23448
23449         signal: work around Haiku issue with SIGBUS
23450         * lib/siglist.h: Add comment.
23451         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23452         strsignal's favoring of SIGSEGV.
23453         * tests/test-signal.c (main): Avoid test failure.
23454         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23455         Reported by Scott McCreary.
23456
23457         maint.mk: add pre-release check to ensure submodule commits are public
23458         * top/maint.mk (public-submodule-commit): New rule.
23459         (submodule-checks): New variable.
23460         (alpha beta stable): Depend on the variable.
23461
23462 2011-01-05  Pádraig Brady <P@draigBrady.com>
23463         and Jim Meyering  <meyering@redhat.com>
23464
23465         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23466         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23467         (ATTRIBUTE_DEPRECATED): Define.
23468         (_ignore_case): New function.
23469         (ignore_value): New macro, to replace the old function.
23470         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23471         * modules/ignore-value (Depends-on): Add stdint.
23472
23473 2011-01-04  Eric Blake  <eblake@redhat.com>
23474
23475         doc: regenerate INSTALL
23476         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23477         @firstparagraphindent support, now that autoconf dropped it.
23478         (INSTALL_PRELUDE): Reinstate old macro.
23479         * doc/install.texi: Resync from autoconf.
23480         * doc/INSTALL: Reflect recent autoconf update.
23481         * doc/INSTALL.ISO: Likewise.
23482         * doc/INSTALL.UTF-8: Likewise.
23483         Reported by Karl Berry.
23484
23485 2011-01-04  Bruce Korb  <address@hidden>
23486
23487         git-version-gen: avoid a sub-shell
23488         * build-aux/git-version-gen: Redirect stderr in `...` via
23489         "exec 2>...", rather than via an added sub-shell.
23490
23491 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23492
23493         git-version-gen: use (...) rather than sh -c '...'
23494         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23495         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23496
23497 2011-01-03  Jim Meyering  <meyering@redhat.com>
23498
23499         git-version-gen: convert leading TABs to spaces
23500         * build-aux/git-version-gen: Expand leading TABs.
23501
23502         git-version-gen: handle failed "git rev-list"
23503         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23504         from git and proceeding as if it had succeeded but printed no SHA1
23505         checksums, suppress the diagnostic and handle the failure.
23506         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23507
23508         git-version-gen: include command name in one more diagnostic
23509         * build-aux/git-version-gen: When the required .tarball-version file
23510         was missing or unreadable, you might see the diagnostic from "cat",
23511         but no trace of the name of the invoking script.  Now, you still see
23512         the diagnostic from cat, but also get one from "git-version-gen: ".
23513         Inspired by a patch from Bruce Korb.
23514
23515         update-copyright: adjust test to match changed code
23516         * tests/test-update-copyright.sh: Change test's expected output
23517         to match new actual output.
23518
23519 2011-01-02  Bruno Haible  <bruno@clisp.org>
23520
23521         getlogin_r: Avoid test failure on HP-UX 11.
23522         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23523         ERANGE when the second argument is zero.
23524         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23525         portability problem.
23526
23527 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23528
23529         * build-aux/update-copyright: doc Simon's changes
23530
23531 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23532
23533         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23534         environment variable.
23535
23536 2011-01-02  Bruno Haible  <bruno@clisp.org>
23537
23538         unigbrk: Avoid gcc warnings.
23539         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23540         unused variable.
23541         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23542         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23543         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23544         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23545         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23546         Change type of first argument to 'const char *'.
23547         (main): Remove unused variable.
23548         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23549         type of first argument to 'const char *'.
23550         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23551         Likewise.
23552         (main): Change type of variable 's'.
23553         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23554         to 'int'.
23555
23556 2011-01-02  Bruno Haible  <bruno@clisp.org>
23557
23558         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23559         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23560         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23561         bug.
23562         * lib/pwrite.c: Undo 2010-12-31 patch.
23563         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23564
23565 2011-01-02  Bruno Haible  <bruno@clisp.org>
23566
23567         pread: Fix test whether it works.
23568         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23569
23570 2011-01-02  Bruno Haible  <bruno@clisp.org>
23571
23572         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23573         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23574         ends in "6". Don't require a specific month name. Try also the locale
23575         names found on HP-UX 11 and Solaris 7.
23576
23577 2011-01-02  Bruno Haible  <bruno@clisp.org>
23578
23579         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23580         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23581         C linkage.
23582         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23583
23584 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23585
23586         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23587         for consistency, since the "cluster" term is not used elsewhere.
23588         * lib/unigbrk.in.h: Update name.
23589         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23590         * lib/unigbrk/u16-grapheme-next.c: Update name.
23591         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23592         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23593         * lib/unigbrk/u32-grapheme-next.c: Update name.
23594         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23595         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23596         * lib/unigbrk/u8-grapheme-next.c: Update name.
23597         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23598         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23599         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23600         Suggested by Bruno Haible.
23601
23602 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23603
23604         Remove module 'u8-grapheme-len' as too redundant with
23605         'u8-grapheme-next'.
23606         * modules/unigbrk/u8-grapheme-len: Delete file.
23607         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23608         * lib/unigbrk.in.h: Remove prototype for deleted function.
23609         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23610         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23611
23612         Remove module 'u16-grapheme-len' as too redundant with
23613         'u16-grapheme-next'.
23614         * modules/unigbrk/u16-grapheme-len: Delete file.
23615         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23616         * lib/unigbrk.in.h: Remove prototype for deleted function.
23617         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23618         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23619
23620         Remove module 'u32-grapheme-len' as too redundant with
23621         'u32-grapheme-next'.
23622         * modules/unigbrk/u32-grapheme-len: Delete file.
23623         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23624         * lib/unigbrk.in.h: Remove prototype for deleted function.
23625         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23626         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23627
23628         Suggested by Bruno Haible.
23629
23630 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23631
23632         * unigbrk.in.h: Fix typo: "ben" => "been".
23633         Reported by Bruno Haible.
23634
23635 2011-01-01  Jim Meyering  <meyering@redhat.com>
23636
23637         maint: update almost all copyright ranges to include 2011
23638         Run the new "make update-copyright" rule.
23639
23640 2011-01-01  Jim Meyering  <meyering@redhat.com>
23641
23642         maint: update-copyright: exempt doc/INSTALL*
23643         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23644         since they are generated.  Suggested by Bruno Haible.
23645
23646 2011-01-01  Jim Meyering  <meyering@redhat.com>
23647
23648         maint: refine the update-copyright rule
23649         * Makefile (update-copyright): Also exclude any file that includes
23650         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23651         code that merely generates the comment.
23652
23653 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23654
23655         New module 'u8-grapheme-len'.
23656         * modules/unigbrk/u8-grapheme-len: New file.
23657         * modules/unigbrk/u8-grapheme-len-tests: New file.
23658         * lib/unigbrk.in.h: Add prototype for new function.
23659         * lib/unigbrk/u8-grapheme-len.c: New file.
23660         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23661
23662         New module 'u16-grapheme-len'.
23663         * modules/unigbrk/u16-grapheme-len: New file.
23664         * modules/unigbrk/u16-grapheme-len-tests: New file.
23665         * lib/unigbrk.in.h: Add prototype for new function.
23666         * lib/unigbrk/u16-grapheme-len.c: New file.
23667         * tests/unigbrk/test-u16-grapheme-len.c: New file.
23668
23669         New module 'u32-grapheme-len'.
23670         * modules/unigbrk/u32-grapheme-len: New file.
23671         * modules/unigbrk/u32-grapheme-len-tests: New file.
23672         * lib/unigbrk.in.h: Add prototype for new function.
23673         * lib/unigbrk/u32-grapheme-len.c: New file.
23674         * tests/unigbrk/test-u32-grapheme-len.c: New file.
23675
23676         New module 'u8-grapheme-next'.
23677         * modules/unigbrk/u8-grapheme-next: New file.
23678         * modules/unigbrk/u8-grapheme-next-tests: New file.
23679         * lib/unigbrk.in.h: Add prototype for new function.
23680         * lib/unigbrk/u8-grapheme-next.c: New file.
23681         * tests/unigbrk/test-u8-grapheme-next.c: New file.
23682
23683         New module 'u16-grapheme-next'.
23684         * modules/unigbrk/u16-grapheme-next: New file.
23685         * modules/unigbrk/u16-grapheme-next-tests: New file.
23686         * lib/unigbrk.in.h: Add prototype for new function.
23687         * lib/unigbrk/u16-grapheme-next.c: New file.
23688         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23689
23690         New module 'u32-grapheme-next'.
23691         * modules/unigbrk/u32-grapheme-next: New file.
23692         * modules/unigbrk/u32-grapheme-next-tests: New file.
23693         * lib/unigbrk.in.h: Add prototype for new function.
23694         * lib/unigbrk/u32-grapheme-next.c: New file.
23695         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23696
23697         New module 'u8-grapheme-prev'.
23698         * modules/unigbrk/u8-grapheme-prev: New file.
23699         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23700         * lib/unigbrk.in.h: Add prototype for new function.
23701         * lib/unigbrk/u8-grapheme-prev.c: New file.
23702         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23703
23704         New module 'u16-grapheme-prev'.
23705         * modules/unigbrk/u16-grapheme-prev: New file.
23706         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23707         * lib/unigbrk.in.h: Add prototype for new function.
23708         * lib/unigbrk/u16-grapheme-prev.c: New file.
23709         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23710
23711         New module 'u32-grapheme-prev'.
23712         * modules/unigbrk/u32-grapheme-prev: New file.
23713         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23714         * lib/unigbrk.in.h: Add prototype for new function.
23715         * lib/unigbrk/u32-grapheme-prev.c: New file.
23716         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23717
23718         New module 'u8-grapheme-breaks'.
23719         * modules/unigbrk/u8-grapheme-breaks: New file.
23720         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23721         * lib/unigbrk.in.h: Add prototype for new function.
23722         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23723         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23724
23725         New module 'u16-grapheme-breaks'.
23726         * modules/unigbrk/u16-grapheme-breaks: New file.
23727         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23728         * lib/unigbrk.in.h: Add prototype for new function.
23729         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23730         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23731
23732         New module 'u32-grapheme-breaks'.
23733         * modules/unigbrk/u32-grapheme-breaks: New file.
23734         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23735         * lib/unigbrk.in.h: Add prototype for new function.
23736         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23737         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23738
23739         New module 'ulc-grapheme-breaks'.
23740         * modules/unigbrk/ulc-grapheme-breaks: New file.
23741         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23742         * m4/locale-ar.m4: New file.
23743         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23744         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23745         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23746
23747 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23748
23749         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23750         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23751         modified how this file was generated before I initially submitted
23752         the module, but failed to regenerate it.  This meant that several
23753         of the level2 entries were wrong.
23754         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23755         Remove the division-by-2 that is folded into the table now that
23756         gbrkprop.h has been regenerated properly.  Now -1 entries are
23757         handled correctly.
23758
23759         New module 'unigbrk/uc-gbrk-prop-tests'.
23760         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23761         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23762         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23763         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23764
23765 2011-01-01  Bruno Haible  <bruno@clisp.org>
23766
23767         Avoid use of hexadecimal escapes.
23768         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23769         instead of hexadecimal escapes.
23770
23771 2011-01-01  Jim Meyering  <meyering@redhat.com>
23772
23773         maint: new rule to update copyright year ranges
23774         * Makefile (update-copyright): New rule.
23775
23776         maint: indent with TABs in Makefile
23777         * Makefile: Expand leading sequences of spaces to TABs
23778
23779         version-etc: update the copyright year it reports
23780         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23781
23782 2010-12-31  Bruno Haible  <bruno@clisp.org>
23783
23784         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23785         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23786         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23787         zero.
23788
23789 2010-12-31  Bruno Haible  <bruno@clisp.org>
23790
23791         pwrite: Work around HP-UX 11.11 bug.
23792         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23793         works and set REPLACE_PWRITE if not.
23794         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23795         function.
23796         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23797
23798 2010-12-31  Bruno Haible  <bruno@clisp.org>
23799
23800         pread: Work around HP-UX 11 bugs.
23801         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23802         and set REPLACE_PREAD if not.
23803         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23804
23805 2010-12-31  Eric Blake  <eblake@redhat.com>
23806
23807         nl_langinfo: fix YESEXPR on Irix 6.5
23808         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23809         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23810         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23811         it.
23812
23813 2010-12-31  Bruno Haible  <bruno@clisp.org>
23814
23815         iconv: Document HP-UX 11 bug.
23816         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23817
23818 2010-12-31  Bruno Haible  <bruno@clisp.org>
23819
23820         ldexpl: Fix link error on HP-UX 11.
23821         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23822         LDEXPL_LIBM, using $ISNANL_LIBM.
23823
23824 2010-12-31  Eric Blake  <eblake@redhat.com>
23825
23826         ftello: avoid compilation failure with SunStudio c89
23827         * lib/ftello.c (ftello): Use lseek, not llseek.
23828
23829         tests: avoid failing coreutils tests on cygwin
23830         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23831         (create_exe_shims_): Return 0 when skipping.
23832
23833 2010-12-31  Bruno Haible  <bruno@clisp.org>
23834
23835         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23836         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23837
23838 2010-12-31  Bruno Haible  <bruno@clisp.org>
23839
23840         waitpid: Fix link error in C++ mode.
23841         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23842
23843 2010-12-31  Bruno Haible  <bruno@clisp.org>
23844
23845         isnan: Use GCC built-ins when possible.
23846         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23847         __builtin_isnan.
23848         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23849         (isnan): Define using GCC built-ins for GCC >= 4.0.
23850
23851 2010-12-31  Bruno Haible  <bruno@clisp.org>
23852
23853         isnand: Fix mistake.
23854         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23855         __builtin_isnand.
23856
23857 2010-12-31  Bruno Haible  <bruno@clisp.org>
23858
23859         open: Avoid C++ error on HP-UX 11.
23860         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23861
23862 2010-12-31  Bruno Haible  <bruno@clisp.org>
23863
23864         time_r: Add missing declarations on HP-UX 11.
23865         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23866         instead of HAVE_LOCALTIME_R.
23867         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23868         HAVE_LOCALTIME_R always.
23869         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23870         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23871         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23872         HAVE_LOCALTIME_R.
23873         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23874         * doc/posix-functions/localtime_r.texi: Likewise.
23875
23876 2010-12-29  Eric Blake  <eblake@redhat.com>
23877
23878         mountlist: tweak previous commit
23879         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23880         Reported by Paul Eggert.
23881
23882         mountlist: fix local drive detection on cygwin
23883         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23884         that works for cygwin.
23885
23886 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23887
23888         ftoastr, snprintf: ftoastr + snprintf module
23889         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23890         since the snprintf module now should be good enough here.
23891         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23892         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23893         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23894         GNULIB_SNPRINTF only for the test directory, and the latter
23895         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23896         seems to suffice by itself.
23897
23898 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23899
23900         alloca: one step towards thread-safety
23901         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23902         need for a static variable.  All callers changed.  This does not
23903         make the alloca replacement thread-safe, but it's one step.
23904
23905         tests: minor indenting change
23906         * tests/init.sh: Sync from coreutils housekeeping patch
23907         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23908         to keep lines within 80 columns.
23909
23910 2010-12-28  Jim Meyering  <meyering@redhat.com>
23911
23912         regex: don't infloop on persistent failing calloc
23913         * lib/regexec.c (build_trtable): Return failure indication upon
23914         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23915         In glibc, this was fixed for version 2.13:
23916         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23917
23918 2010-12-28  Bruno Haible  <bruno@clisp.org>
23919             Paul Eggert <eggert@cs.ucla.edu>
23920
23921         linkat: Make implementation robust against system behaviour variations.
23922         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23923         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23924         way, and to -2 if it needs a generic runtime test.
23925         * lib/linkat.c (solaris_optimized_link_immediate,
23926         solaris_optimized_link_follow): New functions.
23927         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23928         (check_same_link): Use it.
23929
23930 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23931
23932         New module 'unigbrk/base'.
23933         * modules/unigbrk/base: New file.
23934         * lib/unigbrk.in.h: New file.
23935
23936         New module 'unigbrk/uc-gbrk-prop'.
23937         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23938         * modules/unigbrk/uc-gbrk-prop: New file.
23939         * lib/unigbrk/gbrkprop.h: New file.
23940         * lib/unigbrk/uc-gbrk-prop.c: New file.
23941
23942         New module 'unigbrk/uc-is-grapheme-break'.
23943         * modules/unigbrk/uc-is-grapheme-break: New file.
23944         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23945         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23946         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23947         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23948         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23949
23950         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23951
23952 2010-12-27  Bruno Haible  <bruno@clisp.org>
23953
23954         linkat test: Avoid failure on Solaris 11 2010-11.
23955         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23956
23957 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23958
23959         utimens: work around glibc rounding bug on more platforms
23960         * lib/utimens.c (fdutimens): Work around rounding bug even if
23961         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23962         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23963
23964 2010-12-27  Bruno Haible  <bruno@clisp.org>
23965
23966         select tests: Improve comments.
23967         * tests/test-select.c (do_select): Add comments.
23968
23969 2010-12-27  Bruno Haible  <bruno@clisp.org>
23970
23971         select tests: Safer way of handling timeout.
23972         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23973         at every invocation.
23974
23975 2010-12-27  Bruno Haible  <bruno@clisp.org>
23976
23977         select tests: Use 'bool' where appropriate.
23978         * tests/test-select.c (connect_to_socket): Change argument type to
23979         'bool'.
23980
23981 2010-12-27  Bruno Haible  <bruno@clisp.org>
23982
23983         select tests: Use existing modules.
23984         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23985         (configure.ac): Don't test for unistd.h.
23986         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23987         declared in <unistd.h>.
23988
23989 2010-12-27  Bruno Haible  <bruno@clisp.org>
23990
23991         mbrtowc: Work around a Solaris 7 bug.
23992         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
23993         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
23994         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
23995         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
23996         MBRTOWC_NULL_ARG1_BUG.
23997         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
23998         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
23999         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24000         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24001
24002 2010-12-27  Jim Meyering  <meyering@redhat.com>
24003
24004         read-file.c: tweak syntax
24005         * lib/read-file.c (fread_file): Remove space after "*" in function
24006         definitions.
24007
24008 2010-12-27  Bruno Haible  <bruno@clisp.org>
24009
24010         times test: Avoid gcc warnings on OSF/1.
24011         * tests/test-times.c (main): Cast printf arguments from clock_t to
24012         'long int'.
24013
24014 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24015
24016         utimens: work around glibc rounding bug on older Linux kernels
24017         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24018         on Linux with a glibc whose utimes might not work, then work
24019         around a longstanding glibc bug involving rounding rather than
24020         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24021         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24022
24023 2010-12-26  Bruno Haible  <bruno@clisp.org>
24024
24025         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24026         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24027         _GL_CXXALIAS_SYS.
24028         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24029
24030 2010-12-26  Bruno Haible  <bruno@clisp.org>
24031
24032         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24033         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24034         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24035         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24036         looking for the declaration.
24037         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24038         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24039         problem.
24040         * doc/posix-functions/inet_pton.texi: Likewise.
24041
24042 2010-12-26  Bruno Haible  <bruno@clisp.org>
24043
24044         arpa_inet: Use the common idioms with C++ support.
24045         * lib/arpa_inet.in.h: Include c++defs.h.
24046         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24047         support.
24048         * modules/arpa_inet (Depends-on): Add c++defs.
24049         (Makefile.am): Substitute the contents of c++defs.h.
24050         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24051         * modules/arpa_inet-c++-tests: New file.
24052         * tests/test-arpa_inet-c++.cc: New file.
24053
24054 2010-12-25  Bruno Haible  <bruno@clisp.org>
24055
24056         Fix more C++ link errors on Solaris 8.
24057         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24058         $(LIB_EACCESS).
24059         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24060         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24061         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24062         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24063         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24064
24065 2010-12-25  Bruno Haible  <bruno@clisp.org>
24066
24067         printf-posix: Fix link error when a non-GCC compiler is used.
24068         * lib/stdio.in.h (printf): When not using GCC, override printf
24069         correctly.
24070         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24071
24072 2010-12-25  Bruno Haible  <bruno@clisp.org>
24073
24074         strerror_r-posix: Update doc.
24075         * doc/posix-functions/strerror_r.texi: Update doc about the return
24076         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24077
24078 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24079
24080         utimens: simplify the logic of the previous change
24081         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24082         This should not affect whether the test succeeds or fails.
24083
24084         utimens: configure better on hosts with NFS clock skew
24085         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24086         uses the clock of the local host.  It might use the clock of the
24087         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24088         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24089
24090 2010-12-25  Bruno Haible  <bruno@clisp.org>
24091
24092         ptsname test: Avoid failure on Solaris.
24093         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24094         open a pseudo-terminal; don't use BSD-style ptys.
24095         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24096
24097 2010-12-25  Bruno Haible  <bruno@clisp.org>
24098
24099         ptsname: Avoid ERANGE failure on some systems.
24100         * lib/ptsname.c (buffer): Increase size.
24101
24102 2010-12-25  Bruno Haible  <bruno@clisp.org>
24103
24104         rename, renameat: Avoid test failures at NFS mounted locations.
24105         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24106         so that subsequent mkdir calls succeed.
24107
24108 2010-12-25  Bruno Haible  <bruno@clisp.org>
24109
24110         iswblank: Fix C++ link error on Solaris 8.
24111         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24112         _GL_FUNCDECL_SYS.
24113
24114 2010-12-25  Bruno Haible  <bruno@clisp.org>
24115
24116         unistd: Fix C++ link error on Solaris 8.
24117         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24118
24119 2010-12-25  Bruno Haible  <bruno@clisp.org>
24120
24121         readlink doc: Mention an old glibc bug.
24122         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24123
24124 2010-12-25  Bruno Haible  <bruno@clisp.org>
24125
24126         fcntl-h: Fix for use of C++ on glibc systems.
24127         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24128         also on glibc systems in C++ mode.
24129         Reported by Gary V. Vaughan <gary@gnu.org>.
24130
24131 2010-12-25  Bruno Haible  <bruno@clisp.org>
24132
24133         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24134         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24135
24136 2010-12-25  Bruno Haible  <bruno@clisp.org>
24137
24138         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24139         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24140         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24141         test whether truncl works according to ISO C 99 with IEC 60559.
24142         * m4/truncl-ieee.m4: New file.
24143         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24144         m4/signbit.m4.
24145         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24146
24147 2010-12-25  Bruno Haible  <bruno@clisp.org>
24148
24149         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24150         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24151         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24152         test whether ceill works according to ISO C 99 with IEC 60559.
24153         * m4/ceill-ieee.m4: New file.
24154         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24155         m4/signbit.m4.
24156         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24157
24158 2010-12-25  Bruno Haible  <bruno@clisp.org>
24159
24160         Ensure all prerequisites of <wchar.h> are included.
24161         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24162         before <wchar.h>.
24163         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24164         gl_MBRLEN_NUL_RETVAL): Likewise.
24165         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24166         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24167         AC_FUNC_MBRTOWC): Likewise.
24168         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24169         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24170         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24171         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24172         Likewise.
24173         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24174         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24175         (gl_WCHAR_H): Improve comments.
24176         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24177
24178 2010-12-25  Bruno Haible  <bruno@clisp.org>
24179
24180         strtok_r: Fix C syntax error in autoconf macro.
24181         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24182         characters in test program.
24183
24184 2010-12-24  Bruno Haible  <bruno@clisp.org>
24185
24186         ceil, trunc, round: Fix gcc warnings.
24187         * lib/ceil.c (MIN): Undefine before redefining.
24188         * lib/trunc.c (MIN): Likewise.
24189         * lib/round.c (MIN): Likewise.
24190         Include <math.h> first.
24191
24192 2010-12-24  Bruno Haible  <bruno@clisp.org>
24193
24194         select tests: Avoid failures on OSF/1 5.1.
24195         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24196         failure of closing the last socket; it may fail with ECONNRESET.
24197
24198 2010-12-24  Eric Blake  <eblake@redhat.com>
24199
24200         stdint: avoid HP-UX 10.20 preprocessor bug
24201         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24202         than #if.
24203         * tests/test-floor2.c (main): Likewise.
24204         Reported by Peter O'Gorman.
24205
24206         pipe: make obsoletion transition easier
24207         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24208         * modules/pipe (Files): Include revived file.
24209         (Include): Drop reference, to mirror getdate's behavior.
24210
24211 2010-12-24  Bruno Haible  <bruno@clisp.org>
24212
24213         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24214         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24215         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24216         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24217
24218 2010-12-24  Bruno Haible  <bruno@clisp.org>
24219
24220         gethostname: Ensure declaration on NonStop Kernel.
24221         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24222         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24223
24224 2010-12-24  Bruno Haible  <bruno@clisp.org>
24225
24226         sys_select: Ensure all necessary types on NonStop Kernel.
24227         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24228         include <sys/time.h>.
24229         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24230         NonStop Kernel.
24231         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24232
24233 2010-12-24  Bruno Haible  <bruno@clisp.org>
24234
24235         sys_select: Remove unneeded include.
24236         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24237         have <sys/select.h>.
24238
24239 2010-12-24  Bruno Haible  <bruno@clisp.org>
24240
24241         gethostname: Provide a fallback for HOST_NAME_MAX.
24242         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24243         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24244         instead.
24245         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24246
24247 2010-12-24  Bruno Haible  <bruno@clisp.org>
24248
24249         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24250         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24251         (SA_RESTART): Likewise.
24252         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24253
24254 2010-12-24  Bruno Haible  <bruno@clisp.org>
24255
24256         signal: Define NSIG.
24257         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24258         * tests/test-signal.c (nsig): New variable.
24259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24260
24261 2010-12-24  Bruno Haible  <bruno@clisp.org>
24262
24263         rename, renameat: Avoid test failures on OSF/1 5.1.
24264         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24265         alternative error codes.
24266         * tests/test-renameat.c (main): Likewise.
24267
24268 2010-12-24  Bruno Haible  <bruno@clisp.org>
24269
24270         *printf: Detect large precisions bug on Solaris 10/SPARC.
24271         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24272         by Paul Eggert.
24273         * tests/test-snprintf-posix.h (test_function): Add this test code here
24274         too.
24275         * tests/test-sprintf-posix.h (test_function): Likewise.
24276         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24277         * tests/test-vasprintf-posix.c (test_function): Likewise.
24278         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24279         around by gnulib.
24280         * doc/posix-functions/printf.texi: Likewise.
24281         * doc/posix-functions/snprintf.texi: Likewise.
24282         * doc/posix-functions/sprintf.texi: Likewise.
24283         * doc/posix-functions/vfprintf.texi: Likewise.
24284         * doc/posix-functions/vprintf.texi: Likewise.
24285         * doc/posix-functions/vsnprintf.texi: Likewise.
24286         * doc/posix-functions/vsprintf.texi: Likewise.
24287         * doc/posix-functions/dprintf.texi: Undo last commit.
24288         * doc/posix-functions/vdprintf.texi: Likewise.
24289
24290 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24291
24292         tests: port test-fdutimensat.c to Solaris 8
24293         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24294         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24295         On Solaris 8, it fails with errno == ENOSYS, because there is no
24296         futimens (so it can't use the fd), and there is no lutimens (so it
24297         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24298
24299         vsnprintf: make more consistent with snprintf; doc fixes
24300
24301         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24302         the byte count return problem was promoted from the snprintf-posix
24303         to the snprintf module.
24304         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24305         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24306         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24307         * tests/test-snprintf.c (main): Check the byte count returned.
24308         * tests/test-vsnprintf.c (main): Likewise.
24309
24310 2010-12-23  Eric Blake  <eblake@redhat.com>
24311
24312         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24313         * modules/sigpipe (License): Relax license.
24314
24315 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24316
24317         doc: document Solaris printf bug with large float precisions
24318         * doc/posix-functions/dprintf.texi (dprintf):
24319         * doc/posix-functions/fprintf.texi (fprintf):
24320         * doc/posix-functions/printf.texi (printf):
24321         * doc/posix-functions/snprintf.texi (snprintf):
24322         * doc/posix-functions/sprintf.texi (sprintf):
24323         * doc/posix-functions/vdprintf.texi (vdprintf):
24324         * doc/posix-functions/vfprintf.texi (vfprintf):
24325         * doc/posix-functions/vprintf.texi (vprintf):
24326         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24327         * doc/posix-functions/vsprintf.texi (vsprintf):
24328         Mention that these functions mishandle large floating point
24329         precisions on Solaris 10.  The same bug is also present in Solaris
24330         8, and I assume earlier.  This causes "cd gnulib-tests; make
24331         check" to fail on Solaris 8 (and I assume, later) when building
24332         the latest coreutils, in test-vasprintf-posix's call to
24333         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24334         the wide flavors (e.g., wprintf) so this patch just updates the
24335         documentation for the narrow ones.
24336
24337         test-posixtm.c: add two tests
24338         * tests/test-posixtm.c: Add two tests, to highlight the
24339         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24340         around this bug; this is merely to document it.
24341
24342 2010-12-22  Bruno Haible  <bruno@clisp.org>
24343
24344         getlogin_r: Work around portability problem on OSF/1.
24345         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24346         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24347         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24348         test for a truncated result.
24349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24350         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24351         * modules/getlogin_r (Depends-on): Add memchr.
24352         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24353
24354 2010-12-22  Bruno Haible  <bruno@clisp.org>
24355
24356         ptsname: Avoid test failure on OSF/1 5.1.
24357         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24358         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24359         (same_slave): New function.
24360         (main): Use it to compare ptsname's result with the expected file name.
24361
24362 2010-12-22  Bruno Haible  <bruno@clisp.org>
24363
24364         Port extended stdio modules to HP NonStop Kernel.
24365         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24366         macros.
24367         * lib/fbufmode.c: Update comments.
24368         * lib/fflush.c: Likewise.
24369         * lib/fpurge.c: Likewise.
24370         * lib/freadable.c: Likewise.
24371         * lib/freadahead.c: Likewise.
24372         * lib/freading.c: Likewise.
24373         * lib/freadptr.c: Likewise.
24374         * lib/freadseek.c: Likewise.
24375         * lib/fseeko.c: Likewise.
24376         * lib/fseterr.c: Likewise.
24377         * lib/fwritable.c: Likewise.
24378         * lib/fwriting.c: Likewise.
24379         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24380
24381 2010-12-22  Bruno Haible  <bruno@clisp.org>
24382
24383         ttyname_r: Work around bug on OSF/1 5.1.
24384         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24385         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24386         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24387         present.
24388         * lib/ttyname_r.c (ttyname_r): Update comments.
24389
24390 2010-12-22  Bruno Haible  <bruno@clisp.org>
24391
24392         round: Implement result sign according to IEEE 754.
24393         * lib/round.c (MIN, MINUS_ZERO): New macros.
24394         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24395         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24396         * tests/test-round-ieee.c (main): Likewise.
24397         * tests/test-roundl-ieee.c (main): Likewise.
24398
24399         trunc: Implement result sign according to IEEE 754.
24400         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24401         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24402         * tests/test-trunc2.c: Include minus-zero.h.
24403         (MINUS_ZERO): New macro.
24404         (trunc_reference): Keep in sync with lib/trunc.c.
24405         * tests/test-truncf2.c: Include minus-zero.h.
24406         (MINUS_ZERO): New macro.
24407         (truncf_reference): Keep in sync with lib/trunc.c.
24408         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24409         * tests/test-trunc-ieee.c (main): Likewise.
24410         * tests/test-truncl-ieee.c (main): Likewise.
24411
24412         ceil: Implement result sign according to IEEE 754.
24413         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24414         (FUNC): Return -0.0 for -1 < x < 0.
24415         * tests/test-ceil2.c: Include minus-zero.h.
24416         (MINUS_ZERO): New macro.
24417         (ceil_reference): Keep in sync with lib/ceil.c.
24418         * tests/test-ceilf2.c: Include minus-zero.h.
24419         (MINUS_ZERO): New macro.
24420         (ceilf_reference): Keep in sync with lib/ceil.c.
24421         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24422         * tests/test-ceil-ieee.c (main): Likewise.
24423         * tests/test-ceill-ieee.c (main): Likewise.
24424
24425         floor: Implement result sign according to IEEE 754.
24426         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24427         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24428         * tests/test-floorf2.c (floorf_reference): Likewise.
24429         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24430         * tests/test-floor-ieee.c (main): Likewise.
24431         * tests/test-floorl-ieee.c (main): Likewise.
24432
24433 2010-12-22  Bruno Haible  <bruno@clisp.org>
24434
24435         getaddrinfo: Update doc.
24436         * doc/posix-functions/gai_strerror.texi: Return type is also different
24437         on AIX and HP-UX.
24438
24439 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24440
24441         getaddrinfo, inet_ntop: Update doc for Solaris.
24442         * doc/posix-functions/gai_strerror.texi: Return type is also an
24443         issue on Solaris 9 and earlier.
24444         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24445         on Solaris 10 and earlier.
24446
24447 2010-12-21  Bruno Haible  <bruno@clisp.org>
24448
24449         New module 'roundl-ieee'.
24450         * modules/roundl-ieee: New file.
24451         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24452         test whether roundl works according to ISO C 99 with IEC 60559.
24453         * m4/roundl-ieee.m4: New file.
24454         * modules/roundl-ieee-tests: New file.
24455         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24456         * tests/test-roundl.c (main): Remove signbit tests.
24457         * modules/roundl-tests (Depends-on): Remove signbit.
24458         * doc/posix-functions/roundl.texi: Mention the new module.
24459
24460 2010-12-21  Bruno Haible  <bruno@clisp.org>
24461
24462         New module 'truncl-ieee'.
24463         * modules/truncl-ieee: New file.
24464         * modules/truncl-ieee-tests: New file.
24465         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24466         * tests/test-truncl.c (main): Remove signbit tests.
24467         * modules/truncl-tests (Depends-on): Remove signbit.
24468         * doc/posix-functions/truncl.texi: Mention the new module.
24469
24470 2010-12-21  Bruno Haible  <bruno@clisp.org>
24471
24472         New module 'ceill-ieee'.
24473         * modules/ceill-ieee: New file.
24474         * modules/ceill-ieee-tests: New file.
24475         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24476         * tests/test-ceill.c (main): Remove signbit tests.
24477         * modules/ceill-tests (Depends-on): Remove signbit.
24478         * doc/posix-functions/ceill.texi: Mention the new module.
24479
24480 2010-12-21  Bruno Haible  <bruno@clisp.org>
24481
24482         New module 'floorl-ieee'.
24483         * modules/floorl-ieee: New file.
24484         * modules/floorl-ieee-tests: New file.
24485         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24486         * tests/test-floorl.c (main): Remove signbit tests.
24487         * modules/floorl-tests (Depends-on): Remove signbit.
24488         * doc/posix-functions/floorl.texi: Mention the new module.
24489
24490 2010-12-21  Bruno Haible  <bruno@clisp.org>
24491
24492         New module 'round-ieee'.
24493         * modules/round-ieee: New file.
24494         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24495         whether round works according to ISO C 99 with IEC 60559.
24496         * m4/round-ieee.m4: New file.
24497         * modules/round-ieee-tests: New file.
24498         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24499         * tests/test-round1.c (main): Remove signbit tests.
24500         * modules/round-tests (Depends-on): Remove 'signbit'.
24501         * doc/posix-functions/round.texi: Mention the new module.
24502
24503 2010-12-21  Bruno Haible  <bruno@clisp.org>
24504
24505         New module 'trunc-ieee'.
24506         * modules/trunc-ieee: New file.
24507         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24508         whether trunc works according to ISO C 99 with IEC 60559.
24509         * m4/trunc-ieee.m4: New file.
24510         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24511         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24512         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24513         * modules/trunc-ieee-tests: New file.
24514         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24515         * tests/test-trunc1.c (main): Remove signbit tests.
24516         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24517         * doc/posix-functions/trunc.texi: Mention the new module.
24518
24519 2010-12-21  Bruno Haible  <bruno@clisp.org>
24520
24521         New module 'ceil-ieee'.
24522         * modules/ceil-ieee: New file.
24523         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24524         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24525         ISO C 99 with IEC 60559.
24526         * m4/ceil-ieee.m4: New file.
24527         * modules/ceil (Files): Add lib/ceil.c.
24528         (Depends-on): Add 'float'.
24529         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24530         * lib/math.in.h (ceil): New declaration.
24531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24532         REPLACE_CEIL.
24533         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24534         * modules/ceil-ieee-tests: New file.
24535         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24536         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24537         * doc/posix-functions/ceil.texi: Mention the new module.
24538
24539 2010-12-21  Bruno Haible  <bruno@clisp.org>
24540
24541         New module 'floor-ieee'.
24542         * modules/floor-ieee: New file.
24543         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24544         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24545         ISO C 99 with IEC 60559.
24546         * m4/floor-ieee.m4: New file.
24547         * modules/floor (Files): Add lib/floor.c.
24548         (Depends-on): Add 'float'.
24549         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24550         * lib/math.in.h (floor): New declaration.
24551         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24552         REPLACE_FLOOR.
24553         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24554         * modules/floor-ieee-tests: New file.
24555         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24556         * tests/test-math-c++.cc: Check the signature of 'floor'.
24557         * doc/posix-functions/floor.texi: Mention the new module.
24558
24559 2010-12-21  Bruno Haible  <bruno@clisp.org>
24560
24561         New module 'roundf-ieee'.
24562         * modules/roundf-ieee: New file.
24563         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24564         test whether roundf works according to ISO C 99 with IEC 60559.
24565         * m4/roundf-ieee.m4: New file.
24566         * modules/roundf-ieee-tests: New file.
24567         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24568         * tests/test-roundf1.c (main): Remove signbit tests.
24569         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24570         * doc/posix-functions/roundf.texi: Mention the new module.
24571
24572 2010-12-21  Bruno Haible  <bruno@clisp.org>
24573
24574         New module 'truncf-ieee'.
24575         * modules/truncf-ieee: New file.
24576         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24577         test whether truncf works according to ISO C 99 with IEC 60559.
24578         * m4/truncf-ieee.m4: New file.
24579         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24581         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24582         * modules/truncf-ieee-tests: New file.
24583         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24584         * tests/test-truncf1.c (main): Remove signbit tests.
24585         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24586         * doc/posix-functions/truncf.texi: Mention the new module.
24587
24588 2010-12-21  Bruno Haible  <bruno@clisp.org>
24589
24590         New module 'ceilf-ieee'.
24591         * modules/ceilf-ieee: New file.
24592         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24593         test whether ceilf works according to ISO C 99 with IEC 60559.
24594         * m4/ceilf-ieee.m4: New file.
24595         * modules/ceilf-ieee-tests: New file.
24596         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24597         * tests/test-ceilf1.c (main): Remove signbit tests.
24598         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24599         * doc/posix-functions/ceilf.texi: Mention the new module.
24600
24601 2010-12-21  Bruno Haible  <bruno@clisp.org>
24602
24603         New module 'floorf-ieee'.
24604         * modules/floorf-ieee: New file.
24605         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24606         test whether floorf works according to ISO C 99 with IEC 60559.
24607         * m4/floorf-ieee.m4: New file.
24608         * modules/floorf-ieee-tests: New file.
24609         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24610         * tests/test-floorf1.c (main): Remove signbit tests.
24611         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24612         * doc/posix-functions/floorf.texi: Mention the new module.
24613
24614 2010-12-21  Bruno Haible  <bruno@clisp.org>
24615
24616         Support for minus zero in autoconf macros.
24617         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24618         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24619         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24620         * tests/minus-zero.h: Update comments.
24621
24622 2010-12-21  Bruno Haible  <bruno@clisp.org>
24623
24624         Tests for module 'ceil'.
24625         * modules/ceil-tests: New file.
24626         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24627         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24628
24629 2010-12-21  Bruno Haible  <bruno@clisp.org>
24630
24631         Tests for module 'floor'.
24632         * modules/floor-tests: New file.
24633         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24634         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24635
24636 2010-12-21  Bruno Haible  <bruno@clisp.org>
24637
24638         math: Fix indentation.
24639         * lib/math.in.h (floorf): Fix indentation.
24640
24641 2010-12-21  Bruno Haible  <bruno@clisp.org>
24642
24643         Fix cross-compilation guesses on Solaris.
24644         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24645         not match "solaris2.10".
24646         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24647         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24648         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24649
24650 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24651
24652         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24653         This fixes a problem observed with the latest coreutils snapshot
24654         that caused a test to fail on Solaris 8.  src/csplit.c's call
24655         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24656         earlier, instead of returning the number of bytes that would have
24657         been generated; this causes csplit to incorrectly report memory
24658         exhaustion.
24659         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24660         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24661         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
24662         comments to match.
24663         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
24664         Fix typo in matching older versions of Solaris: "solaris2.10"
24665         is matched by the shell pattern "solaris2.[0-9]*".  This matters
24666         only for guessing while cross-compiling.
24667         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
24668
24669 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
24670
24671         ftoastr: fix comment again
24672         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24673         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
24674         Also, simplify example a bit by using flags = 0.
24675
24676 2010-12-20  Bruno Haible  <bruno@clisp.org>
24677
24678         round*, trunc*: Update documentation regarding glibc.
24679         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
24680         * doc/posix-functions/round.texi: Likewise.
24681         * doc/posix-functions/roundl.texi: Likewise.
24682         * doc/posix-functions/truncf.texi: Likewise.
24683         * doc/posix-functions/trunc.texi: Likewise.
24684         * doc/posix-functions/truncl.texi: Likewise.
24685
24686 2010-12-20  Bruno Haible  <bruno@clisp.org>
24687
24688         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24689         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24690         * doc/posix-functions/round.texi: Likewise.
24691         * doc/posix-functions/roundl.texi: Likewise.
24692
24693 2010-12-20  Bruno Haible  <bruno@clisp.org>
24694
24695         ttyname_r: Add missing declaration on HP-UX 11.
24696         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24697         HAVE_TTYNAME_R.
24698         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24699         declared. Set HAVE_TTYNAME_R always.
24700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24701         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24702         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24703         HAVE_TTYNAME_R.
24704         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24705
24706 2010-12-20  Bruno Haible  <bruno@clisp.org>
24707
24708         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24709         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24710         * doc/posix-functions/getlogin_r.texi: Likewise.
24711         * tests/test-getlogin.c: Include <errno.h>.
24712         (main): Avoid test failure on HP-UX 11.11.
24713         * tests/test-getlogin_r.c (main): Likewise.
24714
24715 2010-12-20  Bruno Haible  <bruno@clisp.org>
24716
24717         getlogin_r: Add missing declaration on HP-UX 11.
24718         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24719         declared also when it exists as a function.
24720         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24721
24722 2010-12-20  Bruno Haible  <bruno@clisp.org>
24723
24724         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24725         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24726         through wcrtomb.
24727
24728 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24729
24730         ftoastr: fix comment
24731         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24732         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24733
24734 2010-12-19  Bruno Haible  <bruno@clisp.org>
24735
24736         isnan: Ensure it is a macro.
24737         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24738         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24739         Solaris.
24740
24741 2010-12-19  Bruno Haible  <bruno@clisp.org>
24742
24743         ldexpl test: Fix link error on OSF/1 5.1.
24744         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24745
24746 2010-12-19  Bruno Haible  <bruno@clisp.org>
24747
24748         wctype: Make it work in C++ mode on OSF/1 5.1.
24749         * lib/wctype.in.h (iswblank): Declare but not define here.
24750         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24751         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24752         * modules/wctype (Files): Add lib/iswblank.c.
24753
24754 2010-12-19  Bruno Haible  <bruno@clisp.org>
24755
24756         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24757         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24758         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24759
24760 2010-12-19  Bruno Haible  <bruno@clisp.org>
24761
24762         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24763         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24764         _POSIX_PII_SOCKET.
24765         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24766         * doc/posix-functions/recvfrom.texi: Likewise.
24767         * doc/posix-functions/send.texi: Likewise.
24768         * doc/posix-functions/sendto.texi: Likewise.
24769
24770 2010-12-19  Bruno Haible  <bruno@clisp.org>
24771
24772         tcgetsid: Add missing declaration on OSF/1 5.1.
24773         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24774         HAVE_TCGETSID.
24775         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24776         Don't set HAVE_TCGETSID.
24777         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24778         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24779         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24780         HAVE_TCGETSID.
24781         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24782
24783 2010-12-19  Bruno Haible  <bruno@clisp.org>
24784
24785         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24786         * lib/stdio.in.h: During the include_next statement, let recursive
24787         includes of this file include only the system header file.
24788
24789 2010-12-19  Bruno Haible  <bruno@clisp.org>
24790
24791         iconv_open: Fix regression from 2010-12-04.
24792         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24793         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24794
24795 2010-12-19  Bruno Haible  <bruno@clisp.org>
24796
24797         stdbool test: Avoid a gcc warning.
24798         * tests/test-stdbool.c (main): Fail if e1 is false.
24799         Reported by Jim Meyering.
24800
24801 2010-12-19  Jim Meyering  <meyering@redhat.com>
24802
24803         setenv: restore to working order
24804         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24805         mistakenly removed.
24806         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24807         HAVE_SETENV.
24808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24809         HAVE_SETENV.
24810
24811 2010-12-19  Bruno Haible  <bruno@clisp.org>
24812
24813         Document some different function declarations on OSF/1 5.1.
24814         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24815         * doc/posix-functions/inet_ntop.texi: Likewise.
24816         * doc/posix-functions/gethostname.texi: Likewise.
24817         * lib/unistd.in.h (gethostname): Update comment.
24818
24819 2010-12-19  Bruno Haible  <bruno@clisp.org>
24820
24821         doc: Mention vasprintf-posix module.
24822         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24823         the 'vasprintf-posix' module.
24824         * doc/glibc-functions/vasprintf.texi: Likewise.
24825
24826 2010-12-19  Bruno Haible  <bruno@clisp.org>
24827
24828         unsetenv: Add missing declaration on OSF/1 5.1.
24829         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24830         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24831         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24833         not HAVE_UNSETENV.
24834         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24835         HAVE_UNSETENV.
24836         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24837
24838 2010-12-19  Bruno Haible  <bruno@clisp.org>
24839
24840         setenv: Add missing declaration on OSF/1 5.1.
24841         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24842         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24843         declared. Don't set HAVE_SETENV.
24844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24845         not HAVE_SETENV.
24846         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24847         HAVE_SETENV.
24848         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24849
24850 2010-12-19  Bruno Haible  <bruno@clisp.org>
24851
24852         nl_langinfo tests: Avoid gcc warning.
24853         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24854
24855 2010-12-19  Bruno Haible  <bruno@clisp.org>
24856
24857         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24858         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24859         _GL_CXXALIAS_SYS.
24860
24861 2010-12-19  Bruno Haible  <bruno@clisp.org>
24862
24863         stdbool: Relax test.
24864         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24865         address to 'bool' work in static initializer, for compilers other than
24866         GCC.
24867
24868 2010-12-19  Bruno Haible  <bruno@clisp.org>
24869
24870         ftello: Add missing declaration on OSF/1 5.1.
24871         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24872         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24874         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24875         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24876
24877 2010-12-19  Bruno Haible  <bruno@clisp.org>
24878
24879         fseeko: Add missing declaration on OSF/1 5.1.
24880         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24881         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24882         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24883         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24884         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24885
24886 2010-12-19  Bruno Haible  <bruno@clisp.org>
24887
24888         fchdir: Add missing declaration on OSF/1 5.1.
24889         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24890         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24891         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24892         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24893         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24894
24895 2010-12-19  Bruno Haible  <bruno@clisp.org>
24896
24897         relocatable-prog-wrapper: Separate from relocatable-prog.
24898         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24899         uninstall-relocwrapper rule here.
24900         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24901         Reported by Ian Beckwith <ianb@erislabs.net>.
24902
24903 2010-12-19  Bruno Haible  <bruno@clisp.org>
24904
24905         unistr/u8-mbsnlen: Add missing dependency.
24906         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24907         Reported by Ian Beckwith <ianb@erislabs.net>.
24908
24909 2010-12-19  Bruno Haible  <bruno@clisp.org>
24910
24911         iconv: Make it possible again to use this module without 'iconv-h'.
24912         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24913         if it is not defined.
24914         Reported by Ian Beckwith <ianb@erislabs.net>.
24915
24916 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24917
24918         acl: port to Solaris 8 when copying from tmpfs to ufs
24919         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24920         error number.  Problem observed on Solaris 8 with latest
24921         coreutils, with "mv A B", where A is on a tmpfs file system and B
24922         is on a ufs file system.  This caused coreutils' mv/part-symlink
24923         test to fail.
24924
24925         tests: set fail=0 at start
24926         * tests/init.sh (setup_): Move fail=0 initialization here ...
24927         (mktempd_): ... from here, so that tests can rely on fail being
24928         set to 0 initially.  This fixes a problem in coreutils; see:
24929         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24930
24931 2010-12-18  Bruno Haible  <bruno@clisp.org>
24932
24933         memmem-simple: Stylistic changes.
24934         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24935         Fix preprocessor directive indentation.
24936
24937 2010-12-15  Pádraig Brady <P@draigBrady.com>
24938
24939         memmem, memmem-simple: reorganize and expand empty needle check
24940         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24941         functional checks to memmem-simple so that one has a fully functional
24942         memmem by using just this module.
24943         Restrict the performance only check to the memmem module.
24944         Also expand the empty needle check to ensure the correct
24945         pointer is returned, not just a non NULL pointer.
24946         * doc/glibc-functions/memmem.texi: Rearrange the portability
24947         documentation to correlate with the rearranged checks.
24948         Clarify exactly how the memmem and memmem-simple modules
24949         relate to each other.
24950
24951 2010-12-15  Pádraig Brady <P@draigBrady.com>
24952             Bruno Haible  <bruno@clisp.org>
24953
24954         Improve cross-compilation guesses for uClibc.
24955         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24956         that uClibc does not have the glibc bug.
24957         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24958         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24959
24960 2010-12-14  Eric Blake  <eblake@redhat.com>
24961
24962         configmake: provide fallbacks for oldest supported autotools
24963         * m4/configmake.m4: New file.
24964         * modules/configmake (Files): Ship it.
24965         (configure.ac): Use it to guarantee fallbacks.
24966
24967 2010-12-13  Pádraig Brady <P@draigBrady.com>
24968
24969         read-file: Improve handling of large files
24970         * lib/read-file.c (fread_file): Minimize realloc()s
24971         for regular files, and better manage sizes around SIZE_MAX.
24972
24973 2010-12-13  Eric Blake  <eblake@redhat.com>
24974
24975         cloexec, fcntl: relax license
24976         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24977         consent from all contributors.
24978         * modules/fcntl (License): Likewise.
24979
24980 2010-12-10  Bruno Haible  <bruno@clisp.org>
24981
24982         Tests for module 'pipe-posix'.
24983         * modules/pipe-posix-tests: New file.
24984         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24985
24986 2010-12-10  Bruno Haible  <bruno@clisp.org>
24987
24988         pipe-posix: Make it work in C++ mode.
24989         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24990         (pipe): Use common idiom, not a macro definition.
24991         * lib/pipe.c: New file.
24992         * m4/pipe.m4: New file.
24993         * modules/pipe-posix (Description): Enhance.
24994         (Files): Add lib/pipe.c, m4/pipe.m4.
24995         (configure.ac): Invoke gl_FUNC_PIPE.
24996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
24997         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
24998         * tests/test-unistd-c++.cc: Check the signature of pipe.
24999
25000 2010-12-10  Bruno Haible  <bruno@clisp.org>
25001
25002         Rename module 'pipe' to 'spawn-pipe'.
25003         * modules/spawn-pipe: New file, renamed from modules/pipe.
25004         (Files, configure.ac, Makefile.am): Update.
25005         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25006         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25007         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25008         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25009         "spawn-pipe.h" instead of "pipe.h".
25010         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25011         to gl_SPAWN_PIPE.
25012         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25013         (Files, Makefile.am): Update.
25014         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25015         Update.
25016         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25017         Include "spawn-pipe.h" instead of "pipe.h".
25018         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25019         * lib/javacomp.c: Likewise.
25020         * lib/javaversion.c: Likewise.
25021         * lib/pipe-filter-gi.c: Likewise.
25022         * lib/pipe-filter-ii.c: Likewise.
25023         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25024         * modules/javacomp (Depends-on): Likewise.
25025         * modules/javaversion (Depends-on): Likewise.
25026         * modules/pipe-filter-gi (Depends-on): Likewise.
25027         * modules/pipe-filter-ii (Depends-on): Likewise.
25028         * MODULES.html.sh (Executing programs): Update.
25029         * NEWS: Mention the change.
25030
25031 2010-12-10  Eric Blake  <eblake@redhat.com>
25032
25033         pipe-posix: new module
25034         * modules/pipe-posix: New file.
25035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25036         (gl_UNISTD_H): Check for declaration.
25037         * modules/unistd (Makefile.am): Substitute it.
25038         * lib/unistd.in.h (pipe): Provide it for mingw.
25039         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25040         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25041
25042 2010-12-07  Bruno Haible  <bruno@clisp.org>
25043
25044         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25045         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25046         u8_strcmp_gnu.
25047         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25048
25049 2010-12-06  Bruno Haible  <bruno@clisp.org>
25050
25051         Update internal documentation.
25052         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25053
25054 2010-12-04  Bruno Haible  <bruno@clisp.org>
25055
25056         Put more information about failed tests into the test return codes.
25057         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25058         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25059         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25060         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25061         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25062         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25063         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25064         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25065         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25066         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25067         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25068         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25069         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25070         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25071         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25072         returns a bit mask.
25073         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25074         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25075         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25076         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25077         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25078         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25079         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25080         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25081         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25082         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25083         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25084         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25085         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25086         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25087         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25088         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25089         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25090         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25091         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25092         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25093         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25094         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25095         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25096         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25097         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25098         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25099         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25100         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25101         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25102         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25103         gl_PRINTF_PRECISION): Likewise.
25104         * m4/regex.m4 (gl_REGEX): Likewise.
25105         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25106         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25107         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25108         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25109         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25110         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25111         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25112         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25113         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25114         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25115         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25116         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25117         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25118         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25119         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25120         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25121         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25122         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25123         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25124         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25125         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25126         enumerated value.
25127         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25128
25129 2010-12-04  Bruno Haible  <bruno@clisp.org>
25130
25131         Update for Solaris 11 2010-11.
25132         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25133         Express, released in November 2010.
25134
25135 2010-12-04  Bruno Haible  <bruno@clisp.org>
25136
25137         nproc: Relax license.
25138         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25139         and Paul Eggert.
25140         Requested by Ludovic Courtès <ludo@gnu.org>.
25141
25142 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25143
25144         utimecmp: fine-grained src to nearby coarse-grained dest
25145
25146         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25147         and the source is on a file system with higher-resolution time
25148         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25149         not work, and the time stamps are close together, the algorithm to
25150         determine the exact resolution from the read-back mtime was buggy:
25151         it had a "!=" where it should have had an "==".  This bug has been
25152         in the code ever since it was introduced to gnulib.
25153         Problem reported by Dan Jacobson in
25154         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25155
25156 2010-11-30  Bruno Haible  <bruno@clisp.org>
25157
25158         strerror_r-posix: Fix autoconf test.
25159         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25160
25161 2010-11-28  Bruno Haible  <bruno@clisp.org>
25162             Paul Eggert  <eggert@cs.ucla.edu>
25163
25164         Tests for module 'getdomainname'.
25165         * modules/getdomainname-tests: New file.
25166         * tests/test-getdomainname.c: New file, based on
25167         tests/test-gethostname.c.
25168
25169 2010-11-28  Bruno Haible  <bruno@clisp.org>
25170             Paul Eggert  <eggert@cs.ucla.edu>
25171
25172         getdomainname: Use the system function when possible.
25173         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25174         (getdomainname): Replace if needed. Provide the declaration if it is
25175         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25176         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25177         (getdomainname): When the system has getdomainname, call the system
25178         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25179         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25180         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25181         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25182         the function if its second argument is of type 'int' or if it is found
25183         in libnsl.
25184         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25185         <sys/systeminfo.h> and sysinfo().
25186         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25188         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25189         HAVE_GETDOMAINNAME.
25190         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25191         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25192         * doc/glibc-functions/getdomainname.texi: Document the problems with
25193         the getdomainname declaration.
25194
25195 2010-11-28  Bruno Haible  <bruno@clisp.org>
25196
25197         sys_socket: Ensure ss_family field on AIX.
25198         * lib/sys_socket.in.h (ss_family): New macro definition.
25199         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25200         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25201         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25202         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25203         * modules/sys_socket (Makefile.am): Substitute
25204         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25205         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25206
25207 2010-11-27  Bruno Haible  <bruno@clisp.org>
25208
25209         readline: Improve configure output.
25210         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25211         "checking for readline..." result understandable.
25212
25213 2010-11-27  Bruno Haible  <bruno@clisp.org>
25214
25215         *printf-posix: Detect a bug on Solaris 10/x86.
25216         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25217         for floating-point output.
25218         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25219         directive.
25220         * tests/test-snprintf-posix.h (test_function): Likewise.
25221         * tests/test-sprintf-posix.h (test_function): Likewise.
25222         * tests/test-vasprintf-posix.c (test_function): Likewise.
25223         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25224         * doc/posix-functions/printf.texi: Likewise.
25225         * doc/posix-functions/snprintf.texi: Likewise.
25226         * doc/posix-functions/sprintf.texi: Likewise.
25227         * doc/posix-functions/vfprintf.texi: Likewise.
25228         * doc/posix-functions/vprintf.texi: Likewise.
25229         * doc/posix-functions/vsnprintf.texi: Likewise.
25230         * doc/posix-functions/vsprintf.texi: Likewise.
25231         * doc/glibc-functions/obstack_printf.texi: Likewise.
25232         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25233
25234 2010-11-27  Bruno Haible  <bruno@clisp.org>
25235
25236         Fix link error when module libunistring-optional is in use.
25237         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25238         * modules/striconveha-tests (Makefile.am): Likewise.
25239
25240 2010-11-27  Bruno Haible  <bruno@clisp.org>
25241
25242         regex: Mention link dependencies.
25243         * modules/regex (Link): New section.
25244         * modules/rpmatch (Link): Likewise.
25245         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25246
25247 2010-11-27  Bruno Haible  <bruno@clisp.org>
25248
25249         ftoastr: Fix compilation error on Solaris.
25250         * lib/ftoastr.c: Include <config.h>.
25251
25252 2010-11-27  Bruno Haible  <bruno@clisp.org>
25253
25254         getloadavg: Update documentation.
25255         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25256
25257 2010-11-27  Bruno Haible  <bruno@clisp.org>
25258
25259         sys_socket: Fix test whether the functions are declared.
25260         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25261         not <sys/select.h>.
25262
25263 2010-11-27  Bruno Haible  <bruno@clisp.org>
25264
25265         getpass: Make sure to get system declaration on some platforms.
25266         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25267         gl_USE_SYSTEM_EXTENSIONS.
25268         * modules/getpass (Depends-on): Add extensions.
25269
25270 2010-11-26  Bruno Haible  <bruno@clisp.org>
25271
25272         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25273         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25274         'iconv' module is present.
25275         (ICONV_CONST): New macro.
25276         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25277         ICONV_CONST.
25278         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25279         set ICONV_CONST.
25280         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25281         here.
25282         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25283         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25284         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25285         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25286         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25287         present.
25288
25289 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25290
25291         ftoastr: comment fix
25292         * lib/ftoastr.c: "little" -> "little or no" in comment
25293
25294 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25295
25296         stdint: port to GCC 4.3 + OSX + Octave
25297         On this platform, stdint.h is buggy and defines int64_t to long
25298         long int.  The replacement defined it to long int, causing
25299         problems with C++ style name mangling.  Instead, trust the system
25300         definition if INT64_MAX is defined, and likewise for the unsigned
25301         variant.   Problem reported by Jarno Rajahalme in
25302         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25303         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25304         and don't mess with int64_t and INT64_MAX in this case.
25305         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25306
25307 2010-11-24  Bruno Haible  <bruno@clisp.org>
25308
25309         doc: Corrections regarding MacOS X 10.4 and 10.5.
25310         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25311         MacOS X.
25312         Reported by Simon Josefsson.
25313
25314 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25315
25316         Uninstall ".bin" files installed by relocwrapper.
25317         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25318         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25319         unless it is already there.
25320
25321 2010-11-21  Bruno Haible  <bruno@clisp.org>
25322
25323         Update for NetBSD 5.0.
25324         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25325         NetBSD; the test fails on NetBSD 5.0.
25326         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25327         about NetBSD.
25328
25329 2010-11-21  Bruno Haible  <bruno@clisp.org>
25330
25331         Update for HP-UX 11.23 and HP-UX 11.31.
25332         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25333         HP-UX.
25334
25335 2010-11-21  Bruno Haible  <bruno@clisp.org>
25336
25337         Update for MacOS X 10.5.
25338         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25339         MacOS X; the test fails on MacOS X 10.5.8.
25340         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25341         about MacOS X.
25342
25343 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25344
25345         bootstrap: add bootstrap_sync option.
25346         See discussion at
25347         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25348         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25349         * build-aux/bootstrap: Accept --bootstrap-sync to update
25350         bootstrap if it is not identical to the local gnulib's
25351         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25352         enable this by default.  Accept --no-bootstrap-sync to disable
25353         it.
25354
25355 2010-11-20  Bruno Haible  <bruno@clisp.org>
25356
25357         Ensure that <features.h> is included before __GLIBC__ is tested.
25358         * lib/printf-parse.h: Include <features.h>.
25359         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25360         Reported by Mike Frysinger <vapier@gentoo.org>.
25361
25362         Ensure that <features.h> is included before __GLIBC__ is tested.
25363         * lib/wchar.in.h: Include <features.h>.
25364         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25365         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25366         Reported by Mike Frysinger <vapier@gentoo.org>.
25367
25368         Ensure that <features.h> is included before __GLIBC__ is tested.
25369         * lib/arpa_inet.in.h: Include <features.h>.
25370         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25371         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
25372         Reported by Mike Frysinger <vapier@gentoo.org>.
25373
25374         Ensure that <features.h> is included before __GLIBC__ is tested.
25375         * build-aux/link-warning.h: Include <features.h>.
25376         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25377         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25378         Reported by Mike Frysinger <vapier@gentoo.org>.
25379
25380         Ensure that <features.h> is included before __GLIBC__ is tested.
25381         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25382         Reported by Mike Frysinger <vapier@gentoo.org>.
25383
25384 2010-11-20  Bruno Haible  <bruno@clisp.org>
25385
25386         memmem: Fix autoconf test.
25387         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25388
25389 2010-11-20  Bruno Haible  <bruno@clisp.org>
25390
25391         Port to uClibc.
25392         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25393         * lib/fcntl.in.h: Likewise.
25394         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25395         * lib/mbrtowc.c (mbrtowc): Likewise.
25396         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25397         * lib/strerror_r.c: Likewise.
25398         * lib/unistr/u8-strnlen.c: Likewise.
25399         * lib/vasnprintf.c (decimal_point_char): Likewise.
25400         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25401         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25402         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25403         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25404         * tests/test-sigaction.c (handler, main): Likewise.
25405         * lib/freading.h: Treat uClibc like a non-glibc platform.
25406         * lib/freading.c: Likewise.
25407         * lib/gettext.h: Likewise.
25408         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25409         Likewise.
25410         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25411         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25412         * lib/propername.c (proper_name_utf8): Likewise.
25413         * lib/spawn.in.h: Likewise.
25414         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25415         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25416         mem_cd_iconveh_internal): Likewise.
25417         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25418         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25419         strstr, strcasestr): Likewise.
25420         * lib/unicodeio.c (unicode_to_mb): Likewise.
25421         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25422         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25423         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25424         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25425         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25426         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25427         * lib/unistr/u8-stpncpy.c: Likewise.
25428         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25429         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25430         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25431         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25432         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25433         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25434         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25435         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25436         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25437         Likewise.
25438         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25439         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25440         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25441         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25442         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25443         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25444         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25445         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25446         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25447         * tests/test-striconveha.c (main): Likewise.
25448         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25449         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25450         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25451         * doc/posix-functions/getline.texi: Likewise.
25452         Reported by Mike Frysinger <vapier@gentoo.org>.
25453
25454 2010-11-20  Bruno Haible  <bruno@clisp.org>
25455
25456         nproc: Fix condition.
25457         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25458         HAVE_PTHREAD_AFFINITY_NP.
25459
25460 2010-11-20  Bruno Haible  <bruno@clisp.org>
25461
25462         Fix a comment.
25463         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25464
25465 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25466
25467         ftoastr: don't assume snprintf
25468         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25469         Implement a subset of snprintf here, by using sprintf safely.
25470         * modules/ftoastr (Depends-on): Remove snprintf.
25471
25472 2010-11-19  Jim Meyering  <meyering@redhat.com>
25473
25474         test-rename.h: fix compilation failure
25475         * tests/test-rename.h (test_rename): Add omitted "}".
25476
25477 2010-11-17  Jim Meyering  <meyering@redhat.com>
25478
25479         maint.mk: add a URL discussing the no-@acronym policy
25480         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25481
25482 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25483
25484         ftoastr: depend on snprintf, improve comments
25485         * lib/ftoastr.c: Also mention Loitsch's draft.
25486         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25487         needed in the current implementation, but it might simplify
25488         speeding up the code later.
25489         * modules/ftoastr: Depend on snprintf; this improves portability.
25490         Suggested by Bruno Haible in the same email.
25491
25492         ftoastr: port to hosts lacking strtof and strtold
25493         Problem reported by Bruno Haible in
25494         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25495         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25496         environment and strtold (and presumably strtof) are not available.
25497         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25498         (configure.ac): Require gl_C99_STRTOLD.
25499
25500 2010-11-18  Bruno Haible  <bruno@clisp.org>
25501
25502         c-strtold: Avoid link error on AIX 7.
25503         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25504         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25505         (gl_C_STRTOLD): Test whether strtold_l exists.
25506         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25507
25508 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25509
25510         intprops: new macro INT_BITS_STRLEN_BOUND
25511         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25512         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25513         not exposed.  Also, it uses a slightly tighter bound than before;
25514         though this makes no practical difference, we might as well be as
25515         tight as we easily can.
25516
25517         ftoastr: new module, for lossless conversion of floats to short strings
25518         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25519         * modules/ftoastr: New files.
25520
25521 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25522
25523         bootstrap: port to Solaris sed
25524         * build-aux/bootstrap (get_version): Port to Solaris sed.
25525         See Ralf Wildenhues's note in
25526         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25527
25528 2010-11-14  Jim Meyering  <meyering@redhat.com>
25529
25530         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25531         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25532         and move definition closer to sole use.
25533
25534 2010-11-13  Jim Meyering  <meyering@redhat.com>
25535
25536         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25537         Now we require at least autoconf-2.59, which means the work-around
25538         is no longer needed.
25539         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25540         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25541         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25542         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25543         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25544
25545 2010-11-13  Bruno Haible  <bruno@clisp.org>
25546
25547         rename, renameat: Avoid test failures at NFS mounted locations.
25548         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25549         functions.
25550         (test_rename): Use assert_nonexistent.
25551         * tests/test-rename.c: Include <dirent.h>.
25552         * tests/test-renameat.c: Likewise.
25553         Reported by Gary V. Vaughan <gary@gnu.org>.
25554
25555         rename, renameat: Document Linux bug with NFS
25556         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25557         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25558         * doc/posix-functions/renameat.texi: Likewise.
25559         Suggested by Eric Blake.
25560
25561 2010-11-13  Bruno Haible  <bruno@clisp.org>
25562
25563         rename test: Add comments.
25564         * tests/test-rename.h (test_rename): Add structure and comments.
25565
25566 2010-11-13  Eric Blake  <eblake@redhat.com>
25567
25568         maintainer-makefile: cover a few more files
25569         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25570         scripts generated within C files, for libvirt.
25571
25572 2010-11-13  Bruno Haible  <bruno@clisp.org>
25573
25574         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25575         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25576         character, return the number of bytes that belong together, not always
25577         1.
25578         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25579         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25580         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25581         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25582         number of bytes of an invalid character.
25583         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25584         (main): Invoke it.
25585         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25586         results.
25587         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25588         malformed byte sequences.
25589         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25590         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25591         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25592         Reported by Ben Pfaff and Paolo Bonzini.
25593
25594 2010-11-13  Bruno Haible  <bruno@clisp.org>
25595
25596         openat: Work around glibc bug with fchownat() and empty file names.
25597         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25598         (gl_FUNC_FCHOWNAT): Invoke it.
25599         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25600         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25601         Reported by Gary V. Vaughan <gary@gnu.org>.
25602
25603 2010-11-13  Bruno Haible  <bruno@clisp.org>
25604
25605         openat: Ensure autoconf macro ordering.
25606         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25607         gl_USE_SYSTEM_EXTENSIONS.
25608         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25609
25610 2010-11-13  Bruno Haible  <bruno@clisp.org>
25611
25612         Update comments.
25613         * lib/unistr/u8-check.c: Update file name in comments.
25614         * lib/unistr/u8-mblen.c: Likewise.
25615         * lib/unistr/u8-prev.c: Likewise.
25616         * lib/unistr/u8-strmblen.c: Likewise.
25617         * lib/unistr/u8-strmbtouc.c: Likewise.
25618
25619 2010-11-13  Jim Meyering  <meyering@redhat.com>
25620
25621         tests: avoid test failure on Solaris 10 due to lack of PATH export
25622         * tests/test-update-copyright.sh: Don't forget to export PATH.
25623
25624         init.sh: ensure that IFS is defined, just in case...
25625         * tests/init.sh (setup_): Ensure that IFS is defined,
25626         so that saving and restoring it works as expected.  This
25627         appears to be useful at least for an old version of dash
25628         from a long time ago (RH 6).  See here for details:
25629         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25630
25631         maint.mk: tighten "test a == b" check
25632         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25633         test to files that contain something like #!/bin/sh.
25634         Without this, coreutils would get two false positives in
25635         the comments of C source files.
25636
25637 2010-11-12  Eric Blake  <eblake@redhat.com>
25638
25639         bootstrap: fix typo in previous attempt
25640         * build-aux/bootstrap (buildreq): Correct the grouping.
25641         Reported by Paul Eggert.
25642
25643         maintainer-makefile: prohibit test x == x
25644         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25645         Based on a report by Matthias Bolte.
25646
25647         bootstrap: allow FreeBSD gzip
25648         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25649         which has no '.' and goes to stderr.
25650         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25651         Reported by Matthias Bolte.
25652
25653         maintainer-makefile: check for i18n setup
25654         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25655         will likely work.
25656
25657 2010-11-12  Bruno Haible  <bruno@clisp.org>
25658
25659         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25660         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25661         * lib/nanosleep.c (nanosleep): Likewise.
25662
25663 2010-11-11  Bruno Haible  <bruno@clisp.org>
25664
25665         fcntl-h: Fix for use of C++ on glibc systems.
25666         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25667         also on glibc systems in C++ mode.
25668         Reported by Gary V. Vaughan <gary@gnu.org>.
25669
25670 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25671
25672         mknod: avoid false failure with dash
25673         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
25674
25675 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
25676
25677         unlink: Fix "is it should" typo in diagnostic.
25678         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
25679         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
25680
25681 2010-11-11  Bruno Haible  <bruno@clisp.org>
25682
25683         Tests for module 'strerror_r-posix'.
25684         * modules/strerror_r-posix-tests: New file.
25685         * tests/test-strerror_r.c: New file.
25686         * tests/test-string-c++.cc: Check the signature of strerror_r.
25687
25688         New module 'strerror_r-posix'.
25689         * lib/string.in.h (strerror_r): New declaration.
25690         * lib/strerror_r.c: New file.
25691         * m4/strerror_r.m4: New file.
25692         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25693         of strerror_r.
25694         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25695         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25696         * modules/strerror_r-posix: New file.
25697         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25698         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25699         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25700         portability problems.
25701
25702 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25703
25704         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25705         line is also considered for output. Quoted function name in shell
25706         command, so temporary files for functions like MyClass::operator()
25707         are removed correctly without errors.
25708
25709 2010-11-09  Bruno Haible  <bruno@clisp.org>
25710
25711         * doc/posix-functions/strerror.texi: List more failing platforms.
25712
25713         * doc/posix-functions/strerror.texi: Add a comment.
25714
25715 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25716
25717         fdopendir: fix bug on MacOS X when low on file descriptors
25718
25719         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25720         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25721         All callers changed.
25722         (fdopendir): Invoke save_cwd at the top level, not after using
25723         multiple dup() calls to use up file descriptors.  Then retry
25724         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25725         less than the maximum number of open file descriptors, because
25726         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25727         on Mac OS X 10.6.4 for tar 1.24
25728         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25729         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25730         and for tar 1.25
25731         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25732
25733 2010-11-07  Bruno Haible  <bruno@clisp.org>
25734
25735         vasnprintf: Support I flag on glibc systems.
25736         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25737         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25738         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25739         snprintf function.
25740         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25741         glibc systems.
25742         * tests/test-vasnprintf-posix3.c: New file.
25743         * modules/vasnprintf-posix-tests (Files): Add it.
25744         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25745
25746 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25747
25748         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25749         * MODULES.html.sh: For compiler warnings, use name
25750         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25751
25752 2010-11-05  Eric Blake  <eblake@redhat.com>
25753
25754         ceil, floor: avoid spurious failure with icc
25755         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25756         [denormals-as-zero] when optimizing without -mieee-fp option.
25757         * tests/test-floorf2.c (floorf_reference): Likewise.
25758         * tests/test-ceilf1.c (dummy): New function.
25759         (main): Use it to outsmart icc's optimization.
25760         * tests/test-floorf1.c (dummy, main): Likewise.
25761
25762         tests: require working signbit
25763         * modules/ceilf-tests (Depends-on): Add signbit.
25764         * modules/ceill-tests (Depends-on): Likewise.
25765         * modules/floorf-tests (Depends-on): Likewise.
25766         * modules/floorl-tests (Depends-on): Likewise.
25767         * modules/round-tests (Depends-on): Likewise.
25768         * modules/roundf-tests (Depends-on): Likewise.
25769         * modules/roundl-tests (Depends-on): Likewise.
25770         * modules/trunc-tests (Depends-on): Likewise.
25771         * modules/truncf-tests (Depends-on): Likewise.
25772         * modules/truncl-tests (Depends-on): Likewise.
25773
25774         strtod: work around icc bug
25775         * lib/strtod.c (minus_zero): Define to working value.
25776         (strtod): Use it to avoid icc bug.
25777
25778         copysign: enhance tests
25779         * modules/copysign-tests (Files): Add minus-zero.h.
25780         * tests/test-copysign.c (main): Also test zeros.
25781
25782 2010-11-04  Eric Blake  <eblake@redhat.com>
25783
25784         ceil, floor, round, trunc: enhance tests of -0
25785         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25786         * tests/test-ceill.c (main): Likewise.
25787         * tests/test-floorf1.c (main): Likewise.
25788         * tests/test-floorl.c (main): Likewise.
25789         * tests/test-round1.c (main): Likewise.
25790         * tests/test-roundf1.c (main): Likewise.
25791         * tests/test-roundl.c (main): Likewise.
25792         * tests/test-trunc1.c (main): Likewise.
25793         * tests/test-truncf1.c (main): Likewise.
25794         * tests/test-truncl.c (main): Likewise.
25795
25796 2010-11-04  Eric Blake  <eblake@redhat.com>
25797
25798         frexp, tests: work around ICC bug with -zero
25799         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25800         works with more compilers.
25801         * tests/minus-zero.h: New file.
25802         * modules/ceilf-tests (Files): Include it.
25803         * modules/ceill-tests (Files): Likewise.
25804         * modules/floorf-tests (Files): Likewise.
25805         * modules/floorl-tests (Files): Likewise.
25806         * modules/frexp-nolibm-tests (Files): Likewise.
25807         * modules/frexp-tests (Files): Likewise.
25808         * modules/frexpl-nolibm-tests (Files): Likewise.
25809         * modules/frexpl-tests (Files): Likewise.
25810         * modules/isnan-tests (Files): Likewise.
25811         * modules/isnand-nolibm-tests (Files): Likewise.
25812         * modules/isnand-tests (Files): Likewise.
25813         * modules/isnanf-nolibm-tests (Files): Likewise.
25814         * modules/isnanf-tests (Files): Likewise.
25815         * modules/isnanl-nolibm-tests (Files): Likewise.
25816         * modules/isnanl-tests (Files): Likewise.
25817         * modules/round-tests (Files): Likewise.
25818         * modules/roundf-tests (Files): Likewise.
25819         * modules/roundl-tests (Files): Likewise.
25820         * modules/ldexpl-tests (Files): Likewise.
25821         * modules/signbit-tests (Files): Likewise.
25822         * modules/snprintf-posix-tests (Files): Likewise.
25823         * modules/sprintf-posix-tests (Files): Likewise.
25824         * modules/strtod-tests (Files): Likewise.
25825         * modules/trunc-tests (Files): Likewise.
25826         * modules/truncf-tests (Files): Likewise.
25827         * modules/truncl-tests (Files): Likewise.
25828         * modules/vsnprintf-posix-tests (Files): Likewise.
25829         * modules/vsprintf-posix-tests (Files): Likewise.
25830         * modules/vasnprintf-posix-tests (Files): Likewise.
25831         * modules/vasprintf-posix-tests (Files): Likewise.
25832         * tests/test-ceilf1.c (main): Use it.
25833         * tests/test-ceill.c (main): Likewise.
25834         * tests/test-floorf1.c (main): Likewise.
25835         * tests/test-floorl.c (main): Likewise.
25836         * tests/test-frexp.c (main): Likewise.
25837         * tests/test-frexpl.c (main): Likewise.
25838         * tests/test-isnan.c (main): Likewise.
25839         * tests/test-isnand.h (main): Likewise.
25840         * tests/test-isnanf.h (main): Likewise.
25841         * tests/test-isnanl.h (main): Likewise.
25842         * tests/test-ldexpl.c (main): Likewise.
25843         * tests/test-round.c (main): Likewise.
25844         * tests/test-roundf.c (main): Likewise.
25845         * tests/test-roundl.c (main): Likewise.
25846         * tests/test-signbit.c (test_signbitf, test_signbitd)
25847         (test_signbitl): Likewise.
25848         * tests/test-snprintf-posix.h (test_function): Likewise.
25849         * tests/test-sprintf-posix.h (test_function): Likewise.
25850         * tests/test-strtod.c (main): Likewise.
25851         * tests/test-trunc1.c (main): Likewise.
25852         * tests/test-truncf1.c (main): Likewise.
25853         * tests/test-truncl.c (main): Likewise.
25854
25855         isnanl: work around icc bug
25856         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25857
25858 2010-11-03  Eric Blake  <eblake@redhat.com>
25859
25860         tests: fix compiler warnings
25861         * tests/test-getopt.h (test_getopt): Fix condition.
25862         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25863         * tests/test-pipe2.c (main): Likewise.
25864         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25865
25866         utimens: fix broken m4 test
25867         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25868
25869 2010-10-28  Bruno Haible  <bruno@clisp.org>
25870
25871         posix_spawn*, getdtablesize: Relax license.
25872         * modules/posix_spawn (License): Change to LGPLv2+.
25873         * modules/posix_spawnp (License): Likewise.
25874         * modules/posix_spawn-internal (License): Likewise.
25875         * modules/posix_spawnattr_init (License): Likewise.
25876         * modules/posix_spawnattr_getflags (License): Likewise.
25877         * modules/posix_spawnattr_setflags (License): Likewise.
25878         * modules/posix_spawnattr_getpgroup (License): Likewise.
25879         * modules/posix_spawnattr_setpgroup (License): Likewise.
25880         * modules/posix_spawnattr_getschedparam (License): Likewise.
25881         * modules/posix_spawnattr_setschedparam (License): Likewise.
25882         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25883         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25884         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25885         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25886         * modules/posix_spawnattr_getsigmask (License): Likewise.
25887         * modules/posix_spawnattr_setsigmask (License): Likewise.
25888         * modules/posix_spawnattr_destroy (License): Likewise.
25889         * modules/posix_spawn_file_actions_init (License): Likewise.
25890         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25891         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25892         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25893         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25894         * modules/getdtablesize (License): Likewise.
25895         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25896
25897 2010-10-26  Bruno Haible  <bruno@clisp.org>
25898
25899         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25900         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25901         Cygwin and mingw.
25902         Suggested by Eric Blake.
25903
25904 2010-10-26  Bruno Haible  <bruno@clisp.org>
25905
25906         stdio: Work around compilation error due to renameat() on Solaris 10.
25907         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25908         * lib/renameat.c: Don't include <unistd.h> here.
25909         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25910         Reported by Paul Eggert and Eric Blake.
25911
25912 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25913
25914         renameat: port to Solaris 10, which declares renameat in unistd.h
25915
25916         * lib/renameat.c: Include unistd.h before stdio.h, because
25917         Solaris 10 declares renameat in unistd.h.  Problem encountered
25918         when building GNU tar 1.24 on Solaris 10.
25919
25920 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25921
25922         fdopendir: fix C89 compilation
25923         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25924         compilers.
25925
25926 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25927
25928         inttostr: simplify by removing unnecessary redundancy
25929         * lib/anytostr.c: Don't include verify.h.
25930         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25931         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25932         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25933         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25934         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25935         Likewise.
25936         * modules/inttostr (Depends-on): Remove 'verify'.
25937
25938 2010-10-23  Bruno Haible  <bruno@clisp.org>
25939
25940         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25941         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25942         Reported by Eric Blake.
25943
25944 2010-10-23  Bruno Haible  <bruno@clisp.org>
25945
25946         Tests: Fix LOCALE_JA on MirBSD 10.
25947         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25948         to an UTF-8 locale.
25949         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25950         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25951         Reported by Eric Blake.
25952
25953 2010-10-21  Bruno Haible  <bruno@clisp.org>
25954
25955         nl_langinfo test: Avoid test failure on NetBSD 5.
25956         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25957         Reported by Eric Blake.
25958
25959 2010-10-21  Eric Blake  <eblake@redhat.com>
25960
25961         c-stack: work around libsigsegv 2.8 bug
25962         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25963         overflow on at least PowerPC64.
25964
25965 2010-10-17  Bruno Haible  <bruno@clisp.org>
25966
25967         userspec: Drop redundant file.
25968         * modules/userspec (Files): Remove lib/inttostr.h.
25969
25970 2010-10-17  Bruno Haible  <bruno@clisp.org>
25971
25972         nl_langinfo tests: Silence some warnings.
25973         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25974         Reported by Jim Meyering.
25975
25976 2010-10-17  Bruno Haible  <bruno@clisp.org>
25977
25978         Make use of GCC's attribute __alloc_size__.
25979         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25980         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25981         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25982         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25983         __alloc_size__.
25984         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25985         Suggested by Jim Meyering.
25986
25987 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25988
25989         bootstrap: anchor .gitignore entries.
25990         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25991         with...
25992         (insert_vc_ignore): ... this new function, which prepends `/' to
25993         all .gitignore entries before passing them to
25994         insert_sorted_if_absent.
25995
25996 2010-10-16  Bruno Haible  <bruno@clisp.org>
25997
25998         nextafter: Fix configure check.
25999         * modules/nextafter (configure.ac): Correct expected prototype.
26000
26001 2010-10-16  Bruno Haible  <bruno@clisp.org>
26002
26003         termios: Update documentation.
26004         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26005
26006 2010-10-16  Bruno Haible  <bruno@clisp.org>
26007
26008         tests: Make them compile with TinyCC.
26009         * tests/test-strstr.c (main): Remove parentheses around array
26010         initializer.
26011
26012 2010-10-15  Eric Blake  <eblake@redhat.com>
26013
26014         ignore-value: make header idempotent
26015         * lib/ignore-value.h: Add double-inclusion guards.
26016         Reported by Stefan Berger.
26017
26018 2010-10-15  Jim Meyering  <meyering@redhat.com>
26019
26020         GNUmakefile: handle "stable" target, not "major"
26021         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26022         lists in maint.mk and announce-gen.  Without this, "make stable"
26023         would fail to ensure that $(VERSION) is up to date.
26024
26025 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26026
26027         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26028         & co.
26029
26030 2010-10-14  Bruno Haible  <bruno@clisp.org>
26031
26032         vasnprintf: Don't set errno to 0.
26033         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26034         block that sets it to 0.
26035         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26036
26037 2010-10-14  Bruno Haible  <bruno@clisp.org>
26038
26039         socketlib: Fix.
26040         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26041         gl_PREREQ_SYS_H_WINSOCK2.
26042         Reported by Ian Beckwith <ianb@erislabs.net>.
26043
26044 2010-10-13  Jim Meyering  <meyering@redhat.com>
26045
26046         test-select-stdin.c: avoid warn_unused_result warnings
26047         * tests/test-select-stdin.c: Include "macros.h".
26048         ASSERT that read and fflush succeed.
26049
26050 2010-10-13  Jim Meyering  <meyering@redhat.com>
26051
26052         git-version-gen: do require git-VC'd files in cwd
26053         * build-aux/git-version-gen: Reject a git version string
26054         if there are no commits associated with the current directory.
26055         This avoids an unlikely false-positive (unrelated dir whose parent
26056         repository also contains a tag matching v*), as pointed out
26057         by Giuseppe Scrivano in
26058         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26059
26060 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26061
26062         argv-iter: omit nonconforming declaration
26063         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26064         enum arg_iter_err declaration, which doesn't conform to C99.
26065         Solaris 10 cc warns about this.
26066
26067 2010-10-13  Eric Blake  <eblake@redhat.com>
26068
26069         termios: fix compilation on mingw
26070         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26071         (gl_TERMIOS_H): Adjust it on mingw.
26072         * modules/termios (Makefile.am): Substitute new key.
26073         * lib/termios.in.h (includes): Make include_next conditional.
26074         * doc/posix-headers/termios.texi (termios.h): Update
26075         documentation.
26076         Reported by Daniel P. Berrange.
26077
26078 2010-10-13  Jim Meyering  <meyering@redhat.com>
26079
26080         git-version-gen: don't require that .git/ be in the current dir
26081         * build-aux/git-version-gen: Adjust this script so that it works
26082         when run from any working directory beneath the top-level .git/-
26083         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26084         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26085
26086         test-select: avoid warn_unused_result warnings
26087         * tests/test-select.c: Include "macros.h".
26088         ASSERT that each call to read, write, and pipe succeeds.
26089         While not technically required, also check each "close".
26090         * modules/select-tests (Files): Add tests/macros.h.
26091
26092         test-symlinkat: remove declaration of unused local
26093         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26094
26095         test-inttostr: avoid shadowing warnings
26096         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26097         and use malloc rather than the stack for the same reason as
26098         mentioned in the comment justifying the other allocation.
26099
26100 2010-10-11  Bruno Haible  <bruno@clisp.org>
26101
26102         stdlib: Allow multiple gnulib generated replacements to coexist.
26103         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26104         Reported by Sam Steingold <sds@gnu.org>.
26105
26106 2010-10-11  Jim Meyering  <meyering@redhat.com>
26107
26108         fix a documentation typo
26109         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26110
26111 2010-10-11  Eric Blake  <eblake@redhat.com>
26112
26113         futimens: work around Solaris 11 bug
26114         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26115         * tests/test-futimens.h (test_futimens): Enhance, rather than
26116         weaken test.
26117         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26118
26119 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26120
26121         Indentation.
26122         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26123         higher-level operators more to the left.
26124
26125 2010-10-11  Jim Meyering  <meyering@redhat.com>
26126
26127         test-futimens: avoid unwarranted test failure on Solaris 5.11
26128         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26129         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26130         because it tries to dereference the NULL name argument.
26131
26132 2010-10-11  Bruno Haible  <bruno@clisp.org>
26133
26134         Indentation.
26135         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26136         indentation.
26137
26138 2010-10-11  Jim Meyering  <meyering@redhat.com>
26139
26140         spawn.in.h: make indentation consistent with parentheses
26141         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26142         Make indentation consistent with parentheses.
26143
26144 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26145
26146         Fix mismatched parens in previous commit
26147         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26148         parens.
26149
26150 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26151
26152         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26153
26154         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26155         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26156         * lib/malloca.c: Include "verify.h".
26157         (verify1): Remove, replacing with a verify call.
26158         * lib/relocwrapper.c (verify1): Likewise.
26159         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26160         Likewise.
26161         * modules/malloca (Depends-on): Add 'verify'.
26162         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26163         * modules/vasnprintf (Depends-on): Add 'verify'.
26164         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26165         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26166         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26167         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26168         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26169         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26170         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26171
26172         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26173
26174         Formerly the style was sometimes 2*X - 1, because the C standard
26175         was wrongly thought to disallow ?: in integral constant expressions.
26176         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26177         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26178         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26179         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26180         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26181         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26182         verify that time_t cannot be floating.
26183
26184 2010-10-08  Eric Blake  <eblake@redhat.com>
26185
26186         time: enforce recent POSIX ruling that time_t is integral
26187         * lib/time.in.h (__time_t_must_be_integral): Detect any
26188         problematic systems, allowing the rest of gnulib to assume POSIX.
26189
26190 2010-10-08  Jim Meyering  <meyering@redhat.com>
26191
26192         fdopendir: fix a bug on systems lacking openat and /proc support
26193         OpenBSD 4.7 is one such system.  The most noticeable effect was
26194         failure of any application making nontrivial use of fts: rm, du,
26195         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26196           ./rm: traversal failed: `a': Bad file descriptor
26197         Debugging that, you see that even though FD 6 was closed just
26198         prior to the opendir call in fd_clone_opendir, its resulting
26199         dir->dd_fd was 8, rather than the expected value of 6:
26200
26201         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26202         93                close (fd);
26203         (gdb) n
26204         94                dir = fd_clone_opendir (dupfd);
26205         (gdb) n
26206         95                saved_errno = errno;
26207         (gdb) p dir->dd_fd
26208         $11 = 8
26209
26210         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26211         The problem is that on OpenBSD, fd_clone_opendir has to resort
26212         to using the old-style save/restore CWD mechanism, due to its
26213         lack of openat/proc support, and *that* would steal the FD (6)
26214         that opendir was supposed to use.
26215
26216         The fix is to squirrel away the desired FD so that save_cwd uses a
26217         different one, and then free the dest FD right before calling opendir.
26218         That guarantees opendir will use the required file descriptor.
26219
26220         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26221
26222 2010-10-08  Bruno Haible  <bruno@clisp.org>
26223
26224         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26225         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26226
26227 2010-10-08  Bruno Haible  <bruno@clisp.org>
26228
26229         nanosleep: Make replacement POSIX compliant.
26230         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26231         is out of range.
26232         Reported by Jim Meyering.
26233
26234 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26235
26236         bootstrap: add hook for altering gnulib.mk, for Bison
26237         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26238         the Bison bootstrapping process can rewrite file names and variables
26239         in this file before later parts of 'bootstrap' use the file.
26240         Bison wants to include lib/gnulib.mk from the top-level makefile,
26241         so it needs the file names in this file to be relative to the top
26242         level, not relative to lib; plus it needs variable names to be
26243         rewritten.
26244         (slurp): Use the new function.
26245
26246         bootstrap: reformat for readability
26247         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26248
26249 2010-10-08  Eric Blake  <eblake@redhat.com>
26250
26251         docs: update cygwin progress
26252         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26253         1.7.7.
26254         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26255         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26256         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26257         * doc/posix-functions/carg.texi (carg): Likewise.
26258         * doc/posix-functions/cargf.texi (cargf): Likewise.
26259         * doc/posix-functions/casin.texi (casin): Likewise.
26260         * doc/posix-functions/casinf.texi (casinf): Likewise.
26261         * doc/posix-functions/casinh.texi (casinh): Likewise.
26262         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26263         * doc/posix-functions/catan.texi (catan): Likewise.
26264         * doc/posix-functions/catanf.texi (catanf): Likewise.
26265         * doc/posix-functions/catanh.texi (catanh): Likewise.
26266         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26267         * doc/posix-functions/ccos.texi (ccos): Likewise.
26268         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26269         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26270         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26271         * doc/posix-functions/cexp.texi (cexp): Likewise.
26272         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26273         * doc/posix-functions/cimag.texi (cimag): Likewise.
26274         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26275         * doc/posix-functions/clog.texi (clog): Likewise.
26276         * doc/posix-functions/clogf.texi (clogf): Likewise.
26277         * doc/posix-functions/conj.texi (conj): Likewise.
26278         * doc/posix-functions/conjf.texi (conjf): Likewise.
26279         * doc/posix-functions/cpow.texi (cpow): Likewise.
26280         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26281         * doc/posix-functions/cproj.texi (cproj): Likewise.
26282         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26283         * doc/posix-functions/creal.texi (creal): Likewise.
26284         * doc/posix-functions/crealf.texi (crealf): Likewise.
26285         * doc/posix-functions/csin.texi (csin): Likewise.
26286         * doc/posix-functions/csinf.texi (csinf): Likewise.
26287         * doc/posix-functions/csinh.texi (csinh): Likewise.
26288         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26289         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26290         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26291         * doc/posix-functions/ctan.texi (ctan): Likewise.
26292         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26293         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26294         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26295         * doc/posix-headers/complex.texi (complex.h): Likewise.
26296
26297 2010-10-07  Jim Meyering  <meyering@redhat.com>
26298
26299         parse-datetime: avoid compilation failure on OpenBSD 4.7
26300         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26301         This works around a compilation failure on OpenBSD 4.7:
26302         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26303
26304 2010-10-07  Eric Blake  <eblake@redhat.com>
26305
26306         docs: update cygwin progress
26307         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26308         1.7.6.
26309         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26310         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26311         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26312         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26313         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26314         Likewise.
26315         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26316         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26317         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26318         Likewise.
26319         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26320         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26321         Likewise.
26322         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26323         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26324         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26325         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26326         Likewise.
26327         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26328         Likewise.
26329         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26330
26331         docs: update parse-datetime history
26332         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26333         documentation of this function's history and alternatives.
26334
26335         cygwin: use more robust version check
26336         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26337         exclude an eventual cygwin 1.9.1.
26338         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26339         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26340         (gl_FUNC_STRCASESTR): Likewise.
26341         Reported by Bruno Haible.
26342
26343 2010-10-06  Bruno Haible  <bruno@clisp.org>
26344
26345         string, sys_select: Avoid #including large headers unless necessary.
26346         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26347         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26348         OSF/1, BeOS, Haiku.
26349         Reported by Jim Meyering.
26350
26351 2010-10-05  Eric Blake  <eblake@redhat.com>
26352
26353         memmem, strstr, strcasestr: fix bug with long periodic needle
26354         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26355         periodic needle having false positive.
26356         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26357         and cygwin 1.7.7.
26358         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26359         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26360         (gl_FUNC_STRCASESTR): Likewise.
26361         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26362         * tests/test-memmem.c (main): Expose the bug.
26363         * tests/test-strcasestr.c (main): Likewise.
26364         * tests/test-strstr.c (main): Likewise.
26365         * tests/test-c-strcasestr.c (main): Likewise.
26366         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26367         * doc/posix-functions/strstr.texi (strstr): Likewise.
26368         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26369         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26370
26371 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26372
26373         parse-datetime: do some more renaming
26374         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26375         parse_datetime, not get_date.  Mention the renaming.
26376         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26377         in comments.
26378         * m4/bison.m4: Likewise.
26379
26380 2010-10-05  Eric Blake  <eblake@redhat.com>
26381
26382         parse-datetime: better name than get_date
26383         * NEWS: Reword the deprecation notice.
26384         * modules/get_date: Rename to modules/parse-datetime.
26385         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26386         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26387         * lib/get_date.y: Rename to lib/parse-datetime.y.
26388         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26389         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26390         * doc/getdate.texi: Provide fallback wrapper.
26391         * lib/getdate.h: Move guts, and wrap...
26392         * lib/parse-datetime.h: ...new file.
26393         * lib/parse-datetime.y (get_date): Rename...
26394         (parse_datetime): ...to this.
26395         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26396         (gl_PARSE_DATETIME): ...to this.
26397         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26398         documentation.
26399         * modules/getdate (Files): Provide fallback docs and header.
26400         (Notice, Depends-on): Update references.
26401         * tests/test-parse-datetime.c: Likewise.
26402         * DEPENDENCIES: Likewise.
26403         * MODULES.html.sh (Date and time <time.h>): Likewise.
26404         * doc/parse-datetime.texi (Date input formats)
26405         (Authors of parse_datetime): Likewise.
26406         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26407         (Include): Likewise.
26408         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26409         * gnulib-tool: Likewise.
26410         * m4/bison.m4 (gl_BISON): Likewise.
26411         Suggested by Bruno Haible.
26412
26413 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26414
26415         more ports to Solaris tr, which needs [] around ranges
26416         * gnulib-tool: Solaris tr needs [] around ranges.
26417         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26418         * tests/test-pipe-filter-gi1.c (main): Likewise.
26419         * tests/test-pipe-filter-ii1.c (main): Likewise.
26420
26421 2010-10-05  Eric Blake  <eblake@redhat.com>
26422
26423         bootstrap: fix Solaris regression
26424         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26425         around ranges.
26426         Reported by Pádraig Brady.
26427
26428         bootstrap: work with pkg-config
26429         * build-aux/bootstrap (check_versions): Also transliterate - in
26430         prerequisite name.
26431         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26432         prerequisites that were already found, to avoid confusion.
26433         Reported by Justin Clift.
26434
26435         faccessat: remove unused wrappers
26436         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26437         presence of these wrappers dragged in -lgen on Solaris.
26438         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26439
26440 2010-10-05  Jim Meyering  <meyering@redhat.com>
26441
26442         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26443         * Makefile (sc_pragma_columns): New syntax-check rule.
26444
26445 2010-10-04  Bruno Haible  <bruno@clisp.org>
26446
26447         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26448         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26449         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26450         Reported by Bruce Korb and Eric Blake.
26451
26452 2010-10-04  Bruno Haible  <bruno@clisp.org>
26453
26454         threadlib: Make option --with-libpth-prefix work.
26455         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26456         use $LIBPTH, not just -lpth.
26457
26458 2010-10-04  Bruno Haible  <bruno@clisp.org>
26459
26460         Avoid line length limitation from HP NonStop system header files.
26461         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26462         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26463         * lib/ctype.in.h: Likewise.
26464         * lib/dirent.in.h: Likewise.
26465         * lib/errno.in.h: Likewise.
26466         * lib/fcntl.in.h: Likewise.
26467         * lib/float.in.h: Likewise.
26468         * lib/getopt.in.h: Likewise.
26469         * lib/iconv.in.h: Likewise.
26470         * lib/inttypes.in.h: Likewise.
26471         * lib/langinfo.in.h: Likewise.
26472         * lib/locale.in.h: Likewise.
26473         * lib/math.in.h: Likewise.
26474         * lib/netdb.in.h: Likewise.
26475         * lib/netinet_in.in.h: Likewise.
26476         * lib/poll.in.h: Likewise.
26477         * lib/pthread.in.h: Likewise.
26478         * lib/pty.in.h: Likewise.
26479         * lib/sched.in.h: Likewise.
26480         * lib/se-selinux.in.h: Likewise.
26481         * lib/search.in.h: Likewise.
26482         * lib/signal.in.h: Likewise.
26483         * lib/spawn.in.h: Likewise.
26484         * lib/stdarg.in.h: Likewise.
26485         * lib/stddef.in.h: Likewise.
26486         * lib/stdint.in.h: Likewise.
26487         * lib/stdio.in.h: Likewise.
26488         * lib/stdlib.in.h: Likewise.
26489         * lib/string.in.h: Likewise.
26490         * lib/strings.in.h: Likewise.
26491         * lib/sys_file.in.h: Likewise.
26492         * lib/sys_ioctl.in.h: Likewise.
26493         * lib/sys_select.in.h: Likewise.
26494         * lib/sys_socket.in.h: Likewise.
26495         * lib/sys_stat.in.h: Likewise.
26496         * lib/sys_time.in.h: Likewise.
26497         * lib/sys_times.in.h: Likewise.
26498         * lib/sys_utsname.in.h: Likewise.
26499         * lib/sys_wait.in.h: Likewise.
26500         * lib/sysexits.in.h: Likewise.
26501         * lib/termios.in.h: Likewise.
26502         * lib/time.in.h: Likewise.
26503         * lib/unistd.in.h: Likewise.
26504         * lib/wchar.in.h: Likewise.
26505         * lib/wctype.in.h: Likewise.
26506         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26507         * modules/ctype (Makefile.am): Likewise.
26508         * modules/dirent (Makefile.am): Likewise.
26509         * modules/errno (Makefile.am): Likewise.
26510         * modules/fcntl-h (Makefile.am): Likewise.
26511         * modules/float (Makefile.am): Likewise.
26512         * modules/getopt-posix (Makefile.am): Likewise.
26513         * modules/iconv-h (Makefile.am): Likewise.
26514         * modules/inttypes (Makefile.am): Likewise.
26515         * modules/langinfo (Makefile.am): Likewise.
26516         * modules/locale (Makefile.am): Likewise.
26517         * modules/math (Makefile.am): Likewise.
26518         * modules/netdb (Makefile.am): Likewise.
26519         * modules/netinet_in (Makefile.am): Likewise.
26520         * modules/poll-h (Makefile.am): Likewise.
26521         * modules/pthread (Makefile.am): Likewise.
26522         * modules/pty (Makefile.am): Likewise.
26523         * modules/sched (Makefile.am): Likewise.
26524         * modules/search (Makefile.am): Likewise.
26525         * modules/selinux-h (Makefile.am): Likewise.
26526         * modules/signal (Makefile.am): Likewise.
26527         * modules/spawn (Makefile.am): Likewise.
26528         * modules/stdarg (Makefile.am): Likewise.
26529         * modules/stddef (Makefile.am): Likewise.
26530         * modules/stdint (Makefile.am): Likewise.
26531         * modules/stdio (Makefile.am): Likewise.
26532         * modules/stdlib (Makefile.am): Likewise.
26533         * modules/string (Makefile.am): Likewise.
26534         * modules/strings (Makefile.am): Likewise.
26535         * modules/sys_file (Makefile.am): Likewise.
26536         * modules/sys_ioctl (Makefile.am): Likewise.
26537         * modules/sys_select (Makefile.am): Likewise.
26538         * modules/sys_socket (Makefile.am): Likewise.
26539         * modules/sys_stat (Makefile.am): Likewise.
26540         * modules/sys_time (Makefile.am): Likewise.
26541         * modules/sys_times (Makefile.am): Likewise.
26542         * modules/sys_utsname (Makefile.am): Likewise.
26543         * modules/sys_wait (Makefile.am): Likewise.
26544         * modules/sysexits (Makefile.am): Likewise.
26545         * modules/termios (Makefile.am): Likewise.
26546         * modules/time (Makefile.am): Likewise.
26547         * modules/unistd (Makefile.am): Likewise.
26548         * modules/wchar (Makefile.am): Likewise.
26549         * modules/wctype (Makefile.am): Likewise.
26550
26551 2010-10-04  Bruno Haible  <bruno@clisp.org>
26552
26553         read-file tests: Avoid a test failure on NonStop Kernel.
26554         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26555         a regular file.
26556         Reported by Joachim Schmitz <schmitz@hp.com>.
26557
26558 2010-10-03  Bruno Haible  <bruno@clisp.org>
26559
26560         gnulib-tool: Fixes for --create-testdir with --libtool.
26561         * gnulib-tool (func_get_automake_snippet): Don't augment
26562         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26563         an executable.
26564         (func_create_testdir): Handle module 'alloca' like func_import.
26565         Reported by Bruce Korb <bruce.korb@gmail.com>.
26566
26567 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26568
26569         Avoid some lines longer than 80 characters.
26570         * lib/stdint.in.h: Break long comment lines.
26571         * lib/math.in.h: Likewise.
26572         (_GL_NUM_UINT_WORDS): New macro, for readability.
26573         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26574         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26575         * lib/stdlib.in.h: Likewise.
26576         * lib/spawn.in.h: Likewise.
26577         * lib/sys_socket.in.h: Update an URL.
26578         * lib/sys_stat.in.h: Break long line.
26579
26580 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26581
26582         Improve pmccabe2html.
26583         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26584         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26585         when the sources change. Remove the line in the HTML about "Used
26586         ranges" (which implied that there might be other unused ranges),
26587         rename "Resume" to "Summary" (easier to understand for more users).
26588         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26589         styles, and some unnecessary blank lines.
26590
26591 2010-10-03  Bruno Haible  <bruno@clisp.org>
26592             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26593
26594         acl: Add support for ACLs on NonStop Kernel.
26595         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26596         Check whether the function aclsort() exists.
26597         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26598         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26599         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26600         (acl_nontrivial [HAVE_ACLSORT]: New function.
26601         (file_has_acl): Implement for NonStop Kernel.
26602         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26603         (qset_acl): Implement for NonStop Kernel.
26604         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26605         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26606         (main): Implement for NonStop Kernel.
26607         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26608         Kernel. Handle this flavor.
26609         * tests/test-set-mode-acl.sh: Likewise.
26610         * tests/test-copy-acl.sh: Likewise.
26611         * tests/test-copy-file.sh: Likewise.
26612
26613 2010-10-03  Bruno Haible  <bruno@clisp.org>
26614
26615         Info about ACLs on NonStop Kernel.
26616         * doc/acl-resources.txt: Add info about NonStop Kernel.
26617         References by Joachim Schmitz <schmitz@hp.com>.
26618
26619 2010-10-02  Bruno Haible  <bruno@clisp.org>
26620
26621         Define missing EDQUOT on NonStop Kernel.
26622         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26623         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26624         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26625         missing.
26626         * doc/posix-headers/errno.texi: Mention the NSK bug.
26627         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26628         Reported by Joachim Schmitz <schmitz@hp.com>.
26629
26630 2010-10-02  Bruno Haible  <bruno@clisp.org>
26631
26632         Update doc for POSIX:2008.
26633         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26634         Update URL of POSIX specification.
26635
26636 2010-10-02  Bruno Haible  <bruno@clisp.org>
26637
26638         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26639         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26640         from gnulib, not from Automake.
26641
26642 2010-10-02  Bruno Haible  <bruno@clisp.org>
26643
26644         New module 'system-posix'.
26645         * modules/system-posix: New file.
26646         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26647         module is present.
26648         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26649         GNULIB_SYSTEM_POSIX.
26650         * modules/stdlib (Depends-on): Remove sys_wait.
26651         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26652         * doc/posix-functions/system.texi: Mention the new module.
26653         * doc/posix-headers/stdlib.texi: Likewise.
26654         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26655         define test_sys_wait_macros to a no-op.
26656         Reported by Sam Steingold <sds@gnu.org>.
26657
26658 2010-09-30  Bruno Haible  <bruno@clisp.org>
26659
26660         More renaming from 'getdate' to 'get_date'.
26661         * doc/get_date.texi: Renamed from doc/getdate.texi.
26662         * modules/get_date (Files): Update.
26663         * MODULES.html.sh (Date and time <time.h>): Update.
26664         * DEPENDENCIES: Update.
26665         * gnulib-tool: Update comment.
26666         * m4/bison.m4 (gl_BISON): Likewise.
26667         * m4/get_date.m4 (gl_GET_DATE): Likewise.
26668
26669 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
26670
26671         bootstrap: support ACLOCAL_FLAGS during aclocal
26672         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
26673         can add additional -I dir for third-party .m4 files.
26674
26675 2010-09-30  Eric Blake  <eblake@redhat.com>
26676
26677         bootstrap: use glibtoolize on MacOS
26678         * build-aux/bootstrap (check_versions): Convert libtool into
26679         libtoolize.
26680         (tool search): Move libtool check earlier, and look for
26681         glibtoolize for MacOS.
26682         (gnulib_tool_options): Auto-add --libtool when appropriate.
26683         Reported by Justin Clift.
26684
26685         poll: fix typo that broke test on MacOS
26686         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26687         Reported by Justin Clift.
26688
26689         getdate: rename to get_date
26690         Note: getdate.h is not renamed, to minimize client impact.
26691         * modules/getdate: Mark obsolete.  Move old contents...
26692         * modules/get_date: ...to new module name.
26693         * modules/getdate-tests: Move...
26694         * modules/get_date-tests: ...here.
26695         * m4/getdate.m4: Move...
26696         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26697         * lib/getdate.y: Move...
26698         * lib/get_date.y: ...here.
26699         * tests/test-getdate.c: Move...
26700         * tests/test-get_date.c: ...here.
26701         * doc/posix-functions/getdate.texi (getdate): Update name.
26702         * NEWS: Mention the change.
26703
26704 2010-09-29  Bruno Haible  <bruno@clisp.org>
26705
26706         Separate the module 'waitpid' from the module 'sys_wait'.
26707         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26708         present.
26709         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26710         gl_MODULE_INDICATOR_FOR_TESTS.
26711         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26712         * modules/sys_wait (Depends-on): Remove waitpid.
26713         (Makefile.am): Substitute GNULIB_WAITPID.
26714         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26715         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26716         signature only if the 'waitpid' module is present.
26717         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26718         * NEWS: Mention the change.
26719         * modules/grantpt (Depends-on): Add waitpid.
26720         * modules/wait-process (Depends-on): Likewise.
26721
26722 2010-09-29  Bruno Haible  <bruno@clisp.org>
26723
26724         More tests for module 'sys_wait'.
26725         * modules/sys_wait-c++-tests: New file.
26726         * tests/test-sys_wait-c++.cc: New file.
26727         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26728         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26729
26730 2010-09-29  Bruno Haible  <bruno@clisp.org>
26731
26732         New module 'waitpid'.
26733         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26734         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26735         Don't include <process.h>.
26736         (waitpid): Declare only, using modern idiom.
26737         * m4/waitpid.m4: New file.
26738         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26739         * modules/waitpid: New file.
26740         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26741         (Makefile.am): Update.
26742         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26743
26744 2010-09-28  Bruno Haible  <bruno@clisp.org>
26745
26746         poll: Assume ANSI C.
26747         * lib/poll.c (poll): Use an ANSI C declaration.
26748
26749 2010-09-28  Bruno Haible  <bruno@clisp.org>
26750
26751         poll-h: Create poll.h on all platforms.
26752         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26753         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26754         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26755         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26756         (gl_REPLACE_POLL_H): Don't set POLL_H.
26757         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26758         * modules/poll-h (Depends-on): Add include_next.
26759         (Makefile.am): Create poll.h unconditionally. Substitute also
26760         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26761
26762 2010-09-28  Bruno Haible  <bruno@clisp.org>
26763
26764         Tests for module 'poll-h'.
26765         * modules/poll-h-c++-tests: New file.
26766         * tests/test-poll-h-c++.cc: New file.
26767
26768         Tests for module 'poll-h'.
26769         * modules/poll-h-tests: New file.
26770         * tests/test-poll-h.c: New file.
26771
26772 2010-09-28  Bruno Haible  <bruno@clisp.org>
26773
26774         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26775         * modules/poll-h (Depends-on): Add 'extensions'.
26776
26777 2010-09-28  Bruno Haible  <bruno@clisp.org>
26778
26779         New module 'poll-h'.
26780         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26781         (poll): Use modern idiom.
26782         * modules/poll-h: New file.
26783         * modules/poll (Files): Remove lib/poll.in.h.
26784         (Depends-on): Add poll-h.
26785         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26786         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26787         * m4/poll_h.m4: New file.
26788         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26789         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26790         and invoke gl_REPLACE_POLL_H.
26791         * lib/poll.c: Use common idiom.
26792         * tests/test-poll.c: Likewise.
26793         * doc/posix-headers/poll.texi: Mention the poll-h module.
26794         Suggested by Eric Blake.
26795
26796 2010-09-26  Bruno Haible  <bruno@clisp.org>
26797
26798         sys_wait: Implement WSTOPSIG.
26799         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26800         Reported by Simon Josefsson.
26801
26802 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26803
26804         stdlib, sys_wait: Avoid compilation error on mingw.
26805         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26806
26807 2010-09-26  Bruno Haible  <bruno@clisp.org>
26808
26809         stdlib tests: Avoid code duplication.
26810         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26811         * modules/sys_wait-tests (Files): Likewise.
26812         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26813         * tests/test-stdlib.c: Include test-sys_wait.h.
26814         (main): Invoke test_sys_wait_macros.
26815         * tests/test-sys_wait.c: Include test-sys_wait.h.
26816         (main): Invoke test_sys_wait_macros.
26817
26818 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26819
26820         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26821         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26822         sure Windows sockets are working before calling getaddrinfo.
26823         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26824         * doc/gnulib.texi (Windows sockets): Fix typo.
26825
26826 2010-09-25  Bruno Haible  <bruno@clisp.org>
26827
26828         Tests for module 'regex-quote'.
26829         * modules/regex-quote-tests: New file.
26830         * tests/test-regex-quote.c: New file.
26831
26832         New module 'regex-quote'.
26833         * lib/regex-quote.h: New file.
26834         * lib/regex-quote.c: New file.
26835         * modules/regex-quote: New file.
26836         Suggested by Reuben Thomas <rrt@sc3d.org>.
26837
26838 2010-09-24  Bruno Haible  <bruno@clisp.org>
26839
26840         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26841         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26842
26843 2010-09-23  Bruno Haible  <bruno@clisp.org>
26844
26845         setenv: Relax license.
26846         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26847         Blake.
26848         Requested by Eric Blake.
26849
26850 2010-09-22  Bruno Haible  <bruno@clisp.org>
26851
26852         termios: Relax license.
26853         * modules/termios (License): Change to LGPLv2+.
26854         Requested by Eric Blake.
26855
26856 2010-09-22  Bruno Haible  <bruno@clisp.org>
26857
26858         threadlib: Allow the package to change the default to 'no'.
26859         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26860         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26861         Reported by Paul Eggert.
26862
26863 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26864             Bruno Haible  <bruno@clisp.org>
26865
26866         Fix endless loop in mbmemcasecoll.
26867         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26868         byte.
26869         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26870
26871 2010-09-22  Bruno Haible  <bruno@clisp.org>
26872
26873         Tests for module 'memcoll'.
26874         * modules/memcoll-tests: New file.
26875         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26876
26877         memcoll, xmemcoll: Clarify size vs. length.
26878         * modules/memcoll.c (memcoll0): Clarify specification.
26879         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26880         passed to collate_error.
26881
26882 2010-09-22  Bruno Haible  <bruno@clisp.org>
26883
26884         Tests for module 'memcasecmp'.
26885         * modules/memcasecmp-tests: New file.
26886         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26887
26888 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26889
26890         * lib/pthread.in.h: Add split double-inclusion guard, and include
26891         system <pthread.h> if there is one.  Use @@-style as in other
26892         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26893         pthread.h doesn't.
26894         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26895         (pthread_mutexattr_settype, pthread_mutex_trylock):
26896         New static inline functions, if there's no system <pthread.h>.
26897         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26898         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26899         Approximate with mutexes if the system lacks spinlocks, as in
26900         MacOS.
26901         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26902         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26903         @@-style.  Check for spinlocks separately.
26904         (gl_PTHREAD_DEFAULTS): New macro.
26905         * modules/pthread: Redo to use a more typical style for in.h files.
26906
26907 2010-09-21  Eric Blake  <eblake@redhat.com>
26908
26909         net_if: enhance tests
26910         * tests/test-net_if.c (main): Move signature checks earlier.
26911         Print failures to stderr.
26912         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26913         Document the bug that we do not yet fix.
26914
26915 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26916
26917         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26918         about gnulib, not GSS.
26919
26920 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26921
26922         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26923         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26924         for Emacs.
26925         * build-aux/pmccabe2html: Make Makefile.am example code more
26926         cut-and-paste friendly.
26927
26928 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26929
26930         * tests/test-net_if.c: New file.
26931         * modules/net_if-tests: New file.
26932
26933 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26934
26935         pthread: add pthread_spin_destroy
26936         * lib/pthread.in.h (pthread_spin_destroy): New function.
26937
26938 2010-09-19  Bruno Haible  <bruno@clisp.org>
26939
26940         gnulib-tool: Fix --help output.
26941         * gnulib-tool (func_usage): Fix help message.
26942         Reported by Reuben Thomas <rrt@sc3d.org>.
26943
26944 2010-09-18  Jim Meyering  <meyering@redhat.com>
26945
26946         maint.mk: avoid unexpanded \n in two diagnostics
26947         * top/maint.mk (sc_prohibit_always_true_header_tests):
26948         Don't use a literal \n in a halt=... assignment.  It would not be
26949         expanded, and the two \n bytes would appear in the diagnostic output
26950         rather than the desired newline.  Use halt=$$(printf ... instead.
26951         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26952
26953 2010-09-18  Bruno Haible  <bruno@clisp.org>
26954
26955         netinet_in: Doc tweak.
26956         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26957         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26958
26959 2010-09-18  Jim Meyering  <meyering@redhat.com>
26960
26961         init.sh: correct an outdated comment
26962         * tests/init.sh (create_exe_shims_):  s/function/alias/
26963
26964         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26965         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26966         a file named "*.exe" is removed between the glob expansion and the
26967         processing of that oddly named file.
26968
26969 2010-09-17  Eric Blake  <eblake@redhat.com>
26970
26971         mirbsd: add some more support
26972         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26973         in BSD family.
26974         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26975         devices as OpenBSD.
26976         * m4/host-os.m4 (mirbsd): Add MirBSD.
26977
26978         tests: fix unportable assumption on sys/wait.h
26979         * tests/test-sys_wait.c (main): Relax test.
26980         * tests/test-stdlib.c (main): Likewise.
26981
26982         init.sh: accommodate directory with no .exes
26983         * tests/init.sh: Accomodate directory containing only scripts.
26984
26985         tests: avoid compiler warning
26986         * tests/test-stdlib.c (main): Use the variable.
26987
26988         fdutimens, fdutimensat: update signature, again
26989         * lib/utimens.h (gl_futimens): Delete, and move signature...
26990         (fdutimens): ...here.
26991         (fdutimensat): Rearrange signature.
26992         (lutimensat): Rename variable for clarity.
26993         * lib/fdutimensat.c (fdutimensat): Update signature.
26994         * lib/utimens.c (fdutimens): Likewise.
26995         (gl_futimens): Delete.
26996         (utimens, lutimens): Update callers.
26997         * lib/futimens.c (futimens): Likewise.
26998         * tests/test-fdutimensat.c: Likewise.
26999         * tests/test-utimens.c: Likewise.
27000         * tests/test-futimens.h: Update comment.
27001         * NEWS: Mention this.
27002         Suggested by Paul Eggert.
27003
27004 2010-09-17  Bruno Haible  <bruno@clisp.org>
27005
27006         Take over the maintenance of some older macros from Autoconf.
27007         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27008         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27009         GNU Autoconf.
27010         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27011         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27012
27013 2010-09-17  Eric Blake  <eblake@redhat.com>
27014
27015         fdutimensat: drop atflag validation
27016         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27017         with valid fd, to close a race scenario where futimens is
27018         unsupported and FILE was replaced by a symlink.
27019         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27020         accordingly.
27021         Suggested by Paul Eggert.
27022
27023 2010-09-16  Bruno Haible  <bruno@clisp.org>
27024
27025         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27026         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27027
27028 2010-09-16  Bruno Haible  <bruno@clisp.org>
27029
27030         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27031         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27032         login_tty exists.
27033         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27034
27035 2010-09-16  Bruno Haible  <bruno@clisp.org>
27036
27037         login_tty: Make the replacement code work on BSD systems.
27038         * lib/login_tty.c: Include <sys/ioctl.h>.
27039         (login_tty): Use ioctl TIOCSCTTY when available.
27040         * modules/login_tty (Depends-on): Add sys_ioctl.
27041         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27042
27043 2010-09-16  Bruno Haible  <bruno@clisp.org>
27044
27045         login_tty: Stricter unit test.
27046         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27047         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27048         and tcgetsid() after login_tty.
27049         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27050
27051 2010-09-16  Bruno Haible  <bruno@clisp.org>
27052
27053         New module 'tcgetsid'.
27054         * lib/tcgetsid.c: New file.
27055         * m4/tcgetsid.m4: New file.
27056         * modules/tcgetsid: New file.
27057         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27058         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27059         GNULIB_TCGETSID, HAVE_TCGETSID.
27060         * lib/termios.in.h: Include <sys/types.h>.
27061         (tcgetsid): New declaration.
27062         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27063         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27064         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27065         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27066
27067 2010-09-16  Bruno Haible  <bruno@clisp.org>
27068
27069         Tests for module 'termios'.
27070         * modules/termios-c++-tests: New file.
27071         * modules/termios-tests: New file.
27072         * tests/test-termios-c++.cc: New file.
27073         * tests/test-termios.c: New file.
27074
27075         New module 'termios'.
27076         * modules/termios: New file.
27077         * lib/termios.in.h: New file.
27078         * m4/termios_h.m4: New file.
27079         * doc/posix-headers/termios.texi: Mention the new module.
27080
27081 2010-09-16  Eric Blake  <eblake@redhat.com>
27082
27083         fdutimensat: add an atflag parameter
27084         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27085         * lib/utimens.h (fdutimensat): Update prototype.
27086         * tests/test-fdutimensat.c: Adjust test to match.
27087         * NEWS: Document the change.
27088         Suggested by Paul Eggert.
27089
27090 2010-09-16  Bruno Haible  <bruno@clisp.org>
27091
27092         Fix typos in comments.
27093         * lib/striconveh.h: Fix typo in comment.
27094         * lib/login_tty.c (login_tty): Likewise.
27095
27096 2010-09-15  Bruno Haible  <bruno@clisp.org>
27097
27098         stdlib: clarify MirBSD WEXITSTATUS bug
27099         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27100         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27101
27102 2010-09-15  Eric Blake  <eblake@redhat.com>
27103
27104         stdlib: work around MirBSD WEXITSTATUS bug
27105         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27106         * modules/stdlib (Depends-on): Add sys_wait.
27107         * tests/test-sys_wait.c (main): Enhance test.
27108         * tests/test-stdlib.c (main): Likewise.
27109         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27110
27111         docs: mention MacOS issue with WEXITSTATUS(constant)
27112         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27113         issue.
27114         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27115
27116         strnlen: add tests
27117         * modules/strnlen-tests: New file.
27118         * tests/test-strnlen.c: Likewise.
27119
27120 2010-09-14  Bruno Haible  <bruno@clisp.org>
27121
27122         unistr/base: Avoid link errors when module 'libunistring' is also used.
27123         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27124         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27125         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27126         Declare also when HAVE_LIBUNISTRING is set.
27127         Reported by Pádraig Brady <P@draigbrady.com>.
27128
27129 2010-09-14  Eric Blake  <eblake@redhat.com>
27130
27131         test-rawmemchr: make more robust
27132         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27133         (Depends-on, configure.ac): Add needed prerequisites to use it.
27134         * modules/memchr-tests (Files, Depends-on, configure.ac):
27135         Likewise, to avoid implicit reliance on memchr module prereqs.
27136         * tests/test-memchr.c (main): Ensure proper masking.
27137         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27138         reads.
27139
27140         memchr: detect glibc Alpha bug
27141         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27142         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27143         Alpha.
27144         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27145         * tests/test-memchr.c (main): Enhance test.
27146         Reported by Nelson H. F. Beebe.
27147
27148 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27149
27150         fts, getcwd, glob: audit for dirfd returning -1
27151         * lib/fts.c (opendir): Remove #define; no longer used.
27152         (opendirat): New arg PDIR_FD.  All callers changed.
27153         (fts_build, _opendir2): Use new opendirat to avoid the need for
27154         dirfd, or for checking whether dirfd returns a negative value.
27155         Don't use opendir; always use openat followed by fdopendir.
27156         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27157         it.
27158         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27159         returns -1 here.
27160         * modules/fts (Depends-on): Remove dirfd.
27161         * modules/getcwd (Depends-on): Likewise.
27162
27163 2010-09-13  Eric Blake  <eblake@redhat.com>
27164
27165         float: fix broken MirBSD header
27166         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27167         * doc/posix-headers/float.texi (float.h): Document it.
27168
27169 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27170
27171         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27172         * lib/fts.c (opendirat): New arg extra_flags.
27173         (__opendir2): Use it to avoid following symlinks when opening
27174         a directory, if symlinks are not supposed to be followed.  See
27175         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27176
27177         fdopendir: preserve argument fd before returning
27178         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27179         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27180         (fdopendir): Use them, arranging for FD to be open to the same
27181         directory that it was when it started.  (It might be temporarily
27182         closed while fdopendir is running, so this not thread- or
27183         signal-safe.)  Be careful to do the right thing even when file
27184         descriptors are scarce and dup fails with errno == EMFILE.  See
27185         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27186
27187 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27188
27189         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27190         * NEWS: Document change.
27191         * m4/regex.m4: Disable test for regoff_t size.
27192
27193 2010-09-13  Jim Meyering  <meyering@redhat.com>
27194
27195         fts: don't operate on an invalid file descriptor after failed dup
27196         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27197         negative file descriptor.
27198
27199 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27200
27201         savedir: add streamsavedir, deprecate fdsavedir
27202         * NEWS: Mention deprecation of fdsavedir.
27203         * lib/savedir.c (streamsavedir): New extern function, whose name
27204         ends in "savedir" to be consistent with the others.  This differs
27205         from savedirstream in that it doesn't close its argument.  The
27206         next version of GNU tar will use this instead of fdsavedir, to
27207         avoid some race conditions and conserve file descriptors.
27208         (savedirstream): Reimplement as a wrapper around streamsavedir.
27209         (fdsavedir): Add a comment deprecating this function.  As far as
27210         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27211         * lib/savedir.h (streamsavedir): New decl.
27212         (fdsavedir): Add a comment deprecating this.
27213
27214 2010-09-10  Bruno Haible  <bruno@clisp.org>
27215
27216         langinfo: Fix last commit.
27217         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27218         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27220
27221 2010-09-10  Bruno Haible  <bruno@clisp.org>
27222
27223         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27224         * lib/progreloc.c (O_EXEC): Define fallback.
27225
27226 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27227
27228         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27229         * NEWS: Document recent changes to fcntl-h.
27230         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27231         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27232         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27233         Similarly for O_SEARCH; this last was already true, but not documented.
27234         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27235         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27236         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27237         Likewise.
27238         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27239         is zero, not whether it is defined.
27240         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27241         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27242         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27243
27244 2010-09-10  Bruno Haible  <bruno@clisp.org>
27245
27246         langinfo, nl_langinfo: Fix for IRIX 5.3.
27247         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27248         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27249         HAVE_LANGINFO_YESEXPR.
27250         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27251         HAVE_LANGINFO_YESEXPR.
27252         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27253         HAVE_LANGINFO_T_FMT_AMPM is 0.
27254         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27255         HAVE_LANGINFO_YESEXPR is 0.
27256         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27257         NOEXPR.
27258         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27259         * doc/posix-functions/nl_langinfo.texi: Likewise.
27260         Reported by Eric Blake.
27261
27262 2010-09-10  Bruno Haible  <bruno@clisp.org>
27263
27264         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27265         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27266         on FreeBSD 8.0 and OpenBSD 4.6.
27267         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27268         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27269         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27270         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27271         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27272         ac_includes_default.
27273         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27274
27275 2010-09-09  Eric Blake  <eblake@redhat.com>
27276
27277         strsignal: work around NetBSD bug
27278         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27279         * lib/string.in.h (includes): Likewise.
27280         * doc/posix-functions/strsignal.texi (strsignal): Document the
27281         bug.
27282         Reported by Nelson H. F. Beebe.
27283
27284         gnulib-tool: work with NetBSD /bin/sh
27285         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27286         (func_get_description, func_get_comment, func_get_status)
27287         (func_get_notice, func_get_applicability, func_get_filelist)
27288         (func_get_dependencies, func_get_autoconf_early_snippet)
27289         (func_get_autoconf_snippet, func_get_automake_snippet)
27290         (func_get_include_directive, func_get_link_directive)
27291         (func_get_license, func_get_maintainer, func_import): Avoid
27292         shell syntax errors from parsing syntax extensions.
27293
27294 2010-09-09  Bruno Haible  <bruno@clisp.org>
27295
27296         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27297         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27298         a reliable way to determine whether the 'alias' command works.
27299
27300 2010-09-08  Jim Meyering  <meyering@redhat.com>
27301
27302         init.sh: penalize a set-x-impaired shell; don't disqualify it
27303         * tests/init.sh: Too many shells corrupt application stderr when
27304         you set -x, so we can't afford to disqualify them, since at least
27305         on Irix-6.5, that would disqualify all bourne shells.
27306         Instead, use a two-pass approach.
27307         On the first pass, try to find a shell that meets the stricter
27308         condition that set -x does not corrupt stderr.
27309         If no shell meets the stricter condition, retest each candidate
27310         shell, but without that extra condition.  Finally, when
27311         VERBOSE=yes is requested and set -x might cause trouble, simply
27312         issue a warning and refrain from enabling debug output.
27313
27314 2010-09-08  Eric Blake  <eblake@redhat.com>
27315
27316         unsetenv: fix OpenBSD bug
27317         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27318         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27319         documentation.
27320         Reported by Jim Meyering.
27321
27322         strtod: work around IRIX 6.5 bug
27323         * lib/strtod.c (strtod): Reparse number on shorter string if
27324         exponent parse was invalid.
27325         * tests/test-strtod.c (main): Add check for "0x1p 2".
27326         Reported by Tom G. Christensen.
27327
27328         getopt: optimize previous patch
27329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27330         empty variable.  Speed up awk script.
27331         Reported by Paolo Bonzini.
27332
27333 2010-09-08  Jim Meyering  <meyering@redhat.com>
27334
27335         test.sh: disqualify shells for which set -x corrupts stderr
27336         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27337         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27338         appear in stderr output.  For example, this command:
27339             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27340         prints "P=1" on those two systems:
27341
27342 2010-09-08  Bruno Haible  <bruno@clisp.org>
27343
27344         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27345         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27346         commands, because some shells ignore redirections when there is an
27347         error in the command lookup.
27348         Reported by Eric Blake.
27349
27350 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27351
27352         * lib/regex.h: Fix a mention of `regex_compile' (should be
27353         `re_compile_pattern').
27354         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27355         (re_set_registers): Correct name of parameter in comment.
27356
27357         * doc/regex.texi: Add documentation for missing syntax flags.
27358         Remove commented-out documentation of defunct syntax option
27359         RE_NO_EMPTY_ALTS.
27360         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27361         Add documentation of re_set_registers.
27362         Document trick to re-use a pattern buffer by setting fastmap manually.
27363         Update documentation of struct re_pattern_buffer per public members.
27364         Uncomment documentation of equivalence class operators and
27365         collating symbol operators, since they are now implemented,
27366         Explain leftmost-longest matching in relation to alternatives.
27367         Tidy documentation of substring matching.
27368         Remove POSIX documentation, which is done better in
27369         glibc, and refer the reader there. Keep BSD API documentation, as
27370         that is not readily available elsewhere.
27371
27372 2010-09-07  Eric Blake  <eblake@redhat.com>
27373
27374         getopt: handle POSIXLY_CORRECT set but not exported
27375         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27376         export state of POSIXLY_CORRECT, due to bash set -o posix.
27377         Reported by Dustin J. Mitchell.
27378
27379 2010-09-05  Bruno Haible  <bruno@clisp.org>
27380
27381         gnulib-tool: Highlight the changed options.
27382         * gnulib-tool (func_usage): Display the --import, --add-import,
27383         --remove-import explanations in bold font.
27384
27385 2010-09-06  Karl Berry  <karl@gnu.org>
27386
27387         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27388
27389 2010-09-05  Bruno Haible  <bruno@clisp.org>
27390
27391         uniwidth/width: Update comment.
27392         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27393         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27394
27395 2010-09-05  Bruno Haible  <bruno@clisp.org>
27396
27397         isinf, isnan: Relax license.
27398         * modules/isinf (License): Change from GPL to LGPL, with consent from
27399         Ben Pfaff.
27400         * modules/isnan (License): Likewise.
27401         Requested by Ludovic Courtès.
27402
27403 2010-09-04  Bruno Haible  <bruno@clisp.org>
27404
27405         gnulib-tool: Help migration from --import to --add-import or --update.
27406         * gnulib-tool: Emit a verbose error message when --import is used
27407         without any module name.
27408
27409 2010-09-04  Bruno Haible  <bruno@clisp.org>
27410
27411         Update doc about gnulib-tool.
27412         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27413         'gnulib-tool --update' in more detail.
27414         Reported by Eric Blake.
27415
27416 2010-09-04  Bruno Haible  <bruno@clisp.org>
27417
27418         gnulib-tool: Change --import. New options --add/remove-import.
27419         * gnulib-tool: New options --add-import, --remove-import.
27420         (func_usage): Document them.
27421         (have_associative): Define always.
27422         (func_import): In import mode, don't merge the specified settings with
27423         the cached settings. Implement remove-import mode.
27424         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27425         Explain when to use them versus --import.
27426         (Simple update): Use --add-import instead of --import.
27427         * NEWS: Mention the change.
27428
27429 2010-09-04  Bruno Haible  <bruno@clisp.org>
27430
27431         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27432         separate gnulib.mk.
27433
27434 2010-09-04  Bruno Haible  <bruno@clisp.org>
27435
27436         gnulib-tool: Don't talk about CVS any more.
27437         * gnulib-tool (func_usage, func_import): Write "version control"
27438         instead of CVS.
27439
27440 2010-09-04  Jim Meyering  <meyering@redhat.com>
27441
27442         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27443         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27444         false positives (whose names may be ill-chosen) when searching
27445         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27446         would cause a false-positive.
27447
27448         avoid coreutils "make distcheck" failure
27449         Coreutils tests with an absolute build directory name that contains
27450         a space.  Not quoting this directory name caused a failure.
27451         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27452         * tests/test-vc-list-files-cvs.sh: Likewise.
27453
27454 2010-09-04  Bruno Haible  <bruno@clisp.org>
27455
27456         gnulib-tool: Avoid error when run in a package without Makefile.am.
27457         * gnulib-tool: When collecting the m4dirs in a package that does not
27458         have a Makefile.am, eliminate those directories that contain no
27459         gnulib-cache.m4. Fix expression that counts these directories.
27460
27461 2010-09-04  Bruno Haible  <bruno@clisp.org>
27462
27463         update-copyright test: Improve output when perl is missing or too old.
27464         * tests/test-update-copyright.sh: Move test of Perl version down after
27465         the test whether Perl exists. Provide an explanation relating Perl's
27466         error message to Automake's SKIP: message.
27467
27468 2010-09-04  Bruno Haible  <bruno@clisp.org>
27469
27470         Don't augment PATH in TESTS_ENVIRONMENT.
27471         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27472         set abs_aux_dir instead of augmenting PATH.
27473         * modules/vc-list-files-tests (Makefile.am): Likewise.
27474         * tests/test-update-copyright.sh: Augment PATH here.
27475         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27476         path_prepend_.
27477         * tests/test-vc-list-files-git.sh: Likewise.
27478
27479 2010-09-04  Jim Meyering  <meyering@redhat.com>
27480
27481         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27482         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27483
27484 2010-09-04  Bruno Haible  <bruno@clisp.org>
27485
27486         strdup: Fix compilation error in C++ mode.
27487         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27488         the macro.
27489
27490 2010-09-04  Bruno Haible  <bruno@clisp.org>
27491
27492         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27493         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27494         macro into a function.
27495         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27496
27497 2010-09-04  Bruno Haible  <bruno@clisp.org>
27498
27499         Set PATH_SEPARATOR the same way autoconf does.
27500         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27501         the value of PATH_SEPARATOR the same way autoconf-generated configure
27502         scripts do.
27503         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27504         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27505
27506 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27507
27508         Set PATH_SEPARATOR the same way autoconf does.
27509         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27510         the same way autoconf-generated configure scripts do.
27511         * posix-modules: Likewise.
27512
27513 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27514
27515         hash: fix safe_hasher const typo
27516         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27517         const; otherwise, there is a type error later.
27518
27519 2010-09-02  Jim Meyering  <meyering@redhat.com>
27520
27521         test-update-copyright.sh: require perl 5.8.0
27522         * tests/test-update-copyright.sh: Require 5.8.0,
27523         which Tom G. Christensen has confirmed is adequate,
27524         while 5.6.1 is not.
27525
27526 2010-09-02  Eric Blake  <eblake@redhat.com>
27527
27528         tests: init.sh improvements for re-exec'ing with zsh
27529         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27530         -vx through shell re-exec.
27531         Reported by Tom G. Christensen.
27532
27533         wctype: fix typo in previous commit
27534         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27535         Reported by Ludovic Courtès.
27536
27537 2010-09-02  Jim Meyering  <meyering@redhat.com>
27538
27539         test-update-copyright.sh: skip test if Perl is too old
27540         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27541         Reported by Tom G. Christensen.
27542
27543 2010-09-02  Bruno Haible  <bruno@clisp.org>
27544
27545         wctype: Avoid compilation error on IRIX 6.5.30.
27546         * lib/wctype.in.h (iswblank): Declare with a replacement if
27547         REPLACE_ISWBLANK is set.
27548         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27549         declared. Set REPLACE_ISWBLANK.
27550         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27551         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27552         * doc/posix-headers/wctype.texi: Likewise.
27553         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27554
27555 2010-09-01  Bruno Haible  <bruno@clisp.org>
27556
27557         New module 'socketlib'.
27558         * modules/socketlib: New file.
27559         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27560         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27561         * modules/sockets (Depends-on): Add socketlib.
27562         Suggested by Sam Steingold <sds@gnu.org>.
27563
27564 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27565
27566         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27567
27568         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27569         when one needs search access to a directory but not read access.
27570         On systems where it is available, it works in some cases where
27571         O_RDONLY does not, namely on directories that are searchable but
27572         not readable, and which need only to be searchable.  If O_SEARCH
27573         is not available, fall back to the traditional method of using
27574         O_RDONLY.
27575
27576         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27577         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27578         when opening a directory that needs only to be searchable.
27579         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27580         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27581         * lib/openat-proc.c (openat_proc_name): Likewise.
27582         * lib/openat.c (openat_needs_fchdir): Likewise.
27583         * lib/save-cwd.c (save_cwd): Likewise.
27584         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27585
27586 2010-08-28  Bruno Haible  <bruno@clisp.org>
27587
27588         New module 'host-cpu-c-abi'.
27589         * modules/host-cpu-c-abi: New file.
27590         * m4/host-cpu-c-abi.m4: New file, based on part of
27591         clisp/src/m4/general.m4.
27592         Requested by Sam Steingold <sds@gnu.org>.
27593
27594 2010-08-31  Eric Blake  <eblake@redhat.com>
27595         and Jim Meyering  <meyering@redhat.com>
27596
27597         hash: factor, and guard against misbehaving hasher function
27598         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27599         of table->hasher's return value.  Also protect against a hash value
27600         so large that adding it to table->bucket results in a NULL pointer.
27601         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27602         Use it in place of open-coded check-and-abort.
27603
27604 2010-08-30  Bruno Haible  <bruno@clisp.org>
27605
27606         hash: silence spurious clang warning
27607         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27608         Reported by Eric Blake.
27609
27610 2010-08-30  Eric Blake  <eblake@redhat.com>
27611
27612         strstr, memmem, strcasestr: avoid leaked shell message
27613         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27614         FreeBSD.
27615         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27616         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27617
27618         tests: silence clang warning
27619         * tests/test-malloca.c (do_allocation): Avoid dead store.
27620
27621 2010-08-29  Bruno Haible  <bruno@clisp.org>
27622
27623         gettext: Fix recent mistake.
27624         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27625
27626 2010-08-29  Bruno Haible  <bruno@clisp.org>
27627
27628         selinux-h: Offer a --without-selinux option.
27629         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27630         --without-selinux was specified, skip all tests and define
27631         HAVE_SELINUX_SELINUX_H to 0.
27632         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27633         set LIB_SELINUX to empty.
27634         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27635         gl_LIBSELINUX. If --without-selinux was specified, replace
27636         selinux/context.h.
27637         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27638
27639 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27640             Bruno Haible  <bruno@clisp.org>
27641
27642         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27643         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27644         of HAVE_REALLOC.
27645         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27646         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27647         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27648         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27649
27650 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27651             Bruno Haible  <bruno@clisp.org>
27652
27653         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27654         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27655         HAVE_CALLOC.
27656         * lib/xmalloc.c: Update accordingly.
27657         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27658         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27659         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27660
27661 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27662             Bruno Haible  <bruno@clisp.org>
27663
27664         Make the module 'malloc-gnu' work again on AIX and OSF/1.
27665         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
27666         HAVE_MALLOC.
27667         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
27668         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
27669         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27670
27671 2010-08-29  Bruno Haible  <bruno@clisp.org>
27672
27673         Update modules list.
27674         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
27675         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27676         (String handling <string.h>): Add astrxfrm.
27677         (File system functions): Add readlinkat.
27678
27679 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27680
27681         Tests for module 'realloc-gnu'.
27682         * modules/realloc-gnu-tests: New file.
27683         * tests/test-realloc-gnu.c: New file.
27684
27685         Tests for module 'calloc-gnu'.
27686         * modules/calloc-gnu-tests: New file.
27687         * tests/test-calloc-gnu.c: New file.
27688
27689         Tests for module 'malloc-gnu'.
27690         * modules/malloc-gnu-tests: New file.
27691         * tests/test-malloc-gnu.c: New file.
27692
27693 2010-08-28  Bruno Haible  <bruno@clisp.org>
27694
27695         Rename module 'realloc' -> 'realloc-gnu'.
27696         * modules/realloc-gnu: New file, copied from modules/realloc.
27697         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27698         obsolete.
27699         * modules/mgetgroups (Depends-on): Update.
27700         * doc/posix-functions/realloc.texi: Update.
27701         * NEWS: Mention the change.
27702
27703         Rename module 'calloc' -> 'calloc-gnu'.
27704         * modules/calloc-gnu: New file, copied from modules/calloc.
27705         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27706         obsolete.
27707         * doc/posix-functions/calloc.texi: Update.
27708         * NEWS: Mention the change.
27709
27710         Rename module 'malloc' -> 'malloc-gnu'.
27711         * modules/malloc-gnu: New file, copied from modules/malloc.
27712         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27713         obsolete.
27714         * modules/argp (Depends-on): Update.
27715         * modules/regex (Depends-on): Update.
27716         * doc/posix-functions/malloc.texi: Update.
27717         * NEWS: Mention the change.
27718
27719 2010-08-28  Eric Blake  <eblake@redhat.com>
27720
27721         pread, pwrite: add missing dependency
27722         * modules/pread (Depends-on): Add extensions.
27723         * modules/pwrite (Depends-on): Likewise.
27724
27725 2010-08-28  Bruno Haible  <bruno@clisp.org>
27726
27727         unistr/u*-strchr: Fix tests dependencies.
27728         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27729         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27730         Reported by Ian Beckwith <ianb@erislabs.net>.
27731
27732 2010-08-28  Bruno Haible  <bruno@clisp.org>
27733
27734         read-file: Don't occupy too much unused memory.
27735         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27736
27737 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27738             Eric Blake  <eblake@redhat.com>
27739             Bruno Haible  <bruno@clisp.org>
27740
27741         read-file: Avoid memory reallocations with regular files.
27742         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27743         (fread_file): With regular files, use the remaining length as the
27744         initial buffer size.  Check against overflow.
27745         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27746         sys_stat.
27747
27748 2010-08-28  Bruno Haible  <bruno@clisp.org>
27749
27750         ftello: Relax license.
27751         * modules/ftello (License): Relax to LGPLv2+.
27752         Reported by Eric Blake.
27753
27754 2010-08-28  Bruno Haible  <bruno@clisp.org>
27755
27756         Avoid relocwrapper link errors due to gnulib replacement functions.
27757         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27758         function.
27759         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27760
27761 2010-08-28  Bruno Haible  <bruno@clisp.org>
27762
27763         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27764         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27765         defined.
27766         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27767         Suggested by Eric Blake.
27768
27769 2010-08-28  Bruno Haible  <bruno@clisp.org>
27770
27771         sys_socket, netdb: Ensure socklen_t gets defined.
27772         * modules/sys_socket (Depends-on): Add socklen.
27773         * modules/netdb (Depends-on): Likewise.
27774         * modules/getaddrinfo (Depends-on): Remove socklen.
27775         * modules/getsockopt (Depends-on): Likewise.
27776         * modules/setsockopt (Depends-on): Likewise.
27777         * tests/test-sys_socket.c: Check that socklen_t is defined.
27778         * tests/test-netdb.c: Likewise.
27779         * m4/socklen.m4: Update comments.
27780         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27781
27782 2010-08-27  Eric Blake  <eblake@redhat.com>
27783
27784         login_tty: add missing dependency
27785         * modules/login_tty (Depends-on): Add pty.
27786
27787 2010-08-26  Eric Blake  <eblake@redhat.com>
27788
27789         lib-symbol-versions: fix m4 quoting
27790         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27791         format for AC_LINK_IFELSE.
27792
27793         glob: fix compile test
27794         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27795
27796         btowc: fix missing file
27797         * modules/btowc (Files): Also ship locale-fr.m4.
27798
27799         lseek: fix link test
27800         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27801         AC_LINK_IFELSE.
27802
27803         include_next: silence autoconf 2.68 warning
27804         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27805         AC_COMPILE_IFELSE as special.
27806         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27807         autoconf < 2.68.
27808
27809         acl: fix compilation test
27810         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27811         AC_COMPILE_IFELSE.
27812
27813 2010-08-26  Bruno Haible  <bruno@clisp.org>
27814
27815         Modernize AC_TRY_RUN invocations.
27816         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27817         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27818         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27819         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27820         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27821         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27822         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27823         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27824         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27825         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27826         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27827         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27828         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27829         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27830         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27831         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27832         gl_MBRLEN_NUL_RETVAL): Likewise.
27833         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27834         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27835         Likewise.
27836         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27837         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27838         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27839         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27840         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27841         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27842         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27843         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27844         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27845         Likewise.
27846         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27847         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27848         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27849         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27850         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27851         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27852         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27853         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27854         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27856
27857 2010-08-26  Bruno Haible  <bruno@clisp.org>
27858
27859         Modernize AC_TRY_LINK invocations.
27860         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27861         AC_TRY_LINK.
27862         * m4/argp.m4 (gl_ARGP): Likewise.
27863         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27864         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27865         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27866         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27867         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27868         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27869         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27870         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27871         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27872         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27873         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27874         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27875         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27876         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27877         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27878         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27879         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27880         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27881         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27882         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27883         Likewise.
27884         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27885         Likewise.
27886         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27887         Likewise.
27888         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27889         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27890         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27891         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27892         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27893         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27894         * m4/servent.m4 (gl_SERVENT): Likewise.
27895         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27896         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27897         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27898         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27899         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27900         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27901         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27902         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27903         * modules/tsearch-tests (configure.ac): Likewise.
27904
27905 2010-08-26  Bruno Haible  <bruno@clisp.org>
27906
27907         Modernize AC_TRY_COMPILE invocations.
27908         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27909         AC_TRY_COMPILE.
27910         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27911         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27912         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27913         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27914         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27915         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27916         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27917         * m4/lock.m4 (gl_LOCK): Likewise.
27918         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27919         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27920         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27921         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27922         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27923         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27924         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27925         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27926         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27927         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27928         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27929         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27930         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27931         extraneous semicolon.
27932
27933 2010-08-26  Jim Meyering  <meyering@redhat.com>
27934
27935         stat-time: relax license LGPL
27936         * modules/stat-time (License): Change from GPL to LGPL,
27937         with consent from all contributors, for use in libguile.
27938         Requested by Ludovic Courtès.
27939
27940 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27941
27942         poll: return immediately on POLLHUP.
27943         * lib/poll.c (poll): Always set timeout before wait_timeout is
27944         computed.
27945
27946 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27947
27948         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27949         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27950         rmdir ("dir/.//"), unlinkat.
27951
27952 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27953
27954         stdbool: avoid spurious failure with modern xlc
27955         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27956
27957 2010-08-24  Bruno Haible  <bruno@clisp.org>
27958
27959         getloadavg: simplify code
27960         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27961         gl_have_func. Update comments.
27962
27963 2010-08-24  Eric Blake  <eblake@redhat.com>
27964
27965         getloadavg: don't define SVR4 on cygwin
27966         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27967         only define SVR4 when -lkvm is required.
27968         Reported by Yaakov Selkowitz.
27969
27970 2010-08-24  Bruno Haible  <bruno@clisp.org>
27971
27972         priv-set: fix comment
27973         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27974
27975 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27976
27977         priv-set: fix comments
27978         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27979         to match code, as suggested by David Bartley in:
27980         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27981
27982 2010-08-23  Eric Blake  <eblake@redhat.com>
27983
27984         stdbool: avoid rejecting clang
27985         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27986         * tests/test-stdbool.c: Enable more tests if using the system
27987         <stdbool.h> instead of the gnulib replacement.
27988         (main): Move xlc bug test to a runtime test for all compilers.
27989         Reported by Anders Kaseorg.
27990
27991         argz: fix shell quoting issue
27992         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
27993         Reported by Charles Wilson.
27994
27995 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
27996             Erik Faye-Lund <kusmabite@gmail.com>
27997
27998         poll, select: handle ERROR_BROKEN_PIPE.
27999         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28000         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28001         * lib/select.c (win32_compute_revents): Do not mark a pipe
28002         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28003
28004 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28005
28006         fts: allow compilation with C++
28007         * lib/fts_.h: Specify extern "C" linkage with C++.
28008
28009 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28010
28011         Fix gnulib-tool sed script de-commentation for AIX sed.
28012         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28013         sed.
28014
28015 2010-08-17  Eric Blake  <eblake@redhat.com>
28016
28017         test-stddef: test for (some) offsetof bugs
28018         * tests/test-stddef.c: Enhance test to ensure correct type of
28019         offsetof.
28020         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28021         that we are not fixing at this time.
28022
28023 2010-08-15  Bruno Haible  <bruno@clisp.org>
28024
28025         stpncpy: Allow stpncpy to be defined as a macro.
28026         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28027         if it's already correctly declared.
28028         * lib/string.in.h (stpncpy): Undefine before redefining.
28029         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28030
28031 2010-08-14  Bruno Haible  <bruno@clisp.org>
28032
28033         Rename module 'memxfrm' to 'amemxfrm'.
28034         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28035         (amemxfrm): Renamed from memxfrm.
28036         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28037         (amemxfrm): Renamed from memxfrm.
28038         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28039         * NEWS: Mention the change.
28040         * MODULES.html.sh (String handling <string.h>): Update.
28041         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28042         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28043         * lib/unicase/u16-casexfrm.c: Likewise.
28044         * lib/unicase/u32-casexfrm.c: Likewise.
28045         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28046         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28047         * lib/uninorm/u16-normxfrm.c: Likewise.
28048         * lib/uninorm/u32-normxfrm.c: Likewise.
28049         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28050         memxfrm.
28051         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28052         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28053         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28054         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28055         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28056         Suggested by Paul Eggert.
28057
28058 2010-08-14  Bruno Haible  <bruno@clisp.org>
28059
28060         Tests for module 'astrxfrm'.
28061         * modules/astrxfrm-tests: New file.
28062         * tests/test-astrxfrm.c: New file.
28063
28064         New module 'astrxfrm'.
28065         * lib/astrxfrm.h: New file.
28066         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28067         * modules/astrxfrm: New file.
28068
28069 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28070
28071         regex: Tweak doc.
28072         * doc/regex.texi (Overview): Don't mention regex.c.
28073         (GNU Regular Expression Compiling): Likewise.
28074         (Match-end-of-line Operator): Mention 'not_eol'.
28075
28076 2010-08-14  Brian Gough  <bjg@gnu.org>
28077             Bruno Haible  <bruno@clisp.org>
28078
28079         git-merge-changelog: add doc relating to use with bzr and hg.
28080         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28081
28082 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28083
28084         pthread: fix pthread.h creation for srcdir != builddir
28085         * modules/pthread (Makefile.am): Fix the rule to work also in a
28086         non-srcdir build.
28087
28088 2010-08-13  Karl Berry  <karl@gnu.org>
28089
28090         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28091         * doc/posix-*/*: force line break before @url of POSIX
28092         specifications.
28093         Suggested by Werner Lemberg.
28094
28095 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28096
28097         strtod: fix const diagnostic
28098         * lib/strtod.c (strtod): Don't assign const char * to char *,
28099         as this elicits a warning from GCC when warnings are enabled.
28100
28101 2010-08-10  Pádraig Brady <P@draigbrady.com>
28102         and Eric Blake  <eblake@redhat.com>
28103
28104         copy-acl: ignore ENOTSUP on HP-UX
28105         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28106         so that it is available for HP-UX.
28107         * lib/copy-acl.c (qcopy_acl): Use it.
28108         Reported by Patrick M. Callahan.
28109
28110 2010-08-10  Eric Blake  <eblake@redhat.com>
28111
28112         open, chown: relax license
28113         * modules/open (License): Change to LGPLv2+, with consent by all
28114         authors, for use in augeas.
28115         * modules/chown (License): Likewise.
28116         * modules/lchown (Likewise): Likewise.
28117         Requested by Adam Stokes.
28118
28119 2010-08-09  Karl Berry  <karl@gnu.org>
28120
28121         * build-aux/ar-lib: new file, import from Automake.
28122         * config/srclist.txt: autocheck for updates.
28123
28124 2010-08-09  Eric Blake  <eblake@redhat.com>
28125
28126         readlinkat: adjust client modules
28127         * modules/areadlinkat (Depends-on): Use readlinkat, not
28128         symlinkat.
28129         * modules/areadlinkat-with-size (Depends-on): Likewise.
28130
28131         mknod: be more vocal about danger of running tests as root
28132         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28133         root, since that is just asking for problems.
28134         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28135
28136         readlinkat: split into its own module
28137         * modules/symlinkat: Split readlinkat...
28138         * modules/readlinkat: ...into separate module.
28139         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28140         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28141         * lib/symlinkat.c (readlinkat): Move...
28142         * lib/readlinkat.c: ...into new file.
28143         * modules/symlinkat-tests: Split readlinkat test...
28144         * modules/readlinkat-tests: ...into separate module.
28145         * tests/test-symlinkat.c: Split...
28146         * tests/test-readlinkat.c: ...into new file.
28147         * NEWS: Document the split.
28148         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28149         * lib/unistd.in.h (readlinkat): Likewise.
28150         Suggested by Bruno Haible.
28151
28152 2010-08-08  Bruno Haible  <bruno@clisp.org>
28153
28154         memxfrm: Speed up.
28155         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28156         that usually only one call to strxfrm is necessary for each string
28157         part.
28158         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28159
28160 2010-08-07  Karl Berry  <karl@gnu.org>
28161
28162         * doc/posix-headers/limits.texi,
28163         * doc/posix-functions/malloc.texi,
28164         * doc/posix-functions/strsignal.texi: missing @item.
28165         * doc/ld-version-script.texi: spurious leading i.
28166         * doc/regex.texi (Interval Operators): no commas inside @var.
28167
28168 2010-08-01  Bruno Haible  <bruno@clisp.org>
28169
28170         Integrate the regex documentation.
28171         * doc/gnulib.texi: Define 'cn' index.
28172         (Regular expressions): New a chapter that includes regex.texi and
28173         regexprops-generic.texi.
28174         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28175         syntax.
28176
28177         Whitespace cleanup.
28178         * doc/regex.texi: Remove trailing spaces.
28179
28180         Add regex documentation.
28181         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28182         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28183         Written by Kathy A. Hargreaves and Karl Berry.
28184
28185 2010-08-01  Bruno Haible  <bruno@clisp.org>
28186
28187         link: Update documentation.
28188         * doc/posix-functions/link.texi: Update regarding Solaris.
28189
28190 2010-07-31  Bruno Haible  <bruno@clisp.org>
28191
28192         Update modules list.
28193         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28194         (String handling <string.h>): Add memcmp2, memxfrm.
28195         (Container data structures): Add xlist, xsublist, xoset.
28196         (Core language properties): Add alignof, unused-parameter.
28197         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28198         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28199         (Unibyte characters <ctype.h>): New section.
28200         (String handling <string.h>): New section.
28201         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28202         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28203         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28204         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28205         tan, tanh, tanl, y0, y1, yn.
28206         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28207         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28208         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28209         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28210         unlockpt, vdprintf, vdprintf-posix.
28211         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28212         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28213         xconcat-filename.
28214         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28215         getdtablesize, pipe2, pipe2-safer.
28216         (Security): New section.
28217         (Networking functions): Add accept4.
28218         (Signal handling): Add sigpipe.
28219         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28220         mbmemcasecoll.
28221         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28222         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28223         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28224         pipe-filter-ii.
28225         (Misc): Add argp-version-etc, login_tty, parse-duration.
28226
28227 2010-07-31  Bruno Haible  <bruno@clisp.org>
28228
28229         Improve doc in MODULES.html.
28230         * modules/linkat (Description): Add the word "function".
28231         * modules/mkfifo (Description): Likewise.
28232         * modules/mknod (Description): Likewise.
28233         * modules/remove (Description): Likewise.
28234         * modules/renameat (Description): Likewise.
28235         * modules/stat (Description): Likewise.
28236         * modules/symlink (Description): Likewise.
28237         * modules/unlink (Description): Likewise.
28238
28239 2010-07-31  Bruno Haible  <bruno@clisp.org>
28240
28241         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28242         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28243         option --enable/disable-c++ instead of --enable/disable-cxx.
28244         * NEWS: Mention the change.
28245
28246 2010-07-31  Bruno Haible  <bruno@clisp.org>
28247
28248         readlink, areadlink: Relax test a bit.
28249         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28250         alternative to ENOTDIR.
28251         * tests/test-areadlink.h (test_areadlink): Likewise.
28252         Reported by Rainer Tammer.
28253
28254 2010-07-31  Bruno Haible  <bruno@clisp.org>
28255
28256         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28257         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28258         character, perform the search using U_STRCHR.
28259         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28260         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28261         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28262         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28263         Suggested by Paolo Bonzini.
28264
28265 2010-07-31  Bruno Haible  <bruno@clisp.org>
28266
28267         unistr/u*-strstr: Fix dependencies.
28268         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28269         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28270         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28271
28272 2010-07-31  Bruno Haible  <bruno@clisp.org>
28273
28274         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28275         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28276         the beginning of the loop.
28277         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28278         cases in 'switch' statement.
28279
28280         unistr/u8-strchr: Fix several bugs.
28281         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28282         the string. When not found, return NULL, not a pointer near the end.
28283
28284         More tests for unistr/u8-strchr.
28285         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28286         that the function does not read past the first occurrence of the byte
28287         being searched.
28288         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28289         * tests/unistr/test-u16-strchr.c (main): New function.
28290         * tests/unistr/test-u32-strchr.c (main): New function.
28291
28292 2010-07-31  Bruno Haible  <bruno@clisp.org>
28293
28294         posix-modules: Ignore backup files of documentation files.
28295         * posix-modules: grep only through files named *.texi.
28296
28297 2010-07-31  Bruno Haible  <bruno@clisp.org>
28298
28299         symlinkat: Fix documentation.
28300         * doc/posix-functions/readlinkat.texi: Fix module name.
28301
28302 2010-07-31  Bruno Haible  <bruno@clisp.org>
28303
28304         fchownat: Replace also when chown has the trailing slash bug.
28305         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28306         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28307         introduced on 2010-04-10.
28308         Reported by Rainer Tammer.
28309
28310 2010-07-31  Bruno Haible  <bruno@clisp.org>
28311
28312         linkat: Work around AIX 7.1 bug.
28313         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28314         whether linkat handles trailing slash correctly. If not, replace linkat
28315         and define LINKAT_TRAILING_SLASH_BUG.
28316         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28317         check whether (fd1,file1) points to a directory if file1 or file2 ends
28318         in a slash. Code taken from lib/link.c.
28319         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28320         Reported by Rainer Tammer.
28321
28322 2010-07-31  Bruno Haible  <bruno@clisp.org>
28323
28324         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28325         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28326         This disables an xlc optimization that was causing wrong test results.
28327         Reported by Rainer Tammer.
28328
28329 2010-07-31  Bruno Haible  <bruno@clisp.org>
28330
28331         iconv: Work around AIX 6.1..7.1 bug.
28332         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28333         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28334         cross-compiling, guess no on all versions of AIX.
28335         Reported by Rainer Tammer.
28336
28337 2010-07-31  Bruno Haible  <bruno@clisp.org>
28338
28339         readlink: Relax test a bit.
28340         * tests/test-readlink.h (test_readlink): Allow different errno value
28341         when readlink is called with a file name that ends in / and refers to
28342         a file.
28343         Suggested by Eric Blake.
28344         Reported by Rainer Tammer.
28345
28346 2010-07-31  Bruno Haible  <bruno@clisp.org>
28347
28348         copysign: Does not require -lm on glibc systems.
28349         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28350         gl_COMMON_DOUBLE_MATHFUNC.
28351         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28352
28353 2010-07-31  Bruno Haible  <bruno@clisp.org>
28354
28355         duplocale: Work around AIX 7.1 bug.
28356         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28357         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28358         * lib/duplocale.c (rpl_duplocale): Update comment.
28359         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28360         Reported by Rainer Tammer.
28361
28362 2010-07-30  Bruno Haible  <bruno@clisp.org>
28363
28364         dirfd: Avoid link error on AIX 7.1.
28365         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28366         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28367         exist, set REPLACE_DIRFD.
28368         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28369         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28370         * doc/posix-functions/dirfd.texi: Update.
28371         Reported by Rainer Tammer.
28372
28373 2010-07-30  Eric Blake  <eblake@redhat.com>
28374
28375         strtod: next round of AIX fixes
28376         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28377         exponent.
28378         * tests/test-strtod.c (main): Enhance tests.
28379         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28380         Reported by Rainer Tammer.
28381
28382         futimens: fix configure check
28383         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28384         Reported by Bruno Haible.
28385
28386 2010-07-30  Bruno Haible  <bruno@clisp.org>
28387
28388         getline: Update regarding AIX.
28389         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28390         Reported by Rainer Tammer.
28391
28392 2010-07-30  Bruno Haible  <bruno@clisp.org>
28393
28394         wcwidth: Drop replacement on AIX 7.
28395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28396         AIX 7.
28397         Reported by Rainer Tammer.
28398
28399 2010-07-30  Bruno Haible  <bruno@clisp.org>
28400
28401         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28402         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28403         a 'char *'.
28404         Reported by Rainer Tammer.
28405
28406 2010-07-30  Bruno Haible  <bruno@clisp.org>
28407
28408         unlink: Update regarding AIX.
28409         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28410         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28411         Reported by Rainer Tammer.
28412
28413 2010-07-30  Bruno Haible  <bruno@clisp.org>
28414
28415         symlink: Update regarding AIX.
28416         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28417         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28418         Reported by Rainer Tammer.
28419
28420 2010-07-30  Bruno Haible  <bruno@clisp.org>
28421
28422         strndup: Update regarding AIX.
28423         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28424         AIX 7.
28425         Reported by Rainer Tammer.
28426
28427 2010-07-30  Bruno Haible  <bruno@clisp.org>
28428
28429         stat: Update regarding AIX.
28430         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28431         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28432         Reported by Rainer Tammer.
28433
28434 2010-07-30  Bruno Haible  <bruno@clisp.org>
28435
28436         truncl: Fix autoconf test.
28437         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28438         whether truncl works.
28439         Reported by Rainer Tammer.
28440
28441 2010-07-30  Bruno Haible  <bruno@clisp.org>
28442
28443         round: Update regarding AIX.
28444         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28445         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28446         Reported by Rainer Tammer.
28447
28448 2010-07-30  Bruno Haible  <bruno@clisp.org>
28449
28450         rename: Update regarding AIX.
28451         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28452         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28453         Reported by Rainer Tammer.
28454
28455 2010-07-30  Bruno Haible  <bruno@clisp.org>
28456
28457         printf.m4: Update regarding AIX.
28458         * m4/printf.m4: Update comments regarding AIX.
28459         Reported by Rainer Tammer.
28460
28461 2010-07-30  Bruno Haible  <bruno@clisp.org>
28462
28463         iconv: Update regarding AIX.
28464         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28465         AIX 7.
28466         Reported by Rainer Tammer.
28467
28468 2010-07-30  Bruno Haible  <bruno@clisp.org>
28469
28470         getopt: Update regarding AIX.
28471         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28472         no on AIX.
28473         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28474         Reported by Rainer Tammer.
28475
28476 2010-07-30  Bruno Haible  <bruno@clisp.org>
28477
28478         ldexpl; Update regarding AIX.
28479         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28480         on AIX 7.
28481         Reported by Rainer Tammer.
28482
28483 2010-07-30  Bruno Haible  <bruno@clisp.org>
28484
28485         frexpl: Update regarding AIX.
28486         * m4/frexpl.m4 (gl_FUNC_FREXPL_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         open, fopen: Update regarding AIX.
28493         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28494         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28495         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28496         * doc/posix-functions/fopen.texi: Likewise.
28497         Reported by Rainer Tammer.
28498
28499 2010-07-30  Bruno Haible  <bruno@clisp.org>
28500
28501         chown: Update doc regarding AIX.
28502         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28503         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28504         Reported by Rainer Tammer.
28505
28506 2010-07-30  Eric Blake  <eblake@redhat.com>
28507
28508         strtod: fix bug in replacement function on AIX
28509         * lib/strtod.c (strtod): Special case broken "0x" parse in
28510         underlying strtod.
28511         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28512         * doc/posix-functions/strtod.texi (strtod): Likewise.
28513         Reported by Rainer Tammer.
28514
28515 2010-07-30  Bruno Haible  <bruno@clisp.org>
28516
28517         mbrlen: Fix cross-compilation guess for AIX.
28518         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28519         guess. Leftover from 2008-12-22.
28520
28521 2010-07-30  Bruno Haible  <bruno@clisp.org>
28522
28523         mbrtowc: Fix cross-compilation guess for AIX.
28524         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28525         guess. Leftover from 2008-12-21.
28526
28527 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28528
28529         init.sh: work around trap limitation of some shells
28530         * tests/init.sh (setup_): Move exit trap outside of shell function.
28531
28532 2010-07-29  Eric Blake  <eblake@redhat.com>
28533
28534         strtod: aid debugging
28535         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28536         understanding why strtod is rejected.
28537
28538 2010-07-28  Bruno Haible  <bruno@clisp.org>
28539
28540         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28541         * lib/unistr/u8-chr.c: Include <string.h>.
28542         * tests/unistr/test-u8-chr.c: Likewise.
28543         * tests/unistr/test-u16-chr.c: Likewise.
28544         * tests/unistr/test-u32-chr.c: Likewise.
28545         * tests/unistr/test-u8-strchr.c: Likewise.
28546         * tests/unistr/test-u16-strchr.c: Likewise.
28547         * tests/unistr/test-u32-strchr.c: Likewise.
28548         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28549         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28550         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28551         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28552
28553 2010-07-28  Bruno Haible  <bruno@clisp.org>
28554
28555         Use spaces for indentation, not tabs.
28556         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28557
28558 2010-07-27  Bruno Haible  <bruno@clisp.org>
28559
28560         mbspcasecmp: Fix function specification.
28561         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28562         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28563         Reported by Eric Blake <eblake@redhat.com>.
28564
28565 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28566
28567         timespec: use cast and not conditional, as truncation isn't possible
28568         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28569         instead of a conditional.  Comment about the situation in more detail.
28570         This undoes most of the 2009-10-29 patch.
28571
28572 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28573
28574         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28575         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28576         * lib/unistr/u8-strchr.c: Likewise.
28577         * modules/unistr/u8-chr: Depend on memchr.
28578
28579         unistr/u*-strchr: add tests
28580         * modules/unistr/u8-strchr-tests: New file.
28581         * modules/unistr/u16-strchr-tests: New file.
28582         * modules/unistr/u32-strchr-tests: New file.
28583         * tests/unistr/test-strchr.h: New file.
28584         * tests/unistr/test-u8-strchr.c: New file.
28585         * tests/unistr/test-u16-strchr.c: New file.
28586         * tests/unistr/test-u32-strchr.c: New file.
28587
28588         unistr/u*-chr: test multibyte sequences more
28589         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28590         test vector.
28591         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28592         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28593         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28594
28595         unistr/u*-chr: test multibyte sequences
28596         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28597
28598         unistr/u*-chr: prepare for multibyte tests
28599         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28600         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28601         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28602         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28603         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28604         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28605
28606 2010-07-18  Bruno Haible  <bruno@clisp.org>
28607
28608         unistr/u8-strchr: Optimize non-ASCII argument case.
28609         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28610         because the first byte often matches anyway.
28611         Reported by Pádraig Brady <P@draigbrady.com>.
28612
28613 2010-07-15  Karl Berry  <karl@gnu.org>
28614
28615         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28616
28617 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28618
28619         getcwd: on Solaris, work better if ancestors are inaccessible
28620         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28621         buffer and size, try again with a large buffer.  This works better
28622         on Solaris, since its getcwd succeeds even if the path to the root
28623         is inaccessible, and this is helpful in common cases such as .zfs
28624         hidden directories.  Problem reported by J Chapman Flack in
28625         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28626         Use system getcwd if it's declared, not merely if it's partly
28627         working; use the partly-working test only to avoid needless effort
28628         if the system getcwd fails.
28629         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28630         comment that was already obsolete and is now even more obsolete.
28631         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28632         now might call strdup.
28633
28634 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28635
28636         pthread: Add enough so that coreutils/src/sort.c compiles.
28637         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28638         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28639         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28640         Include <sys/types.h>, in case it defines pthread_t.
28641         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28642         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28643         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28644         (pthread_rwlockattr_t, pthread_spinlock_t):
28645         New typedefs, if HAVE_PTHREAD_T is not defined.
28646         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28647         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28648         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28649         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28650         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28651         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28652         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28653         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28654         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28655         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28656         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28657         New macros.
28658         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28659         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28660         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28661         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
28662         (pthread_spin_unlock): New dummy functions.
28663         (pthread_create): Return EAGAIN; don't set errno.
28664         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
28665         require AC_C_INLINE.
28666         * modules/pthread (Depends-on): Add sched, time.
28667         (pthread.h): Use AM_V_GEN.
28668
28669 2010-07-13  Bruno Haible  <bruno@clisp.org>
28670
28671         striconveh: Don't malloc memory if the result buffer is sufficient.
28672         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
28673         buffer if its size is sufficient.
28674         Reported by Ludovic Courtès <ludo@gnu.org>.
28675
28676 2010-07-13  Bruno Haible  <bruno@clisp.org>
28677
28678         strtod: Add safety check.
28679         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
28680
28681 2010-07-12  Bruno Haible  <bruno@clisp.org>
28682
28683         Unify tests that set gl_cv_func_ldexpl_no_libm.
28684         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28685         gl_FUNC_LDEXPL.
28686         (gl_FUNC_LDEXPL): Invoke it.
28687         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28688
28689 2010-07-12  Bruno Haible  <bruno@clisp.org>
28690
28691         Unify tests that set gl_cv_func_ldexp_no_libm.
28692         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28693         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28694         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28695         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28696         * modules/strtod (Files): Add m4/ldexp.m4.
28697
28698 2010-07-12  Bruno Haible  <bruno@clisp.org>
28699
28700         Unify tests that set gl_cv_func_frexpl_no_libm.
28701         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28702         gl_FUNC_FREXPL_NO_LIBM.
28703         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28704         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28705
28706 2010-07-12  Bruno Haible  <bruno@clisp.org>
28707
28708         Unify tests that set gl_cv_func_frexp_no_libm.
28709         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28710         gl_FUNC_FREXP_NO_LIBM.
28711         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28712         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28713
28714 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28715
28716         memcoll: clarify sizes versus lengths, document better, and tweak perf
28717         * lib/memcoll.c (strcoll_loop, memcoll0):
28718         Improve quality of descriptive comments.  Name variables
28719         consistently as to whether they are lengths (which do not include
28720         terminating null) versus sizes (which do).
28721         * lib/xmemcoll.c (xmemcoll0): Likewise.
28722         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28723         returned when s1size == 0; this is easier to compile and saves
28724         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28725
28726 2010-07-12  Bruno Haible  <bruno@clisp.org>
28727
28728         Tests for module '_Exit'.
28729         * modules/_Exit-tests: New file.
28730         * tests/test-_Exit.sh: New file.
28731         * tests/test-_Exit.c: New file.
28732
28733         New module '_Exit'.
28734         * lib/stdlib.in.h (__attribute__): New macro.
28735         (_Exit): New declaration.
28736         * lib/_Exit.c: New file.
28737         * m4/_Exit.m4: New file.
28738         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28739         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28740         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28741         * modules/_Exit: New file.
28742         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28743         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28744
28745 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28746
28747         strtod: make it more-accurate typically, and don't require libm
28748         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28749         Include limits.h.  Don't include string.h.
28750         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28751         (locale_isspace): New function, so that no casts are needed to
28752         check whether *s is a space.
28753         (ldexp): Provide an unused dummy if not available.
28754         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28755         (strtod): Use them.  This implementation prefers to use the
28756         underlying strtod if available, falling back on our own code
28757         only to fix known bugs.  This is more likely to produce an
28758         accurate result.  Also, it avoids the use of libm functions.
28759         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28760         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28761         was absent, but it caused a test failure with coreutils.
28762         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28763         with libm.
28764         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28765         * modules/strtod-tests (Makefile.am): Likewise.
28766
28767 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28768             Bruno Haible  <bruno@clisp.org>
28769
28770         unistr/u8-strchr: Optimize ASCII argument case.
28771         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28772
28773 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28774
28775         (x)memcoll: minor tweaks
28776         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28777         is after the type that it qualifies.
28778         (memcoll0): Likewise.
28779         * lib/memcoll.h (memcoll0): Likewise.
28780         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28781         * lib/xmemcoll.h (xmemcoll0): Likewise.
28782         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28783         differs from memcoll in that the NUL byte is part of the argument.
28784         Omit the abort-checks, as performance is a real issue here.  Plus,
28785         the checks were wrong anyway (an off-by-one error).  Omit local
28786         variable 'diff', as it's a bit clearer that way.
28787         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28788         no longer needed.
28789
28790 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28791
28792         (x)memcoll: speedup when input is known to be NUL delimited
28793         * lib/memcoll.c: Include stdlib.
28794         (memcoll0): New function.
28795         (strcoll_loop): New function, refactored for use in both memcoll
28796         and memcoll0.
28797         * lib/memcoll.h (memcoll0): Add prototype.
28798         * lib/xmemcoll.c (xmemcoll0): New function.
28799         (collate_error): New function, refactored for use in both xmemcoll
28800         and xmemcoll0.
28801         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28802         * m4/memcoll.m4: add inline invocation.
28803
28804 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28805
28806         * build-aux/bootstrap: Remove any local translations
28807         from the translation project synchronization directory,
28808         so that local only translations are not distributed.
28809
28810 2010-07-04  Bruno Haible  <bruno@clisp.org>
28811
28812         fsusage: Clarify which code applies to which platforms.
28813         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28814         platform.
28815         * lib/fsusage.c (get_fs_usage): Likewise.
28816
28817 2010-07-04  Bruno Haible  <bruno@clisp.org>
28818
28819         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28820         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28821         Reported by Martin Lambers <marlam@marlam.de>.
28822
28823 2010-07-04  Jim Meyering  <meyering@redhat.com>
28824
28825         hash: once again explicitly disallow insertion of NULL
28826         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28827         inserting a NULL pointer cannot work with these functions.
28828         Add a comment with details.
28829         This reverts part of the 2010-07-01 commit, 5bef1a35
28830         "hash: extend module to deal with non-pointer keys".
28831
28832 2010-07-01  Bruno Haible  <bruno@clisp.org>
28833
28834         stdbool: Update doc.
28835         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28836         Info from Christian Weisgerber <naddy@mips.inka.de>.
28837
28838 2010-07-01  Jim Meyering  <meyering@redhat.com>
28839
28840         hash: extend module to deal with non-pointer keys
28841         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28842         but that allows insertion of non-pointer entries.
28843         Do not disallow an ENTRY value of NULL.
28844         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28845         * lib/hash.h (hash_insert0): Declare.
28846
28847 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28848
28849         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28850         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28851         not present (i.e. with autoconf 2.59 and when using gettextize, not
28852         gnulib), require AC_GNU_SOURCE instead.
28853
28854 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28855
28856         idpriv-drop: Fix tests.
28857         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28858         not to the test-idpriv-droptemp program.
28859
28860 2010-06-29  Bruno Haible  <bruno@clisp.org>
28861
28862         string: Fix syntax error with g++ 2.96.
28863         * lib/string.in.h (__pure__): Remove definition.
28864         (_GL_ATTRIBUTE_PURE): New macro.
28865         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28866         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28867         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28868
28869 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28870
28871         unitypes: Fix bug introduced on 2010-05-18.
28872         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28873
28874 2010-06-22  Eric Blake  <eblake@redhat.com>
28875
28876         memmem: slight optimization
28877         * lib/str-two-way.h (critical_factorization): Update comments.
28878         Reduce work during factorization phase.
28879         Reported by Carlos Bueno <carlos@bueno.org>.
28880
28881 2010-06-21  Bruno Haible  <bruno@clisp.org>
28882
28883         Fix HAVE_CALLOC_POSIX misnomer.
28884         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28885         !HAVE_CALLOC_POSIX.
28886         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28887         HAVE_CALLOC_POSIX.
28888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28889         instead of HAVE_CALLOC_POSIX.
28890         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28891         HAVE_CALLOC_POSIX.
28892
28893         Use modern idiom for calloc() replacement.
28894         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28895         AC_FUNC_CALLOC.
28896         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28897         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28898         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28899         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28900         (gl_REPLACE_CALLOC): New macro.
28901
28902 2010-06-21  Bruno Haible  <bruno@clisp.org>
28903
28904         Fix HAVE_REALLOC_POSIX misnomer.
28905         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28906         !HAVE_REALLOC_POSIX.
28907         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28908         HAVE_REALLOC_POSIX.
28909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28910         instead of HAVE_REALLOC_POSIX.
28911         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28912         HAVE_REALLOC_POSIX.
28913
28914         Use modern idiom for realloc() replacement.
28915         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28916         AC_FUNC_REALLOC.
28917         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28918         Autoconf's AC_FUNC_REALLOC.
28919         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28920         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28921         (gl_REPLACE_REALLOC): New macro.
28922         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28923
28924 2010-06-21  Bruno Haible  <bruno@clisp.org>
28925
28926         Fix HAVE_MALLOC_POSIX misnomer.
28927         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28928         !HAVE_MALLOC_POSIX.
28929         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28930         HAVE_MALLOC_POSIX.
28931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28932         instead of HAVE_MALLOC_POSIX.
28933         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28934         HAVE_MALLOC_POSIX.
28935
28936         Use modern idiom for malloc() replacement.
28937         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28938         AC_FUNC_MALLOC.
28939         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28940         Autoconf's AC_FUNC_MALLOC.
28941         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28942         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28943         (gl_REPLACE_MALLOC): New macro.
28944         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28945
28946 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28947
28948         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28949         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28950         This macro takes 3 arguments, not 4.
28951
28952 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28953
28954         ipv6: fix detection under mingw
28955         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28956         in6_addr.
28957
28958 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28959
28960         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28961         that strtod() works when cross-compiling to a glibc version known
28962         to work.
28963
28964 2010-06-15  Bruno Haible  <bruno@clisp.org>
28965
28966         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28967
28968 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28969
28970         select: Correct timeout.
28971         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28972
28973 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28974
28975         git-version-gen: init shell var to avoid env var influence
28976         * build-aux/git-version-gen (v): Init shell var to empty.
28977
28978 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28979
28980         priv-set: Don't assume that priv.h exists merely because getppriv does.
28981         See Jan Andersen's bug report about AIX 5L in
28982         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28983         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28984         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28985         * lib/priv-set.h: Likewise.
28986         * tests/test-priv-set.c: Likewise.
28987
28988 2010-06-13  Bruno Haible  <bruno@clisp.org>
28989
28990         relocatable: Make it easier to test whether to install wrappers.
28991         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28992         RELOCATABLE_VIA_WRAPPER.
28993
28994 2010-06-13  Bruno Haible  <bruno@clisp.org>
28995
28996         gnulib-tool: Display specified modules and dependencies differently.
28997         * gnulib-tool (func_show_module_list): New function.
28998         (func_import, func_create_testdir): Invoke it.
28999         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29000
29001 2010-06-13  Bruno Haible  <bruno@clisp.org>
29002
29003         gnulib-tool: Align code of func_import and func_create_testdir.
29004         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29005         specified_modules.
29006
29007 2010-06-12  Jim Meyering  <meyering@redhat.com>
29008
29009         test-inttostr: avoid spurious failure on Solaris 9
29010         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29011         to accept "%ju".  Reported by Bruno Haible.
29012
29013 2010-06-11  Jim Meyering  <meyering@redhat.com>
29014
29015         test-sys_socket: mark variables as used more readably
29016         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29017         as "used" explicitly via (void) statement casts.  This is more
29018         readable than using them in an artificial return expression.
29019         Suggestion from Bruno Haible.
29020
29021 2010-06-11  Bruno Haible  <bruno@clisp.org>
29022
29023         Avoid some more warnings from "gcc -Wwrite-strings".
29024         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29025         to 'const char *'.
29026         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29027         * tests/test-c-strcasestr.c (main): Likewise.
29028         * tests/test-mbscasestr1.c (main): Likewise.
29029         * tests/test-mbscasestr2.c (main): Likewise.
29030         * tests/test-memmem.c (main): Likewise.
29031         * tests/test-strstr.c (main): Likewise.
29032         * tests/test-strcasestr.c (main): Likewise.
29033
29034 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29035
29036         init.sh: change framework_failure_ to fail with status 99, not 1
29037         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29038         automake's parallel-tests rule that this is an unexpected failure,
29039         even if the test is listed in XFAIL_TESTS.
29040
29041 2010-06-11  Jim Meyering  <meyering@redhat.com>
29042
29043         test-inttostr: avoid warnings about 4-6KB literal strings
29044         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29045         Include "macros.h", for its definition of ASSERT.
29046         (CK): s/assert/ASSERT/
29047         * modules/inttostr-tests (Files): Add macros.h.
29048
29049         init.sh: don't use $ME_ or skip_ before they are defined
29050         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29051         their first uses.  Also hoist their companions: warn_, fail_,
29052         framework_failure_, $stderr_fileno.  Prompted by a patch from
29053         Stefano Lattarini.
29054
29055         test-sys_socket: avoid set-but-not-used warnings from gcc
29056         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29057         avoid warning about set-but-not-used variables.
29058
29059         test-xvasprintf: avoid 'const' discard warnings
29060         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29061         "const" when assigning from literal strings.
29062         (test_xasprintf): Add "void" in function argument list to placate
29063         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29064
29065         tests: avoid compilation warnings in argmatch and exclude tests...
29066         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29067         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29068         Since it always exits, declare with the "noreturn" attribute.
29069         * tests/test-argmatch.c: Likewise.
29070
29071         tests: avoid 'const' discard warnings in mbsstr tests
29072         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29073         * tests/test-mbsstr2.c (main): Likewise.
29074
29075         test-verify: avoid warning from gcc's -Wmissing-declarations
29076         * tests/test-verify.c (function): Declare to be static.
29077
29078         test-inttostr.c: include <string.h> for use of strcmp
29079         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29080
29081         test-linkat: avoid failed assertion on "other" architectures
29082         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29083         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29084         sparc: https://bugs.launchpad.net/bugs/591968
29085
29086 2010-06-11  Jim Meyering  <meyering@redhat.com>
29087
29088         printf.m4: avoid autoconf's "Expanded Before Required" warning
29089         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29090         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29091         autoconf warning.
29092
29093 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29094
29095         Replacement header templates are now named with ".in", not "_".
29096         * doc/gnulib-intro.texi: Correct.
29097
29098 2010-06-10  Jim Meyering  <meyering@redhat.com>
29099
29100         inttostr-tests: depend on snprintf, not snprintf-posix
29101         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29102         snprintf-posix, to avoid this aclocal failure:
29103           missing file gnulib-tests/vasnprintf.c
29104           configure.ac:45: error: expected source file, required through \
29105           AC_LIBSOURCES, not found
29106
29107 2010-06-10  Jim Meyering  <meyering@redhat.com>
29108
29109         inttostr: add a new function, inttostr, and tests
29110         The namesake function was not available.  The existence of the
29111         template file, inttostr.c makes its addition nontrivial.
29112         * lib/anytostr.c: Rename from inttostr.c.
29113         (anytostr): Rename from inttostr.
29114         * lib/inttostr.c: New file.
29115         * modules/inttostr (Files): Add anytostr.c.
29116         (Makefile.am): Set lib_SOURCES instead of ...
29117         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29118         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29119         * lib/offtostr.c: Likewise.
29120         * lib/uinttostr.c: Likewise.
29121         * lib/umaxtostr.c: Likewise.
29122         * modules/inttostr-tests: New file.
29123         * tests/test-inttostr.c: New file.  Test these functions.
29124
29125 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29126             Bruno Haible  <bruno@clisp.org>
29127
29128         Add "Extending Gnulib" chapter to manual.
29129         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29130         chapter.
29131         (Extending Gnulib): New chapter.
29132         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29133         chapter.
29134
29135 2010-06-09  Bruno Haible  <bruno@clisp.org>
29136
29137         Avoid relocwrapper link errors due to gnulib replacement functions.
29138         * lib/areadlink.c: Use the system's malloc, realloc functions.
29139         (areadlink): Set errno to ENOMEM explicitly.
29140         * modules/areadlink (Depends-on): Remove malloc-posix.
29141         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29142
29143 2010-06-09  Bruno Haible  <bruno@clisp.org>
29144
29145         Avoid relocwrapper link errors due to gnulib replacement functions.
29146         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29147         * lib/malloca.c: Likewise.
29148         * lib/relocatable.c: Likewise.
29149         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29150         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29151         * lib/setenv.c: Use the system's malloc, realloc functions.
29152         * lib/strerror.c: Use the system's sprintf function.
29153         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29154
29155 2010-06-04  Bruno Haible  <bruno@clisp.org>
29156
29157         Prefer documented low-level autoconf macro names.
29158         * m4/lib-link.m4: Use m4_translit instead of translit.
29159         * m4/environ.m4: Likewise.
29160         * m4/mathfunc.m4: Likewise.
29161         * m4/onceonly.m4: Likewise.
29162         * m4/stdint.m4: Likewise.
29163         Suggested by Eric Blake.
29164
29165 2010-06-04  Martin Lambers  <marlam@marlam.de>
29166             Bruno Haible  <bruno@clisp.org>
29167
29168         havelib: Allow library names with '+' characters.
29169         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29170         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29171
29172 2010-06-09  Bruno Haible  <bruno@clisp.org>
29173
29174         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29175         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29176         realloc failed.
29177
29178 2010-06-08  Peter Simons  <simons@cryp.to>
29179
29180         maint.mk: make the news-check rule more configurable
29181         * top/maint.mk (news-check-lines-spec): New variable.
29182         (news-check): Use "sed -n 1,10p" in place of "head".
29183
29184 2010-06-07  Jim Meyering  <meyering@redhat.com>
29185
29186         do-release-commit-and-tag: fix typo in --help
29187         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29188
29189         regex: avoid new dead-code warning with gcc-4.6.0
29190         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29191         if-block containing a while-loop.  It's been unused for at least
29192         5 years.
29193
29194 2010-06-05  Bruno Haible  <bruno@clisp.org>
29195
29196         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29197         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29198
29199 2010-06-04  Bruno Haible  <bruno@clisp.org>
29200
29201         Update to GNU gettext 0.18.1.
29202         * modules/gettext (configure.ac): Require gettext infrastructure from
29203         version 0.18.1.
29204
29205 2010-06-03  Bruno Haible  <bruno@clisp.org>
29206
29207         Don't use AC_LIBOBJ with file names in subdirectories.
29208         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29209         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29210         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29211         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29212         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29213         gl_LIBUNISTRING_LIBSOURCE.
29214         (Makefile.am): Augment lib_SOURCES here, conditionally.
29215         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29216
29217 2010-06-03  Bruno Haible  <bruno@clisp.org>
29218
29219         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29220         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29221         expansion does not end with a newline.
29222         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29223         unnecessary newline.
29224
29225 2010-06-03  Bruno Haible  <bruno@clisp.org>
29226
29227         Reduce dependencies.
29228         * tests/test-quotearg.h: New file, extracted from
29229         tests/test-quotearg.c.
29230         * tests/test-quotearg-simple.c: New file, extracted from
29231         tests/test-quotearg.c.
29232         * tests/test-quotearg.c: Don't include <ctype.h>.
29233         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29234         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29235         use_quote_double_quotes, use_quotearg_colon): Moved to
29236         tests/test-quotearg.h.
29237         (results_g, flag_results, custom_quotes, custom_results): Moved
29238         to tests/test-quotearg-simple.c.
29239         (main): Moved the part that does not depend on gettext to
29240         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29241         performed.
29242         * modules/quotearg-simple: New file.
29243         * modules/quotearg-simple-tests: New file.
29244         * modules/quotearg (Depends-on): Add quotearg-simple.
29245         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29246         (Files): Add tests/test-quotearg.h.
29247         Reported by Paolo Bonzini.
29248
29249 2010-06-03  Bruno Haible  <bruno@clisp.org>
29250
29251         Reduce dependencies.
29252         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29253
29254 2010-06-03  Bruno Haible  <bruno@clisp.org>
29255
29256         time: Undefine more broken macros.
29257         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29258         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29259         Reported by Eric Blake.
29260
29261 2010-06-03  Bruno Haible  <bruno@clisp.org>
29262
29263         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29264         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29265         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29266         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29267         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29268         Reported by Ludovic Courtès <ludo@gnu.org>.
29269
29270 2010-06-02  Eric Blake  <eblake@redhat.com>
29271
29272         time: work with mingw + pthreads-win32 library
29273         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29274         if timespec is defined only in pthread.h.
29275         * modules/time (Makefile.am): Substitute it.
29276         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29277         <pthread.h>, when needed.
29278         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29279         from the library.
29280
29281 2010-05-31  Bruno Haible  <bruno@clisp.org>
29282
29283         Avoid expanding two macros in the wrong order.
29284         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29285         gl_LIBUNISTRING if it is defined.
29286         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29287         autoconf >= 2.64.
29288         Reported by Ludovic Courtès <ludo@gnu.org>.
29289
29290 2010-05-27  Jim Meyering  <meyering@redhat.com>
29291
29292         maint.mk: also prohibit "#undef" of always-defined symbols
29293         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29294         Allow more than one space before the symbol name.
29295         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29296         the regexp uses alternation.
29297
29298 2010-05-26  Eric Blake  <eblake@redhat.com>
29299
29300         maint.mk: avoid echo -e
29301         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29302         Convert all uses of echo -* to printf.
29303         Reported by Matthias Bolte.
29304
29305 2010-05-25  Bruno Haible  <bruno@clisp.org>
29306
29307         Update to GNU gettext 0.18, part 2.
29308         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29309         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29310
29311 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29312
29313         Add missing include in test-pwrite.c.
29314         * tests/test-pwrite.c: Include string.h, for strcmp.
29315
29316 2010-05-24  Bruno Haible  <bruno@clisp.org>
29317
29318         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29319
29320 2010-05-24  Bruno Haible  <bruno@clisp.org>
29321
29322         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29323         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29324         iconveh_error argument.
29325         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29326         U_STRCONV_TO_LOCALE.
29327         * lib/unistr/u16-strcoll.c: Likewise.
29328         * lib/unistr/u32-strcoll.c: Likewise.
29329         * modules/unistr/u8-strcoll (Depends-on): Add
29330         uniconv/u8-strconv-to-enc, localcharset. Remove
29331         uniconv/u8-strconv-to-locale.
29332         (configure.ac): Bump version number.
29333         * modules/unistr/u16-strcoll (Depends-on): Add
29334         uniconv/u16-strconv-to-enc, localcharset. Remove
29335         uniconv/u16-strconv-to-locale.
29336         (configure.ac): Bump version number.
29337         * modules/unistr/u32-strcoll (Depends-on): Add
29338         uniconv/u32-strconv-to-enc, localcharset. Remove
29339         uniconv/u32-strconv-to-locale.
29340         (configure.ac): Bump version number.
29341
29342 2010-05-24  Bruno Haible  <bruno@clisp.org>
29343
29344         Avoid a test failure on NetBSD 5.0.
29345         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29346         an iconv() bug.
29347
29348 2010-05-24  Bruno Haible  <bruno@clisp.org>
29349
29350         Adjust #include directive style.
29351         * modules/regex (Includes): Recommend to write <regex.h>.
29352
29353 2010-05-24  Bruno Haible  <bruno@clisp.org>
29354
29355         regex: Don't require alloca.
29356         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29357         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29358         only inside if (0).
29359
29360 2010-05-23  Jim Meyering  <meyering@redhat.com>
29361
29362         test-renameat.c: include <sys/stat.h>
29363         * tests/test-renameat.c: Include <sys/stat.h>; required for
29364         definition of S_IS* macros.
29365
29366 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29367
29368         Update maintainer documentation for 'relocatable-prog' module.
29369         * doc/relocatable-maint.texi: Update.
29370         Comments by Bruno Haible.
29371
29372 2010-05-23  Bruno Haible  <bruno@clisp.org>
29373
29374         git-merge-changelog: Enable --split-merged-entry by default.
29375         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29376         (usage): Don't mention this option any more.
29377         Reported by Ralf Wildenhues.
29378
29379 2010-05-23  Jim Meyering  <meyering@redhat.com>
29380
29381         test-pwrite: do not leave behind a test file named "out"
29382         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29383         The trivial-looking use of init.sh is really necessary.
29384         It ensures that the temporary file, "out", is created in
29385         a temporary directory, and removed upon termination.
29386         * tests/test-pwrite.sh: Re-add file.
29387         * modules/pwrite-tests: Reference it.
29388
29389 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29390
29391         Fix output redirection buglet in init.sh.
29392         * tests/init.sh: Fix redirection of stderr.
29393
29394 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29395
29396         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29397
29398 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29399
29400         * modules/valgrind-tests: New file.
29401         * m4/valgrind-tests.m4: New file.
29402         * doc/valgrind-tests.texi: New file.
29403         * doc/gnulib.texi (Running self-tests under valgrind): New
29404         section.
29405
29406 2010-05-19  Bruno Haible  <bruno@clisp.org>
29407
29408         Clean up dead code in recent commit.
29409         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29410         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29411         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29412         Suggested by Paolo Bonzini.
29413
29414 2010-05-19  Bruno Haible  <bruno@clisp.org>
29415
29416         Avoid valgrind error reports from libunistring.
29417         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29418         * modules/libunistring (Files): Add it.
29419         * modules/libunistring-optional (Files): Likewise.
29420
29421 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29422             Bruno Haible  <bruno@clisp.org>
29423
29424         New module 'libunistring-optional'.
29425         * modules/libunistring-optional: New file.
29426         * m4/libunistring-base.m4: New file.
29427         * m4/libunistring-optional.m4: New file.
29428         * lib/unicase.in.h: Renamed from lib/unicase.h.
29429         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29430         * lib/unictype.in.h: Renamed from lib/unictype.h.
29431         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29432         * lib/uniname.in.h: Renamed from lib/uniname.h.
29433         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29434         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29435         * lib/unistr.in.h: Renamed from lib/unistr.h.
29436         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29437         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29438         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29439         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29440         gl_LIBUNISTRING. If the library was found, determine the installed
29441         version and set LIBUNISTRING_VERSION.
29442         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29443         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29444         handle a configuration option --with-included-libunistring.
29445         * modules/libunistring (Files): Add m4/absolute-header.m4.
29446         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29447         Add m4/libunistring-base.m4.
29448         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29449         (Makefile.am): Build unicase.h from unicase.in.h.
29450         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29451         Add m4/libunistring-base.m4.
29452         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29453         (Makefile.am): Build uniconv.h from uniconv.in.h.
29454         * modules/unictype/base (Files): Use unictype.in.h instead of
29455         unictype.h. Add m4/libunistring-base.m4.
29456         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29457         (Makefile.am): Build unictype.h from unictype.in.h.
29458         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29459         Add m4/libunistring-base.m4.
29460         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29461         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29462         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29463         Add m4/libunistring-base.m4.
29464         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29465         (Makefile.am): Build uniname.h from uniname.in.h.
29466         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29467         Add m4/libunistring-base.m4.
29468         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29469         (Makefile.am): Build uninorm.h from uninorm.in.h.
29470         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29471         unistdio.h. Add m4/libunistring-base.m4.
29472         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29473         (Makefile.am): Build unistdio.h from unistdio.in.h.
29474         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29475         Add m4/libunistring-base.m4.
29476         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29477         (Makefile.am): Build unistr.h from unistr.in.h.
29478         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29479         Add m4/libunistring-base.m4.
29480         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29481         (Makefile.am): Build unitypes.h from unitypes.in.h.
29482         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29483         Add m4/libunistring-base.m4.
29484         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29485         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29486         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29487         uniwidth.h. Add m4/libunistring-base.m4.
29488         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29489         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29490         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29491         instead of augmenting lib_SOURCES.
29492         * modules/unicase/empty-suffix-context: Likewise.
29493         * modules/unicase/locale-language: Likewise.
29494         * modules/unicase/tolower: Likewise.
29495         * modules/unicase/totitle: Likewise.
29496         * modules/unicase/toupper: Likewise.
29497         * modules/unicase/u8-casecmp: Likewise.
29498         * modules/unicase/u8-casecoll: Likewise.
29499         * modules/unicase/u8-casefold: Likewise.
29500         * modules/unicase/u8-casexfrm: Likewise.
29501         * modules/unicase/u8-ct-casefold: Likewise.
29502         * modules/unicase/u8-ct-tolower: Likewise.
29503         * modules/unicase/u8-ct-totitle: Likewise.
29504         * modules/unicase/u8-ct-toupper: Likewise.
29505         * modules/unicase/u8-is-cased: Likewise.
29506         * modules/unicase/u8-is-casefolded: Likewise.
29507         * modules/unicase/u8-is-lowercase: Likewise.
29508         * modules/unicase/u8-is-titlecase: Likewise.
29509         * modules/unicase/u8-is-uppercase: Likewise.
29510         * modules/unicase/u8-prefix-context: Likewise.
29511         * modules/unicase/u8-suffix-context: Likewise.
29512         * modules/unicase/u8-tolower: Likewise.
29513         * modules/unicase/u8-totitle: Likewise.
29514         * modules/unicase/u8-toupper: Likewise.
29515         * modules/unicase/u16-casecmp: Likewise.
29516         * modules/unicase/u16-casecoll: Likewise.
29517         * modules/unicase/u16-casefold: Likewise.
29518         * modules/unicase/u16-casexfrm: Likewise.
29519         * modules/unicase/u16-ct-casefold: Likewise.
29520         * modules/unicase/u16-ct-tolower: Likewise.
29521         * modules/unicase/u16-ct-totitle: Likewise.
29522         * modules/unicase/u16-ct-toupper: Likewise.
29523         * modules/unicase/u16-is-cased: Likewise.
29524         * modules/unicase/u16-is-casefolded: Likewise.
29525         * modules/unicase/u16-is-lowercase: Likewise.
29526         * modules/unicase/u16-is-titlecase: Likewise.
29527         * modules/unicase/u16-is-uppercase: Likewise.
29528         * modules/unicase/u16-prefix-context: Likewise.
29529         * modules/unicase/u16-suffix-context: Likewise.
29530         * modules/unicase/u16-tolower: Likewise.
29531         * modules/unicase/u16-totitle: Likewise.
29532         * modules/unicase/u16-toupper: Likewise.
29533         * modules/unicase/u32-casecmp: Likewise.
29534         * modules/unicase/u32-casecoll: Likewise.
29535         * modules/unicase/u32-casefold: Likewise.
29536         * modules/unicase/u32-casexfrm: Likewise.
29537         * modules/unicase/u32-ct-casefold: Likewise.
29538         * modules/unicase/u32-ct-tolower: Likewise.
29539         * modules/unicase/u32-ct-totitle: Likewise.
29540         * modules/unicase/u32-ct-toupper: Likewise.
29541         * modules/unicase/u32-is-cased: Likewise.
29542         * modules/unicase/u32-is-casefolded: Likewise.
29543         * modules/unicase/u32-is-lowercase: Likewise.
29544         * modules/unicase/u32-is-titlecase: Likewise.
29545         * modules/unicase/u32-is-uppercase: Likewise.
29546         * modules/unicase/u32-prefix-context: Likewise.
29547         * modules/unicase/u32-suffix-context: Likewise.
29548         * modules/unicase/u32-tolower: Likewise.
29549         * modules/unicase/u32-totitle: Likewise.
29550         * modules/unicase/u32-toupper: Likewise.
29551         * modules/unicase/ulc-casecmp: Likewise.
29552         * modules/unicase/ulc-casecoll: Likewise.
29553         * modules/unicase/ulc-casexfrm: Likewise.
29554         * modules/uniconv/u8-conv-from-enc: Likewise.
29555         * modules/uniconv/u8-conv-to-enc: Likewise.
29556         * modules/uniconv/u8-strconv-from-enc: Likewise.
29557         * modules/uniconv/u8-strconv-from-locale: Likewise.
29558         * modules/uniconv/u8-strconv-to-enc: Likewise.
29559         * modules/uniconv/u8-strconv-to-locale: Likewise.
29560         * modules/uniconv/u16-conv-from-enc: Likewise.
29561         * modules/uniconv/u16-conv-to-enc: Likewise.
29562         * modules/uniconv/u16-strconv-from-enc: Likewise.
29563         * modules/uniconv/u16-strconv-from-locale: Likewise.
29564         * modules/uniconv/u16-strconv-to-enc: Likewise.
29565         * modules/uniconv/u16-strconv-to-locale: Likewise.
29566         * modules/uniconv/u32-conv-from-enc: Likewise.
29567         * modules/uniconv/u32-conv-to-enc: Likewise.
29568         * modules/uniconv/u32-strconv-from-enc: Likewise.
29569         * modules/uniconv/u32-strconv-from-locale: Likewise.
29570         * modules/uniconv/u32-strconv-to-enc: Likewise.
29571         * modules/uniconv/u32-strconv-to-locale: Likewise.
29572         * modules/unictype/bidicategory-byname: Likewise.
29573         * modules/unictype/bidicategory-name: Likewise.
29574         * modules/unictype/bidicategory-of: Likewise.
29575         * modules/unictype/bidicategory-test: Likewise.
29576         * modules/unictype/block-list: Likewise.
29577         * modules/unictype/block-test: Likewise.
29578         * modules/unictype/category-C: Likewise.
29579         * modules/unictype/category-Cc: Likewise.
29580         * modules/unictype/category-Cf: Likewise.
29581         * modules/unictype/category-Cn: Likewise.
29582         * modules/unictype/category-Co: Likewise.
29583         * modules/unictype/category-Cs: Likewise.
29584         * modules/unictype/category-L: Likewise.
29585         * modules/unictype/category-Ll: Likewise.
29586         * modules/unictype/category-Lm: Likewise.
29587         * modules/unictype/category-Lo: Likewise.
29588         * modules/unictype/category-Lt: Likewise.
29589         * modules/unictype/category-Lu: Likewise.
29590         * modules/unictype/category-M: Likewise.
29591         * modules/unictype/category-Mc: Likewise.
29592         * modules/unictype/category-Me: Likewise.
29593         * modules/unictype/category-Mn: Likewise.
29594         * modules/unictype/category-N: Likewise.
29595         * modules/unictype/category-Nd: Likewise.
29596         * modules/unictype/category-Nl: Likewise.
29597         * modules/unictype/category-No: Likewise.
29598         * modules/unictype/category-P: Likewise.
29599         * modules/unictype/category-Pc: Likewise.
29600         * modules/unictype/category-Pd: Likewise.
29601         * modules/unictype/category-Pe: Likewise.
29602         * modules/unictype/category-Pf: Likewise.
29603         * modules/unictype/category-Pi: Likewise.
29604         * modules/unictype/category-Po: Likewise.
29605         * modules/unictype/category-Ps: Likewise.
29606         * modules/unictype/category-S: Likewise.
29607         * modules/unictype/category-Sc: Likewise.
29608         * modules/unictype/category-Sk: Likewise.
29609         * modules/unictype/category-Sm: Likewise.
29610         * modules/unictype/category-So: Likewise.
29611         * modules/unictype/category-Z: Likewise.
29612         * modules/unictype/category-Zl: Likewise.
29613         * modules/unictype/category-Zp: Likewise.
29614         * modules/unictype/category-Zs: Likewise.
29615         * modules/unictype/category-and: Likewise.
29616         * modules/unictype/category-and-not: Likewise.
29617         * modules/unictype/category-byname: Likewise.
29618         * modules/unictype/category-name: Likewise.
29619         * modules/unictype/category-none: Likewise.
29620         * modules/unictype/category-of: Likewise.
29621         * modules/unictype/category-or: Likewise.
29622         * modules/unictype/category-test: Likewise.
29623         * modules/unictype/combining-class: Likewise.
29624         * modules/unictype/ctype-alnum: Likewise.
29625         * modules/unictype/ctype-alpha: Likewise.
29626         * modules/unictype/ctype-blank: Likewise.
29627         * modules/unictype/ctype-cntrl: Likewise.
29628         * modules/unictype/ctype-digit: Likewise.
29629         * modules/unictype/ctype-graph: Likewise.
29630         * modules/unictype/ctype-lower: Likewise.
29631         * modules/unictype/ctype-print: Likewise.
29632         * modules/unictype/ctype-punct: Likewise.
29633         * modules/unictype/ctype-space: Likewise.
29634         * modules/unictype/ctype-upper: Likewise.
29635         * modules/unictype/ctype-xdigit: Likewise.
29636         * modules/unictype/decimal-digit: Likewise.
29637         * modules/unictype/digit: Likewise.
29638         * modules/unictype/mirror: Likewise.
29639         * modules/unictype/numeric: Likewise.
29640         * modules/unictype/property-alphabetic: Likewise.
29641         * modules/unictype/property-ascii-hex-digit: Likewise.
29642         * modules/unictype/property-bidi-arabic-digit: Likewise.
29643         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29644         * modules/unictype/property-bidi-block-separator: Likewise.
29645         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29646         * modules/unictype/property-bidi-common-separator: Likewise.
29647         * modules/unictype/property-bidi-control: Likewise.
29648         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29649         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29650         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29651         * modules/unictype/property-bidi-european-digit: Likewise.
29652         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29653         * modules/unictype/property-bidi-left-to-right: Likewise.
29654         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29655         * modules/unictype/property-bidi-other-neutral: Likewise.
29656         * modules/unictype/property-bidi-pdf: Likewise.
29657         * modules/unictype/property-bidi-segment-separator: Likewise.
29658         * modules/unictype/property-bidi-whitespace: Likewise.
29659         * modules/unictype/property-byname: Likewise.
29660         * modules/unictype/property-combining: Likewise.
29661         * modules/unictype/property-composite: Likewise.
29662         * modules/unictype/property-currency-symbol: Likewise.
29663         * modules/unictype/property-dash: Likewise.
29664         * modules/unictype/property-decimal-digit: Likewise.
29665         * modules/unictype/property-default-ignorable-code-point: Likewise.
29666         * modules/unictype/property-deprecated: Likewise.
29667         * modules/unictype/property-diacritic: Likewise.
29668         * modules/unictype/property-extender: Likewise.
29669         * modules/unictype/property-format-control: Likewise.
29670         * modules/unictype/property-grapheme-base: Likewise.
29671         * modules/unictype/property-grapheme-extend: Likewise.
29672         * modules/unictype/property-grapheme-link: Likewise.
29673         * modules/unictype/property-hex-digit: Likewise.
29674         * modules/unictype/property-hyphen: Likewise.
29675         * modules/unictype/property-id-continue: Likewise.
29676         * modules/unictype/property-id-start: Likewise.
29677         * modules/unictype/property-ideographic: Likewise.
29678         * modules/unictype/property-ids-binary-operator: Likewise.
29679         * modules/unictype/property-ids-trinary-operator: Likewise.
29680         * modules/unictype/property-ignorable-control: Likewise.
29681         * modules/unictype/property-iso-control: Likewise.
29682         * modules/unictype/property-join-control: Likewise.
29683         * modules/unictype/property-left-of-pair: Likewise.
29684         * modules/unictype/property-line-separator: Likewise.
29685         * modules/unictype/property-logical-order-exception: Likewise.
29686         * modules/unictype/property-lowercase: Likewise.
29687         * modules/unictype/property-math: Likewise.
29688         * modules/unictype/property-non-break: Likewise.
29689         * modules/unictype/property-not-a-character: Likewise.
29690         * modules/unictype/property-numeric: Likewise.
29691         * modules/unictype/property-other-alphabetic: Likewise.
29692         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29693         * modules/unictype/property-other-grapheme-extend: Likewise.
29694         * modules/unictype/property-other-id-continue: Likewise.
29695         * modules/unictype/property-other-id-start: Likewise.
29696         * modules/unictype/property-other-lowercase: Likewise.
29697         * modules/unictype/property-other-math: Likewise.
29698         * modules/unictype/property-other-uppercase: Likewise.
29699         * modules/unictype/property-paired-punctuation: Likewise.
29700         * modules/unictype/property-paragraph-separator: Likewise.
29701         * modules/unictype/property-pattern-syntax: Likewise.
29702         * modules/unictype/property-pattern-white-space: Likewise.
29703         * modules/unictype/property-private-use: Likewise.
29704         * modules/unictype/property-punctuation: Likewise.
29705         * modules/unictype/property-quotation-mark: Likewise.
29706         * modules/unictype/property-radical: Likewise.
29707         * modules/unictype/property-sentence-terminal: Likewise.
29708         * modules/unictype/property-soft-dotted: Likewise.
29709         * modules/unictype/property-space: Likewise.
29710         * modules/unictype/property-terminal-punctuation: Likewise.
29711         * modules/unictype/property-test: Likewise.
29712         * modules/unictype/property-titlecase: Likewise.
29713         * modules/unictype/property-unassigned-code-value: Likewise.
29714         * modules/unictype/property-unified-ideograph: Likewise.
29715         * modules/unictype/property-uppercase: Likewise.
29716         * modules/unictype/property-variation-selector: Likewise.
29717         * modules/unictype/property-white-space: Likewise.
29718         * modules/unictype/property-xid-continue: Likewise.
29719         * modules/unictype/property-xid-start: Likewise.
29720         * modules/unictype/property-zero-width: Likewise.
29721         * modules/unictype/scripts: Likewise.
29722         * modules/unictype/syntax-c-ident: Likewise.
29723         * modules/unictype/syntax-c-whitespace: Likewise.
29724         * modules/unictype/syntax-java-ident: Likewise.
29725         * modules/unictype/syntax-java-whitespace: Likewise.
29726         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29727         * modules/unilbrk/u8-width-linebreaks: Likewise.
29728         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29729         * modules/unilbrk/u16-width-linebreaks: Likewise.
29730         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29731         * modules/unilbrk/u32-width-linebreaks: Likewise.
29732         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29733         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29734         * modules/uniname/uniname: Likewise.
29735         * modules/uninorm/canonical-decomposition: Likewise.
29736         * modules/uninorm/composition: Likewise.
29737         * modules/uninorm/decomposing-form: Likewise.
29738         * modules/uninorm/decomposition: Likewise.
29739         * modules/uninorm/filter: Likewise.
29740         * modules/uninorm/nfc: Likewise.
29741         * modules/uninorm/nfd: Likewise.
29742         * modules/uninorm/nfkc: Likewise.
29743         * modules/uninorm/nfkd: Likewise.
29744         * modules/uninorm/u8-normalize: Likewise.
29745         * modules/uninorm/u8-normcmp: Likewise.
29746         * modules/uninorm/u8-normcoll: Likewise.
29747         * modules/uninorm/u8-normxfrm: Likewise.
29748         * modules/uninorm/u16-normalize: Likewise.
29749         * modules/uninorm/u16-normcmp: Likewise.
29750         * modules/uninorm/u16-normcoll: Likewise.
29751         * modules/uninorm/u16-normxfrm: Likewise.
29752         * modules/uninorm/u32-normalize: Likewise.
29753         * modules/uninorm/u32-normcmp: Likewise.
29754         * modules/uninorm/u32-normcoll: Likewise.
29755         * modules/uninorm/u32-normxfrm: Likewise.
29756         * modules/unistdio/u8-asnprintf: Likewise.
29757         * modules/unistdio/u8-asprintf: Likewise.
29758         * modules/unistdio/u8-snprintf: Likewise.
29759         * modules/unistdio/u8-sprintf: Likewise.
29760         * modules/unistdio/u8-u8-asnprintf: Likewise.
29761         * modules/unistdio/u8-u8-asprintf: Likewise.
29762         * modules/unistdio/u8-u8-snprintf: Likewise.
29763         * modules/unistdio/u8-u8-sprintf: Likewise.
29764         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29765         * modules/unistdio/u8-u8-vasprintf: Likewise.
29766         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29767         * modules/unistdio/u8-u8-vsprintf: Likewise.
29768         * modules/unistdio/u8-vasnprintf: Likewise.
29769         * modules/unistdio/u8-vasprintf: Likewise.
29770         * modules/unistdio/u8-vsnprintf: Likewise.
29771         * modules/unistdio/u8-vsprintf: Likewise.
29772         * modules/unistdio/u16-asnprintf: Likewise.
29773         * modules/unistdio/u16-asprintf: Likewise.
29774         * modules/unistdio/u16-snprintf: Likewise.
29775         * modules/unistdio/u16-sprintf: Likewise.
29776         * modules/unistdio/u16-u16-asnprintf: Likewise.
29777         * modules/unistdio/u16-u16-asprintf: Likewise.
29778         * modules/unistdio/u16-u16-snprintf: Likewise.
29779         * modules/unistdio/u16-u16-sprintf: Likewise.
29780         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29781         * modules/unistdio/u16-u16-vasprintf: Likewise.
29782         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29783         * modules/unistdio/u16-u16-vsprintf: Likewise.
29784         * modules/unistdio/u16-vasnprintf: Likewise.
29785         * modules/unistdio/u16-vasprintf: Likewise.
29786         * modules/unistdio/u16-vsnprintf: Likewise.
29787         * modules/unistdio/u16-vsprintf: Likewise.
29788         * modules/unistdio/u32-asnprintf: Likewise.
29789         * modules/unistdio/u32-asprintf: Likewise.
29790         * modules/unistdio/u32-snprintf: Likewise.
29791         * modules/unistdio/u32-sprintf: Likewise.
29792         * modules/unistdio/u32-u32-asnprintf: Likewise.
29793         * modules/unistdio/u32-u32-asprintf: Likewise.
29794         * modules/unistdio/u32-u32-snprintf: Likewise.
29795         * modules/unistdio/u32-u32-sprintf: Likewise.
29796         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29797         * modules/unistdio/u32-u32-vasprintf: Likewise.
29798         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29799         * modules/unistdio/u32-u32-vsprintf: Likewise.
29800         * modules/unistdio/u32-vasnprintf: Likewise.
29801         * modules/unistdio/u32-vasprintf: Likewise.
29802         * modules/unistdio/u32-vsnprintf: Likewise.
29803         * modules/unistdio/u32-vsprintf: Likewise.
29804         * modules/unistdio/ulc-asnprintf: Likewise.
29805         * modules/unistdio/ulc-asprintf: Likewise.
29806         * modules/unistdio/ulc-fprintf: Likewise.
29807         * modules/unistdio/ulc-snprintf: Likewise.
29808         * modules/unistdio/ulc-sprintf: Likewise.
29809         * modules/unistdio/ulc-vasnprintf: Likewise.
29810         * modules/unistdio/ulc-vasprintf: Likewise.
29811         * modules/unistdio/ulc-vfprintf: Likewise.
29812         * modules/unistdio/ulc-vsnprintf: Likewise.
29813         * modules/unistdio/ulc-vsprintf: Likewise.
29814         * modules/unistr/u8-check: Likewise.
29815         * modules/unistr/u8-chr: Likewise.
29816         * modules/unistr/u8-cmp: Likewise.
29817         * modules/unistr/u8-cmp2: Likewise.
29818         * modules/unistr/u8-cpy: Likewise.
29819         * modules/unistr/u8-cpy-alloc: Likewise.
29820         * modules/unistr/u8-endswith: Likewise.
29821         * modules/unistr/u8-mblen: Likewise.
29822         * modules/unistr/u8-mbsnlen: Likewise.
29823         * modules/unistr/u8-mbtouc: Likewise.
29824         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29825         * modules/unistr/u8-mbtoucr: Likewise.
29826         * modules/unistr/u8-move: Likewise.
29827         * modules/unistr/u8-next: Likewise.
29828         * modules/unistr/u8-prev: Likewise.
29829         * modules/unistr/u8-set: Likewise.
29830         * modules/unistr/u8-startswith: Likewise.
29831         * modules/unistr/u8-stpcpy: Likewise.
29832         * modules/unistr/u8-stpncpy: Likewise.
29833         * modules/unistr/u8-strcat: Likewise.
29834         * modules/unistr/u8-strchr: Likewise.
29835         * modules/unistr/u8-strcmp: Likewise.
29836         * modules/unistr/u8-strcoll: Likewise.
29837         * modules/unistr/u8-strcpy: Likewise.
29838         * modules/unistr/u8-strcspn: Likewise.
29839         * modules/unistr/u8-strdup: Likewise.
29840         * modules/unistr/u8-strlen: Likewise.
29841         * modules/unistr/u8-strmblen: Likewise.
29842         * modules/unistr/u8-strmbtouc: Likewise.
29843         * modules/unistr/u8-strncat: Likewise.
29844         * modules/unistr/u8-strncmp: Likewise.
29845         * modules/unistr/u8-strncpy: Likewise.
29846         * modules/unistr/u8-strnlen: Likewise.
29847         * modules/unistr/u8-strpbrk: Likewise.
29848         * modules/unistr/u8-strrchr: Likewise.
29849         * modules/unistr/u8-strspn: Likewise.
29850         * modules/unistr/u8-strstr: Likewise.
29851         * modules/unistr/u8-strtok: Likewise.
29852         * modules/unistr/u8-to-u16: Likewise.
29853         * modules/unistr/u8-to-u32: Likewise.
29854         * modules/unistr/u8-uctomb: Likewise.
29855         * modules/unistr/u16-check: Likewise.
29856         * modules/unistr/u16-chr: Likewise.
29857         * modules/unistr/u16-cmp: Likewise.
29858         * modules/unistr/u16-cmp2: Likewise.
29859         * modules/unistr/u16-cpy: Likewise.
29860         * modules/unistr/u16-cpy-alloc: Likewise.
29861         * modules/unistr/u16-endswith: Likewise.
29862         * modules/unistr/u16-mblen: Likewise.
29863         * modules/unistr/u16-mbsnlen: Likewise.
29864         * modules/unistr/u16-mbtouc: Likewise.
29865         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29866         * modules/unistr/u16-mbtoucr: Likewise.
29867         * modules/unistr/u16-move: Likewise.
29868         * modules/unistr/u16-next: Likewise.
29869         * modules/unistr/u16-prev: Likewise.
29870         * modules/unistr/u16-set: Likewise.
29871         * modules/unistr/u16-startswith: Likewise.
29872         * modules/unistr/u16-stpcpy: Likewise.
29873         * modules/unistr/u16-stpncpy: Likewise.
29874         * modules/unistr/u16-strcat: Likewise.
29875         * modules/unistr/u16-strchr: Likewise.
29876         * modules/unistr/u16-strcmp: Likewise.
29877         * modules/unistr/u16-strcoll: Likewise.
29878         * modules/unistr/u16-strcpy: Likewise.
29879         * modules/unistr/u16-strcspn: Likewise.
29880         * modules/unistr/u16-strdup: Likewise.
29881         * modules/unistr/u16-strlen: Likewise.
29882         * modules/unistr/u16-strmblen: Likewise.
29883         * modules/unistr/u16-strmbtouc: Likewise.
29884         * modules/unistr/u16-strncat: Likewise.
29885         * modules/unistr/u16-strncmp: Likewise.
29886         * modules/unistr/u16-strncpy: Likewise.
29887         * modules/unistr/u16-strnlen: Likewise.
29888         * modules/unistr/u16-strpbrk: Likewise.
29889         * modules/unistr/u16-strrchr: Likewise.
29890         * modules/unistr/u16-strspn: Likewise.
29891         * modules/unistr/u16-strstr: Likewise.
29892         * modules/unistr/u16-strtok: Likewise.
29893         * modules/unistr/u16-to-u32: Likewise.
29894         * modules/unistr/u16-to-u8: Likewise.
29895         * modules/unistr/u16-uctomb: Likewise.
29896         * modules/unistr/u32-check: Likewise.
29897         * modules/unistr/u32-chr: Likewise.
29898         * modules/unistr/u32-cmp: Likewise.
29899         * modules/unistr/u32-cmp2: Likewise.
29900         * modules/unistr/u32-cpy: Likewise.
29901         * modules/unistr/u32-cpy-alloc: Likewise.
29902         * modules/unistr/u32-endswith: Likewise.
29903         * modules/unistr/u32-mblen: Likewise.
29904         * modules/unistr/u32-mbsnlen: Likewise.
29905         * modules/unistr/u32-mbtouc: Likewise.
29906         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29907         * modules/unistr/u32-mbtoucr: Likewise.
29908         * modules/unistr/u32-move: Likewise.
29909         * modules/unistr/u32-next: Likewise.
29910         * modules/unistr/u32-prev: Likewise.
29911         * modules/unistr/u32-set: Likewise.
29912         * modules/unistr/u32-startswith: Likewise.
29913         * modules/unistr/u32-stpcpy: Likewise.
29914         * modules/unistr/u32-stpncpy: Likewise.
29915         * modules/unistr/u32-strcat: Likewise.
29916         * modules/unistr/u32-strchr: Likewise.
29917         * modules/unistr/u32-strcmp: Likewise.
29918         * modules/unistr/u32-strcoll: Likewise.
29919         * modules/unistr/u32-strcpy: Likewise.
29920         * modules/unistr/u32-strcspn: Likewise.
29921         * modules/unistr/u32-strdup: Likewise.
29922         * modules/unistr/u32-strlen: Likewise.
29923         * modules/unistr/u32-strmblen: Likewise.
29924         * modules/unistr/u32-strmbtouc: Likewise.
29925         * modules/unistr/u32-strncat: Likewise.
29926         * modules/unistr/u32-strncmp: Likewise.
29927         * modules/unistr/u32-strncpy: Likewise.
29928         * modules/unistr/u32-strnlen: Likewise.
29929         * modules/unistr/u32-strpbrk: Likewise.
29930         * modules/unistr/u32-strrchr: Likewise.
29931         * modules/unistr/u32-strspn: Likewise.
29932         * modules/unistr/u32-strstr: Likewise.
29933         * modules/unistr/u32-strtok: Likewise.
29934         * modules/unistr/u32-to-u16: Likewise.
29935         * modules/unistr/u32-to-u8: Likewise.
29936         * modules/unistr/u32-uctomb: Likewise.
29937         * modules/uniwbrk/u8-wordbreaks: Likewise.
29938         * modules/uniwbrk/u16-wordbreaks: Likewise.
29939         * modules/uniwbrk/u32-wordbreaks: Likewise.
29940         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29941         * modules/uniwbrk/wordbreak-property: Likewise.
29942         * modules/uniwidth/u8-strwidth: Likewise.
29943         * modules/uniwidth/u8-width: Likewise.
29944         * modules/uniwidth/u16-strwidth: Likewise.
29945         * modules/uniwidth/u16-width: Likewise.
29946         * modules/uniwidth/u32-strwidth: Likewise.
29947         * modules/uniwidth/u32-width: Likewise.
29948         * modules/uniwidth/width: Likewise.
29949         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29950         with $(LIBUNISTRING).
29951         * modules/unicase/ignorable-tests: Likewise.
29952         * modules/unicase/locale-language-tests: Likewise.
29953         * modules/unicase/tolower-tests: Likewise.
29954         * modules/unicase/totitle-tests: Likewise.
29955         * modules/unicase/toupper-tests: Likewise.
29956         * modules/unicase/u8-casecmp-tests: Likewise.
29957         * modules/unicase/u8-casecoll-tests: Likewise.
29958         * modules/unicase/u8-casefold-tests: Likewise.
29959         * modules/unicase/u8-is-cased-tests: Likewise.
29960         * modules/unicase/u8-is-casefolded-tests: Likewise.
29961         * modules/unicase/u8-is-lowercase-tests: Likewise.
29962         * modules/unicase/u8-is-titlecase-tests: Likewise.
29963         * modules/unicase/u8-is-uppercase-tests: Likewise.
29964         * modules/unicase/u8-tolower-tests: Likewise.
29965         * modules/unicase/u8-totitle-tests: Likewise.
29966         * modules/unicase/u8-toupper-tests: Likewise.
29967         * modules/unicase/u16-casecmp-tests: Likewise.
29968         * modules/unicase/u16-casecoll-tests: Likewise.
29969         * modules/unicase/u16-casefold-tests: Likewise.
29970         * modules/unicase/u16-is-cased-tests: Likewise.
29971         * modules/unicase/u16-is-casefolded-tests: Likewise.
29972         * modules/unicase/u16-is-lowercase-tests: Likewise.
29973         * modules/unicase/u16-is-titlecase-tests: Likewise.
29974         * modules/unicase/u16-is-uppercase-tests: Likewise.
29975         * modules/unicase/u16-tolower-tests: Likewise.
29976         * modules/unicase/u16-totitle-tests: Likewise.
29977         * modules/unicase/u16-toupper-tests: Likewise.
29978         * modules/unicase/u32-casecmp-tests: Likewise.
29979         * modules/unicase/u32-casecoll-tests: Likewise.
29980         * modules/unicase/u32-casefold-tests: Likewise.
29981         * modules/unicase/u32-is-cased-tests: Likewise.
29982         * modules/unicase/u32-is-casefolded-tests: Likewise.
29983         * modules/unicase/u32-is-lowercase-tests: Likewise.
29984         * modules/unicase/u32-is-titlecase-tests: Likewise.
29985         * modules/unicase/u32-is-uppercase-tests: Likewise.
29986         * modules/unicase/u32-tolower-tests: Likewise.
29987         * modules/unicase/u32-totitle-tests: Likewise.
29988         * modules/unicase/u32-toupper-tests: Likewise.
29989         * modules/unicase/ulc-casecmp-tests: Likewise.
29990         * modules/unicase/ulc-casecoll-tests: Likewise.
29991         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29992         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
29993         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
29994         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
29995         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
29996         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
29997         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
29998         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
29999         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30000         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30001         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30002         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30003         * modules/unictype/bidicategory-byname-tests: Likewise.
30004         * modules/unictype/bidicategory-name-tests: Likewise.
30005         * modules/unictype/bidicategory-of-tests: Likewise.
30006         * modules/unictype/bidicategory-test-tests: Likewise.
30007         * modules/unictype/block-list-tests: Likewise.
30008         * modules/unictype/block-of-tests: Likewise.
30009         * modules/unictype/block-test-tests: Likewise.
30010         * modules/unictype/category-C-tests: Likewise.
30011         * modules/unictype/category-Cc-tests: Likewise.
30012         * modules/unictype/category-Cf-tests: Likewise.
30013         * modules/unictype/category-Cn-tests: Likewise.
30014         * modules/unictype/category-Co-tests: Likewise.
30015         * modules/unictype/category-Cs-tests: Likewise.
30016         * modules/unictype/category-L-tests: Likewise.
30017         * modules/unictype/category-Ll-tests: Likewise.
30018         * modules/unictype/category-Lm-tests: Likewise.
30019         * modules/unictype/category-Lo-tests: Likewise.
30020         * modules/unictype/category-Lt-tests: Likewise.
30021         * modules/unictype/category-Lu-tests: Likewise.
30022         * modules/unictype/category-M-tests: Likewise.
30023         * modules/unictype/category-Mc-tests: Likewise.
30024         * modules/unictype/category-Me-tests: Likewise.
30025         * modules/unictype/category-Mn-tests: Likewise.
30026         * modules/unictype/category-N-tests: Likewise.
30027         * modules/unictype/category-Nd-tests: Likewise.
30028         * modules/unictype/category-Nl-tests: Likewise.
30029         * modules/unictype/category-No-tests: Likewise.
30030         * modules/unictype/category-P-tests: Likewise.
30031         * modules/unictype/category-Pc-tests: Likewise.
30032         * modules/unictype/category-Pd-tests: Likewise.
30033         * modules/unictype/category-Pe-tests: Likewise.
30034         * modules/unictype/category-Pf-tests: Likewise.
30035         * modules/unictype/category-Pi-tests: Likewise.
30036         * modules/unictype/category-Po-tests: Likewise.
30037         * modules/unictype/category-Ps-tests: Likewise.
30038         * modules/unictype/category-S-tests: Likewise.
30039         * modules/unictype/category-Sc-tests: Likewise.
30040         * modules/unictype/category-Sk-tests: Likewise.
30041         * modules/unictype/category-Sm-tests: Likewise.
30042         * modules/unictype/category-So-tests: Likewise.
30043         * modules/unictype/category-Z-tests: Likewise.
30044         * modules/unictype/category-Zl-tests: Likewise.
30045         * modules/unictype/category-Zp-tests: Likewise.
30046         * modules/unictype/category-Zs-tests: Likewise.
30047         * modules/unictype/category-and-not-tests: Likewise.
30048         * modules/unictype/category-and-tests: Likewise.
30049         * modules/unictype/category-byname-tests: Likewise.
30050         * modules/unictype/category-name-tests: Likewise.
30051         * modules/unictype/category-none-tests: Likewise.
30052         * modules/unictype/category-of-tests: Likewise.
30053         * modules/unictype/category-or-tests: Likewise.
30054         * modules/unictype/category-test-withtable-tests: Likewise.
30055         * modules/unictype/combining-class-tests: Likewise.
30056         * modules/unictype/ctype-alnum-tests: Likewise.
30057         * modules/unictype/ctype-alpha-tests: Likewise.
30058         * modules/unictype/ctype-blank-tests: Likewise.
30059         * modules/unictype/ctype-cntrl-tests: Likewise.
30060         * modules/unictype/ctype-digit-tests: Likewise.
30061         * modules/unictype/ctype-graph-tests: Likewise.
30062         * modules/unictype/ctype-lower-tests: Likewise.
30063         * modules/unictype/ctype-print-tests: Likewise.
30064         * modules/unictype/ctype-punct-tests: Likewise.
30065         * modules/unictype/ctype-space-tests: Likewise.
30066         * modules/unictype/ctype-upper-tests: Likewise.
30067         * modules/unictype/ctype-xdigit-tests: Likewise.
30068         * modules/unictype/decimal-digit-tests: Likewise.
30069         * modules/unictype/digit-tests: Likewise.
30070         * modules/unictype/mirror-tests: Likewise.
30071         * modules/unictype/numeric-tests: Likewise.
30072         * modules/unictype/property-alphabetic-tests: Likewise.
30073         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30074         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30075         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30076         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30077         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30078         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30079         * modules/unictype/property-bidi-control-tests: Likewise.
30080         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30081         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30082         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30083         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30084         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30085         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30086         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30087         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30088         * modules/unictype/property-bidi-pdf-tests: Likewise.
30089         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30090         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30091         * modules/unictype/property-byname-tests: Likewise.
30092         * modules/unictype/property-combining-tests: Likewise.
30093         * modules/unictype/property-composite-tests: Likewise.
30094         * modules/unictype/property-currency-symbol-tests: Likewise.
30095         * modules/unictype/property-dash-tests: Likewise.
30096         * modules/unictype/property-decimal-digit-tests: Likewise.
30097         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30098         * modules/unictype/property-deprecated-tests: Likewise.
30099         * modules/unictype/property-diacritic-tests: Likewise.
30100         * modules/unictype/property-extender-tests: Likewise.
30101         * modules/unictype/property-format-control-tests: Likewise.
30102         * modules/unictype/property-grapheme-base-tests: Likewise.
30103         * modules/unictype/property-grapheme-extend-tests: Likewise.
30104         * modules/unictype/property-grapheme-link-tests: Likewise.
30105         * modules/unictype/property-hex-digit-tests: Likewise.
30106         * modules/unictype/property-hyphen-tests: Likewise.
30107         * modules/unictype/property-id-continue-tests: Likewise.
30108         * modules/unictype/property-id-start-tests: Likewise.
30109         * modules/unictype/property-ideographic-tests: Likewise.
30110         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30111         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30112         * modules/unictype/property-ignorable-control-tests: Likewise.
30113         * modules/unictype/property-iso-control-tests: Likewise.
30114         * modules/unictype/property-join-control-tests: Likewise.
30115         * modules/unictype/property-left-of-pair-tests: Likewise.
30116         * modules/unictype/property-line-separator-tests: Likewise.
30117         * modules/unictype/property-logical-order-exception-tests: Likewise.
30118         * modules/unictype/property-lowercase-tests: Likewise.
30119         * modules/unictype/property-math-tests: Likewise.
30120         * modules/unictype/property-non-break-tests: Likewise.
30121         * modules/unictype/property-not-a-character-tests: Likewise.
30122         * modules/unictype/property-numeric-tests: Likewise.
30123         * modules/unictype/property-other-alphabetic-tests: Likewise.
30124         * modules/unictype/property-other-default-ignorable-code-point-tests:
30125         Likewise.
30126         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30127         * modules/unictype/property-other-id-continue-tests: Likewise.
30128         * modules/unictype/property-other-id-start-tests: Likewise.
30129         * modules/unictype/property-other-lowercase-tests: Likewise.
30130         * modules/unictype/property-other-math-tests: Likewise.
30131         * modules/unictype/property-other-uppercase-tests: Likewise.
30132         * modules/unictype/property-paired-punctuation-tests: Likewise.
30133         * modules/unictype/property-paragraph-separator-tests: Likewise.
30134         * modules/unictype/property-pattern-syntax-tests: Likewise.
30135         * modules/unictype/property-pattern-white-space-tests: Likewise.
30136         * modules/unictype/property-private-use-tests: Likewise.
30137         * modules/unictype/property-punctuation-tests: Likewise.
30138         * modules/unictype/property-quotation-mark-tests: Likewise.
30139         * modules/unictype/property-radical-tests: Likewise.
30140         * modules/unictype/property-sentence-terminal-tests: Likewise.
30141         * modules/unictype/property-soft-dotted-tests: Likewise.
30142         * modules/unictype/property-space-tests: Likewise.
30143         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30144         * modules/unictype/property-test-tests: Likewise.
30145         * modules/unictype/property-titlecase-tests: Likewise.
30146         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30147         * modules/unictype/property-unified-ideograph-tests: Likewise.
30148         * modules/unictype/property-uppercase-tests: Likewise.
30149         * modules/unictype/property-variation-selector-tests: Likewise.
30150         * modules/unictype/property-white-space-tests: Likewise.
30151         * modules/unictype/property-xid-continue-tests: Likewise.
30152         * modules/unictype/property-xid-start-tests: Likewise.
30153         * modules/unictype/property-zero-width-tests: Likewise.
30154         * modules/unictype/scripts-tests: Likewise.
30155         * modules/unictype/syntax-c-ident-tests: Likewise.
30156         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30157         * modules/unictype/syntax-java-ident-tests: Likewise.
30158         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30159         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30160         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30161         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30162         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30163         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30164         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30165         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30166         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30167         * modules/uniname/uniname-tests: Likewise.
30168         * modules/uninorm/canonical-decomposition-tests: Likewise.
30169         * modules/uninorm/compat-decomposition-tests: Likewise.
30170         * modules/uninorm/composition-tests: Likewise.
30171         * modules/uninorm/decomposing-form-tests: Likewise.
30172         * modules/uninorm/decomposition-tests: Likewise.
30173         * modules/uninorm/filter-tests: Likewise.
30174         * modules/uninorm/nfc-tests: Likewise.
30175         * modules/uninorm/nfd-tests: Likewise.
30176         * modules/uninorm/nfkc-tests: Likewise.
30177         * modules/uninorm/nfkd-tests: Likewise.
30178         * modules/uninorm/u8-normcmp-tests: Likewise.
30179         * modules/uninorm/u8-normcoll-tests: Likewise.
30180         * modules/uninorm/u16-normcmp-tests: Likewise.
30181         * modules/uninorm/u16-normcoll-tests: Likewise.
30182         * modules/uninorm/u32-normcmp-tests: Likewise.
30183         * modules/uninorm/u32-normcoll-tests: Likewise.
30184         * modules/unistdio/u8-asnprintf-tests: Likewise.
30185         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30186         * modules/unistdio/u8-vasprintf-tests: Likewise.
30187         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30188         * modules/unistdio/u8-vsprintf-tests: Likewise.
30189         * modules/unistdio/u16-asnprintf-tests: Likewise.
30190         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30191         * modules/unistdio/u16-vasprintf-tests: Likewise.
30192         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30193         * modules/unistdio/u16-vsprintf-tests: Likewise.
30194         * modules/unistdio/u32-asnprintf-tests: Likewise.
30195         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30196         * modules/unistdio/u32-vasprintf-tests: Likewise.
30197         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30198         * modules/unistdio/u32-vsprintf-tests: Likewise.
30199         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30200         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30201         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30202         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30203         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30204         * modules/unistr/u8-check-tests: Likewise.
30205         * modules/unistr/u8-chr-tests: Likewise.
30206         * modules/unistr/u8-cmp-tests: Likewise.
30207         * modules/unistr/u8-cmp2-tests: Likewise.
30208         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30209         * modules/unistr/u8-cpy-tests: Likewise.
30210         * modules/unistr/u8-mblen-tests: Likewise.
30211         * modules/unistr/u8-mbsnlen-tests: Likewise.
30212         * modules/unistr/u8-mbtouc-tests: Likewise.
30213         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30214         * modules/unistr/u8-mbtoucr-tests: Likewise.
30215         * modules/unistr/u8-move-tests: Likewise.
30216         * modules/unistr/u8-next-tests: Likewise.
30217         * modules/unistr/u8-prev-tests: Likewise.
30218         * modules/unistr/u8-set-tests: Likewise.
30219         * modules/unistr/u8-stpcpy-tests: Likewise.
30220         * modules/unistr/u8-stpncpy-tests: Likewise.
30221         * modules/unistr/u8-strcat-tests: Likewise.
30222         * modules/unistr/u8-strcmp-tests: Likewise.
30223         * modules/unistr/u8-strcoll-tests: Likewise.
30224         * modules/unistr/u8-strcpy-tests: Likewise.
30225         * modules/unistr/u8-strdup-tests: Likewise.
30226         * modules/unistr/u8-strlen-tests: Likewise.
30227         * modules/unistr/u8-strmblen-tests: Likewise.
30228         * modules/unistr/u8-strmbtouc-tests: Likewise.
30229         * modules/unistr/u8-strncat-tests: Likewise.
30230         * modules/unistr/u8-strncmp-tests: Likewise.
30231         * modules/unistr/u8-strncpy-tests: Likewise.
30232         * modules/unistr/u8-strnlen-tests: Likewise.
30233         * modules/unistr/u8-to-u16-tests: Likewise.
30234         * modules/unistr/u8-to-u32-tests: Likewise.
30235         * modules/unistr/u8-uctomb-tests: Likewise.
30236         * modules/unistr/u16-check-tests: Likewise.
30237         * modules/unistr/u16-chr-tests: Likewise.
30238         * modules/unistr/u16-cmp-tests: Likewise.
30239         * modules/unistr/u16-cmp2-tests: Likewise.
30240         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30241         * modules/unistr/u16-cpy-tests: Likewise.
30242         * modules/unistr/u16-mblen-tests: Likewise.
30243         * modules/unistr/u16-mbsnlen-tests: Likewise.
30244         * modules/unistr/u16-mbtouc-tests: Likewise.
30245         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30246         * modules/unistr/u16-mbtoucr-tests: Likewise.
30247         * modules/unistr/u16-move-tests: Likewise.
30248         * modules/unistr/u16-next-tests: Likewise.
30249         * modules/unistr/u16-prev-tests: Likewise.
30250         * modules/unistr/u16-set-tests: Likewise.
30251         * modules/unistr/u16-stpcpy-tests: Likewise.
30252         * modules/unistr/u16-stpncpy-tests: Likewise.
30253         * modules/unistr/u16-strcat-tests: Likewise.
30254         * modules/unistr/u16-strcmp-tests: Likewise.
30255         * modules/unistr/u16-strcoll-tests: Likewise.
30256         * modules/unistr/u16-strcpy-tests: Likewise.
30257         * modules/unistr/u16-strdup-tests: Likewise.
30258         * modules/unistr/u16-strlen-tests: Likewise.
30259         * modules/unistr/u16-strmblen-tests: Likewise.
30260         * modules/unistr/u16-strmbtouc-tests: Likewise.
30261         * modules/unistr/u16-strncat-tests: Likewise.
30262         * modules/unistr/u16-strncmp-tests: Likewise.
30263         * modules/unistr/u16-strncpy-tests: Likewise.
30264         * modules/unistr/u16-strnlen-tests: Likewise.
30265         * modules/unistr/u16-to-u32-tests: Likewise.
30266         * modules/unistr/u16-to-u8-tests: Likewise.
30267         * modules/unistr/u16-uctomb-tests: Likewise.
30268         * modules/unistr/u32-check-tests: Likewise.
30269         * modules/unistr/u32-chr-tests: Likewise.
30270         * modules/unistr/u32-cmp-tests: Likewise.
30271         * modules/unistr/u32-cmp2-tests: Likewise.
30272         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30273         * modules/unistr/u32-cpy-tests: Likewise.
30274         * modules/unistr/u32-mblen-tests: Likewise.
30275         * modules/unistr/u32-mbsnlen-tests: Likewise.
30276         * modules/unistr/u32-mbtouc-tests: Likewise.
30277         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30278         * modules/unistr/u32-mbtoucr-tests: Likewise.
30279         * modules/unistr/u32-move-tests: Likewise.
30280         * modules/unistr/u32-next-tests: Likewise.
30281         * modules/unistr/u32-prev-tests: Likewise.
30282         * modules/unistr/u32-set-tests: Likewise.
30283         * modules/unistr/u32-stpcpy-tests: Likewise.
30284         * modules/unistr/u32-stpncpy-tests: Likewise.
30285         * modules/unistr/u32-strcat-tests: Likewise.
30286         * modules/unistr/u32-strcmp-tests: Likewise.
30287         * modules/unistr/u32-strcoll-tests: Likewise.
30288         * modules/unistr/u32-strcpy-tests: Likewise.
30289         * modules/unistr/u32-strdup-tests: Likewise.
30290         * modules/unistr/u32-strlen-tests: Likewise.
30291         * modules/unistr/u32-strmblen-tests: Likewise.
30292         * modules/unistr/u32-strmbtouc-tests: Likewise.
30293         * modules/unistr/u32-strncat-tests: Likewise.
30294         * modules/unistr/u32-strncmp-tests: Likewise.
30295         * modules/unistr/u32-strncpy-tests: Likewise.
30296         * modules/unistr/u32-strnlen-tests: Likewise.
30297         * modules/unistr/u32-to-u16-tests: Likewise.
30298         * modules/unistr/u32-to-u8-tests: Likewise.
30299         * modules/unistr/u32-uctomb-tests: Likewise.
30300         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30301         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30302         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30303         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30304         * modules/uniwidth/u8-strwidth-tests: Likewise.
30305         * modules/uniwidth/u8-width-tests: Likewise.
30306         * modules/uniwidth/u16-strwidth-tests: Likewise.
30307         * modules/uniwidth/u16-width-tests: Likewise.
30308         * modules/uniwidth/u32-strwidth-tests: Likewise.
30309         * modules/uniwidth/u32-width-tests: Likewise.
30310         * modules/uniwidth/width-tests: Likewise.
30311
30312 2010-05-18  Richard Jones  <rjones@redhat.com>
30313
30314         doc: users.txt: list hivex
30315         * users.txt: Add hivex.
30316
30317 2010-05-18  Richard Jones  <rjones@redhat.com>
30318
30319         doc: users.txt: list febootstrap
30320         * users.txt: Add febootstrap.
30321
30322 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30323
30324         bootstrap: fix an error when gnulib is not used as a git submodule
30325         * build-aux/bootstrap (gnulib_path): If its length is zero then
30326         assign "gnulib" to it.
30327         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30328
30329 2010-05-16  Bruno Haible  <bruno@clisp.org>
30330
30331         Avoid autoconf warnings about AM_ICONV.
30332         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30333         2.64.
30334
30335 2010-05-16  Bruno Haible  <bruno@clisp.org>
30336
30337         absolute-header: Make the macro usable in more situations.
30338         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30339         from gl_ABSOLUTE_HEADER.
30340         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30341
30342 2010-05-16  James Youngman  <jay@gnu.org>
30343
30344         doc: update users.txt
30345         * users.txt: Add CSSC.
30346
30347 2010-05-16  Jim Meyering  <meyering@redhat.com>
30348
30349         init.sh: fix an error in the previous change; add more comments
30350         * tests/init.sh: Compare exit code in loop against 9, not 2.
30351         Patch by Bruno Haible.
30352         Make the two tests more similar by adding an empty "then" clause.
30353         Add comments.
30354
30355         init.sh: avoid unnecessary shell re-exec
30356         * tests/init.sh: Improve the re-exec-required check to first test the
30357         current shell.  If it passes the test, do not search for a shell that
30358         does pass, and do not re-exec.  This test is particularly contorted to
30359         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30360         of $(...) evokes a syntax error and causes immediate shell exit with
30361         status 2.  Bruno Haible reported that the re-exec made it impossible
30362         to single-step through any init.sh-using script.
30363
30364 2010-05-16  Bruno Haible  <bruno@clisp.org>
30365
30366         Fix collision between gnulib's and libintl's printf replacements.
30367         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30368         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30369         (printf): When using GNU C, map the __printf__ function to rpl_printf
30370         via __asm__. When not using GNU C, define rpl_printf instead of
30371         __printf__.
30372         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30373         commit.
30374         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30375         commit.
30376         * m4/asm-underscore.m4: New file.
30377         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30378         * modules/stdio (Files): Add m4/asm-underscore.m4.
30379         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30380         Reported by Ben Pfaff.
30381
30382 2010-05-16  Bruno Haible  <bruno@clisp.org>
30383
30384         verify: Avoid skipping the test on openSUSE 11.0.
30385         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30386
30387 2010-05-13  Bruno Haible  <bruno@clisp.org>
30388
30389         Avoid useless warnings from G++.
30390         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30391         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30392         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30393
30394 2010-05-11  Jim Meyering  <meyering@redhat.com>
30395
30396         maint.mk: tweak preceding change
30397         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30398         regexps tighter by anchoring at EOL, and make the new group "shy"
30399         for slightly decreased overhead.
30400
30401 2010-05-11  Eric Blake  <eblake@redhat.com>
30402
30403         maint.mk: gnulib doesn't guarantee NSIG
30404         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30405
30406 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30407
30408         test-pwrite.c: Remove unused variable declaration.
30409         * tests/test-pwrite.c (main): Remove read_buf declaration.
30410
30411         Remove useless test-pwrite.sh file.
30412         * tests/test-pwrite.sh: Delete file.
30413         * modules/pwrite-tests: Remove references.
30414         Reported by Bruno Haible.
30415
30416 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30417
30418         init.sh: fix a typo
30419         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30420
30421 2010-05-10  Jim Meyering  <meyering@redhat.com>
30422
30423         maint.mk: avoid using a temporary file in the always-defined-macros check
30424         * top/maint.mk (.re-defmac): Remove rule.
30425         (gl_trap_): Remove definition.
30426         (sc_prohibit_always-defined_macros): Rewrite not to create and
30427         depend on a temporary file.  Instead, depend on GNU grep's ability
30428         to read a list of regular expressions from stdin when given "-f -".
30429
30430 2010-05-09  Bruno Haible  <bruno@clisp.org>
30431
30432         Update to GNU gettext 0.18, part 1.
30433         * m4/gettext.m4: Update to GNU gettext 0.18.
30434         * m4/intl.m4: Likewise.
30435         * m4/po.m4: Likewise.
30436         * modules/gettext (Files): Add m4/fcntl-o.m4.
30437         (configure.ac): Require gettext infrastructure from version 0.18.
30438
30439 2010-05-09  Jim Meyering  <meyering@redhat.com>
30440
30441         init.sh: enable MALLOC_PERTURB_
30442         * tests/init.sh: Enable glibc's malloc-perturbing option.
30443
30444         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30445         With my recent change in init.sh from the two-line form:
30446             -#   : ${srcdir=.}
30447             -#   . "$srcdir/init.sh"; path_prepend_ .
30448             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30449         I noticed that using the one-line form would cause this test
30450         to fail with a false-positive, or to stop working altogether,
30451         depending on whether help-version changed or all the tests did.
30452         * top/maint.mk (_hv_regex): Remove this definition.
30453         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30454         (_hv_regex_strong): Use a stronger regex to check for conformance.
30455         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30456         Give a separate diagnostic for lack of conforming use.
30457
30458         maint.mk: prohibit definition of symbols defined by gnulib
30459         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30460         definition of symbols defined by gnulib.
30461
30462 2010-05-09  Bruno Haible  <bruno@clisp.org>
30463
30464         acl: Avoid test failure on Cygwin-hosted mingw.
30465         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30466
30467 2010-05-09  Bruno Haible  <bruno@clisp.org>
30468
30469         error: Use system's fcntl function.
30470         * lib/error.c (fcntl): Undefine.
30471
30472 2010-05-09  Jim Meyering  <meyering@redhat.com>
30473
30474         verify: adjust formatting to be more consistent
30475         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30476         argument-list '('s, and after one comma.
30477
30478 2010-05-09  Bruno Haible  <bruno@clisp.org>
30479
30480         error: More reliable output on mingw.
30481         * lib/error.c: Include <windows.h>.
30482         (is_open): New function.
30483         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30484         defined.
30485
30486 2010-05-09  Bruno Haible  <bruno@clisp.org>
30487
30488         vasnprintf: Fix syntax errors in libintl build on mingw.
30489         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30490         pad_ourselves and prec_ourselves after use.
30491
30492 2010-05-08  Bruno Haible  <bruno@clisp.org>
30493
30494         * lib/config.charset: Update comments for Cygwin 1.7.
30495         * lib/localcharset.c: Likewise.
30496
30497 2010-05-07  Jim Meyering  <meyering@redhat.com>
30498
30499         init.sh: improve comments
30500         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30501         . "${srcdir=.}/init.sh"; path_prepend_ .
30502         Add a note about path_prepend_ and the alternative of using
30503         TESTS_ENVIRONMENT.
30504
30505 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30506
30507         exclude: Unescape hashed patterns in wildcard mode.
30508         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30509         to the hash list.
30510         * tests/test-exclude8.sh: New test case.
30511         * modules/exclude-tests: Add new test.
30512
30513 2010-05-05  Eric Blake  <eblake@redhat.com>
30514
30515         verify: automate tests
30516         * modules/verify-tests: New module.
30517         * tests/test-verify.sh: New file.
30518         * tests/test-verify.c: Guard each negative test with a unique id.
30519         Also avoid warning about unused left hand of comma expressions.
30520
30521 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30522
30523         Further improvements to verify.h, suggested by Eric Blake.
30524         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30525         the GL_* versions, to avoid collision with OpenGL.
30526         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30527         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30528         than testing merely whether it's defined.
30529
30530         Modify verify.h to pacify gcc -Wredundant_decls.
30531         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30532         These use the prefix "GL_" since they're likely to be useful elsewhere.
30533         We may need to break them out into a different .h file.
30534         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30535         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30536         of verify_function__.
30537
30538 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30539
30540         Tests for module pwrite.
30541         * modules/pwrite-tests: New file.
30542         * tests/test-pwrite.sh: New file.
30543         * tests/test-pwrite.c: New file.
30544
30545         New module pwrite.
30546         * lib/unistd.in.h (pwrite): New declaration.
30547         * lib/pwrite.c: New file, from glibc with modifications.
30548         * m4/pwrite.m4: New file.
30549         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30550         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30551         REPLACE_PWRITE.
30552         * modules/pwrite: New file.
30553         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30554         REPLACE_PWRITE.
30555         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30556         * doc/posix-functions/pwrite.texi: Mention the new module.
30557
30558 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30559
30560         pread: Update documentation.
30561         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30562
30563 2010-05-04  Eric Blake  <eblake@redhat.com>
30564
30565         docs: update cygwin progress
30566         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30567         this bug.
30568         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30569         Added in cygwin 1.7.2.
30570         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30571         Likewise.
30572         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30573         Likewise.
30574         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30575         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30576         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30577         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30578         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30579         Mention nproc module.
30580         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30581         bug in cygwin 1.7.5 addition.
30582         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30583         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30584         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30585         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30586         1.7.5.
30587         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30588         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30589         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30590         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30591         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30592         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30593         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30594         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30595         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30596         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30597         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30598         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30599         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30600         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30601         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30602         Likewise.
30603         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30604         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30605         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30606         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30607         Likewise.
30608         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30609         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30610         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30611         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30612         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30613         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30614         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30615         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30616         Likewise.
30617         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30618         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30619         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30620         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30621         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30622         Likewise.
30623         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30624         Likewise.
30625         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30626         Likewise.
30627         * doc/glibc-functions/xdrrec_endofrecord.texi
30628         (xdrrec_endofrecord): Likewise.
30629         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30630         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30631         Likewise.
30632         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30633         Likewise.
30634
30635 2010-05-04  Jim Meyering  <meyering@redhat.com>
30636
30637         gendocs.sh: make its "-s FILE" option more useful
30638         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30639         $PACKAGE to reflect the probably-different basename of "FILE".
30640
30641 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30642
30643         bootstrap: don't ignore download_po_files failure
30644         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30645         failure.
30646
30647 2010-05-03  Jim Meyering  <meyering@redhat.com>
30648
30649         maint.mk: allow to pass options to gendocs.sh
30650         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30651         (gendocs_options_): New overridable variable.
30652
30653         gnu-web-doc-update: don't ignore configure or build failure
30654         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30655
30656         announce-gen: backslash-escape '@'s in --help output
30657         * build-aux/announce-gen: Fix syntax errors.
30658
30659         maint.mk, announce-gen: allow project-specific announcement mail headers
30660         * top/maint.mk (translation_project_): Define default.
30661         (announcement_Cc_, announcement_mail_headers_): Likewise.
30662         (announcement): Invoke announce-gen with new --mail-headers option.
30663         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
30664
30665         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
30666         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
30667         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
30668         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
30669         line in the "err2" output file when running "make check" in verbose
30670         mode (i.e., with set -x enabled).
30671
30672 2010-05-03  Bruno Haible  <bruno@clisp.org>
30673
30674         wctob: Fix for weird platforms.
30675         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
30676         argument value.
30677
30678 2010-05-03  Jim Meyering  <meyering@redhat.com>
30679
30680         maint.mk: prohibit unwarranted use of <strings.h>
30681         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
30682         strings.h in a file that does not also use strcasecmp, strncasecmp,
30683         ffs or ffsll.
30684
30685         maint.mk: remove obsolete comments
30686         * top/maint.mk: Remove stale, commented-out rules.
30687
30688 2010-05-02  Bruno Haible  <bruno@clisp.org>
30689
30690         wcwidth: Declare also when it's aliased.
30691         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30692         macro.
30693
30694 2010-05-02  Bruno Haible  <bruno@clisp.org>
30695
30696         Fix regression from 2010-04-25.
30697         * gnulib-tool (func_modules_transitive_closure): Check the status of
30698         all modules, not only of the tests that are of the form foo-tests where
30699         foo is a module.
30700
30701 2010-05-02  Bruno Haible  <bruno@clisp.org>
30702
30703         wctob: Work around nasty Cygwin 1.7.2 bug.
30704         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30705         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30706
30707 2010-05-01  Bruno Haible  <bruno@clisp.org>
30708
30709         fpurge: Sharper test.
30710         * tests/test-fpurge.c (main): Add one more ftell check.
30711         * modules/fpurge-tests (Depends-on): Add ftell.
30712         Suggested by Eric Blake.
30713
30714 2010-05-01  Bruno Haible  <bruno@clisp.org>
30715
30716         ftello: Another test.
30717         * tests/test-ftello3.c: New file.
30718         * modules/ftello-tests (Files): Add it.
30719         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30720         MOSTLYCLEANFILES.
30721
30722         ftell: Another test.
30723         * tests/test-ftell3.c: New file.
30724         * modules/ftell-tests (Files): Add it.
30725         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30726         MOSTLYCLEANFILES.
30727
30728 2010-05-01  Bruno Haible  <bruno@clisp.org>
30729
30730         ftell, ftello: Work around Solaris bug.
30731         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30732         * lib/ftello.c: Include stdio-impl.h.
30733         (ftello): On Solaris, when _IOWRT is set, compute the result without
30734         looking at _IOREAD.
30735         * modules/ftello (Files): Add lib/stdio-impl.h.
30736         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30737         * doc/posix-functions/ftello.texi: Likewise.
30738         Reported by Eric Blake.
30739
30740 2010-05-01  Bruno Haible  <bruno@clisp.org>
30741
30742         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30743         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30744         the _IOWRT flag is also set.
30745
30746 2010-05-01  Bruno Haible  <bruno@clisp.org>
30747
30748         Fix doc about a HP-UX stdio bug.
30749         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30750         * doc/posix-functions/ftello.texi: Likewise.
30751
30752 2010-05-01  Bruno Haible  <bruno@clisp.org>
30753
30754         lseek test: Fix failure on Solaris.
30755         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30756         output.
30757
30758 2010-04-30  Jim Meyering  <meyering@redhat.com>
30759
30760         bootstrap: don't ignore failure to generate po*/Makevars
30761         * build-aux/bootstrap (with_gettext): Don't ignore failure
30762         to create po/Makevars or runtime-po/Makevars.
30763
30764 2010-04-29  Eric Blake  <eblake@redhat.com>
30765
30766         headers: relax license to LGPLv2+
30767         * modules/fcntl-h (License): Relax license.
30768         * modules/getopt-posix (License): Likewise.
30769         * modules/locale (License): Likewise.
30770         * modules/math (License): Likewise.
30771         * modules/pty (License): Likewise.
30772         * modules/sched (License): Likewise.
30773         * modules/search (License): Likewise.
30774         * modules/spawn (License): Likewise.
30775         * modules/stdarg (License): Likewise.
30776         * modules/sysexits (License): Likewise.
30777
30778 2010-04-29  Jim Meyering  <meyering@redhat.com>
30779
30780         inttypes: relax license to LGPLv2+
30781         * modules/inttypes (License): Relax license.
30782
30783 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30784
30785         * top/maint.mk (indent): Run twice to produce idempotent results.
30786
30787 2010-04-28  Bruno Haible  <bruno@clisp.org>
30788
30789         getdate: Generate getdate.c in the source directory.
30790         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30791         MOSTLYCLEANFILES.
30792         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30793
30794 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30795
30796         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30797         is not declared as a const *; avoid warnings in that case.
30798
30799 2010-04-28  Eric Blake  <eblake@redhat.com>
30800
30801         canonicalize-lgpl: avoid compiler warning
30802         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30803         declaration' / 'extraneous semicolon' warning with some compilers.
30804         Reported by Andreas Gruenbacher.
30805
30806 2010-04-28  Jim Meyering  <meyering@redhat.com>
30807
30808         init.sh: ensure a more reliable exit status when exiting via trap
30809         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30810         Inspired by patches from Dmitry V. Levin.
30811         Also trap on signal 3 (SIGQUIT).
30812
30813 2010-04-27  Bruno Haible  <bruno@clisp.org>
30814
30815         Update doc about utimes().
30816         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30817         'utimens' module.
30818         Reported by Andreas Gruenbacher <agruen@suse.de>.
30819
30820 2010-04-27  Eric Blake  <eblake@redhat.com>
30821
30822         full-read, full-write: relax license
30823         * modules/full-read (License): Drop to LGPLv2+.
30824         * modules/full-write (License): Likewise.
30825         * modules/safe-read (License): Likewise.
30826         * modules/safe-write (License): Likewise.
30827
30828         pthread: mention library for linking
30829         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30830
30831 2010-04-27  Jim Meyering  <meyering@redhat.com>
30832
30833         maint.mk: fix a bug introduced in last change
30834         * top/maint.mk (gl_assured_headers_): Now that all names are on
30835         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30836         is not anchored to end of word, it should be adequate.
30837
30838         maint.mk: avoid side-effect in latest syntax-check
30839         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30840         to run commands via $(shell...), and hence to incur cost only when
30841         the new rule is actually run.
30842
30843         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30844         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30845         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30846         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30847         (gl_assured_headers_, az_, AZ_): Define.
30848         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30849
30850 2010-04-26  Jim Meyering  <jim@meyering.net>
30851             Bruno Haible  <bruno@clisp.org>
30852
30853         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30854         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30855         Prompted by an exchange with Gilles Espinasse.
30856
30857 2010-04-26  Jim Meyering  <meyering@redhat.com>
30858
30859         git-version-gen: aesthetic tweak
30860         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30861         so that the command remains on a single line.
30862
30863 2010-04-26  Eric Blake  <eblake@redhat.com>
30864
30865         git-version-gen: allow use on EBCDIC hosts
30866         * build-aux/git-version-gen (dirty): Use literal rather than tying
30867         ourselves to ascii.
30868         Reported by Steve Goetze.
30869
30870 2010-04-25  Bruno Haible  <bruno@clisp.org>
30871
30872         netdb: Add support for GNULIB_POSIXCHECK.
30873         * lib/netdb.in.h: Include warn-on-use.h.
30874         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30875         functions are used when GNULIB_POSIXCHECK is defined and the
30876         getaddrinfo module is not in use.
30877         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30878         freeaddrinfo, gai_strerror, getnameinfo are declared.
30879         * modules/netdb (Depends-on): Add warn-on-use.
30880         (Makefile.am): Include warn-on-use.h in netdb.h.
30881
30882 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30883
30884         build: avoid "make check" failure without .git/ directory
30885         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30886         there is no .git/ directory.
30887
30888 2010-04-25  Bruno Haible  <bruno@clisp.org>
30889
30890         ptsname: Fix misuse of ttyname_r.
30891         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30892         of errno.
30893
30894 2010-04-25  Bruno Haible  <bruno@clisp.org>
30895
30896         ttyname_r: Make it work on Solaris 10.
30897         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30898         if the system function has the POSIX declaration. Test whether the
30899         function fails if the buffer is less than 128 bytes large.
30900         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30901         system's ttyname_r function. Provide a reasonably large buffer.
30902         * modules/ttyname_r (Depends-on): Add extensions.
30903         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30904
30905 2010-04-25  Bruno Haible  <bruno@clisp.org>
30906
30907         Use the 'extensions' module for some more functions on Solaris.
30908         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30909         module.
30910         * doc/posix-functions/ctime_r.texi: Likewise.
30911         * doc/posix-functions/getgrgid_r.texi: Likewise.
30912         * doc/posix-functions/getgrnam_r.texi: Likewise.
30913         * doc/posix-functions/getpwnam_r.texi: Likewise.
30914         * doc/posix-functions/getpwuid_r.texi: Likewise.
30915         * doc/posix-functions/readdir_r.texi: Likewise.
30916         * doc/posix-functions/sigwait.texi: Likewise.
30917         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30918         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30919
30920 2010-04-25  Bruno Haible  <bruno@clisp.org>
30921
30922         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30923         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30924         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30925         * lib/ttyname_r.c: Include <limits.h>.
30926         (ttyname_r): Define using the system's ttyname_r function, if it exists
30927         and not on Solaris.
30928         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30929         set.
30930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30931         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30932         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30933         Reported by Simon Josefsson.
30934
30935 2010-04-25  Bruno Haible  <bruno@clisp.org>
30936
30937         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30938         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30939         * doc/posix-functions/ctime_r.texi: Likewise.
30940         * doc/posix-functions/getgrgid_r.texi: Likewise.
30941         * doc/posix-functions/getgrnam_r.texi: Likewise.
30942         * doc/posix-functions/getlogin_r.texi: Likewise.
30943         * doc/posix-functions/getpwnam_r.texi: Likewise.
30944         * doc/posix-functions/getpwuid_r.texi: Likewise.
30945         * doc/posix-functions/readdir_r.texi: Likewise.
30946         * doc/posix-functions/sigwait.texi: Likewise.
30947         * doc/posix-functions/ttyname_r.texi: Likewise.
30948         Reported by Simon Josefsson.
30949
30950 2010-04-25  Bruno Haible  <bruno@clisp.org>
30951
30952         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30953         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30954         also to --create-testdir.
30955         (func_acceptable): Don't consider the status of *-tests modules here.
30956         (func_modules_transitive_closure): Consider it here, before including a
30957         test module.
30958         (func_import, func_create_testdir): Set inc_all_direct_tests,
30959         inc_all_indirect_tests.
30960         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30961         --create-testdir and --create-megatestdir.
30962
30963 2010-04-25  Bruno Haible  <bruno@clisp.org>
30964
30965         gnulib-tool: Add --without-*-tests options.
30966         * gnulib-tool (func_usage): Document the --without-*-tests options.
30967         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30968         excl_unportable_tests): New variables.
30969         Fail if they are specified with --import or --update.
30970         (func_acceptable): Respect the excl_*_tests variables.
30971         (func_import): Set the excl_*_tests variables to empty.
30972
30973 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30974             Bruno Haible  <bruno@clisp.org>
30975
30976         Work around a MacOS X 10.4 bug with openpty.
30977         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30978         * tests/test-openpty.c (main): Close the master side explicitly.
30979
30980 2010-04-25  Bruno Haible  <bruno@clisp.org>
30981
30982         strnlen: Fix a C++ test error on MacOS X and Solaris.
30983         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30984         the function is not declared.
30985         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30986         Simon Josefsson.
30987
30988 2010-04-24  Bruno Haible  <bruno@clisp.org>
30989
30990         Avoid a gcc warning.
30991         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30992         of correct type for %08lx directive.
30993         Reported by Eric Blake.
30994
30995 2010-04-24  Bruno Haible  <bruno@clisp.org>
30996
30997         vasnprintf: Correct errno value in case of out-of-memory.
30998         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
30999         or sprintf. Use the errno value from SNPRINTF or sprintf.
31000         Reported by Ian Beckwith <ianb@erislabs.net>.
31001
31002 2010-04-24  Bruno Haible  <bruno@clisp.org>
31003
31004         ansi-c++-opt: Find correct compiler when cross-compiling.
31005         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31006         AC_CHECK_PROGS.
31007         Reported by Simon Josefsson.
31008
31009 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31010
31011         vc-list-files: Add support for subversion
31012         * build-aux/vc-list-files: Use "svn list" to generate the list of
31013         files controlled by subversion.
31014
31015 2010-04-23  Jim Meyering  <meyering@redhat.com>
31016
31017         vc-list-files tests: convert to use init.sh
31018         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31019         path_prepend_.
31020         Use Exit, not exit.
31021         Use skip_ rather than open coding it.
31022         Remove trap set-up and compare definitions.
31023         * tests/test-vc-list-files-git.sh: Likewise.
31024         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31025
31026 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31027
31028         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31029         backup files.
31030
31031 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31032
31033         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31034
31035 2010-04-20  Eric Blake  <eblake@redhat.com>
31036
31037         tests: be robust to ignored SIGPIPE
31038         * tests/test-select-in.sh: Consume all output.
31039         * tests/test-lseek.sh: Check correct exit status, while avoiding
31040         EPIPE.
31041
31042 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31043             Bruno Haible  <bruno@clisp.org>
31044
31045         visibility: Don't use -fvisibility if it leads to a warning.
31046         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31047         yes, don't pretend that visibility works if it leads to a warning.
31048         Reported by Mike Gran <spk121@yahoo.com>.
31049
31050 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31051
31052         * build-aux/bootstrap: Use "git -h" for testing for supported options
31053         instead of "git --help".  The short-form option only shows a summary,
31054         and doesn't layout the full man page.  Grep for the full option name
31055         in the summary, too.
31056
31057 2010-04-19  Bruno Haible  <bruno@clisp.org>
31058
31059         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31060         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31061         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31062         mention of RELOCATABLE_STRIP.
31063         Reported by Sylvain Beucler <beuc@beuc.net>.
31064
31065 2010-04-19  Bruno Haible  <bruno@clisp.org>
31066
31067         * lib/diffseq.h: Fix typo in comment.
31068         Reported by Eric Blake.
31069
31070 2010-04-19  Bruno Haible  <bruno@clisp.org>
31071
31072         ioctl: Move autoconf macro to a .m4 file.
31073         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31074         * modules/ioctl (Files): Add it.
31075         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31076         Reported by Ian Beckwith <ianb@erislabs.net>.
31077
31078 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31079             Bruno Haible  <bruno@clisp.org>
31080
31081         diffseq: Accommodate use-case with abstract arrays.
31082         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31083         is not defined.
31084         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31085         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31086
31087 2010-04-18  Bruno Haible  <bruno@clisp.org>
31088
31089         * doc/posix-headers/stdbool.texi: More precise wording.
31090
31091 2010-04-17  Jim Meyering  <meyering@redhat.com>
31092
31093         maint.mk: use gnu-style indentation in an embedded perl script
31094         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31095         Rename variable: s/two/last_two_bytes/
31096
31097 2010-04-16  Eric Blake  <eblake@redhat.com>
31098
31099         test-stdbool: skip test that fails with Solaris CC
31100         * tests/test-stdbool.c (f): Skip test that causes compilation
31101         error under buggy C++ compiler.
31102         * lib/stdbool.in.h: Document the limitation.
31103         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31104
31105         setenv: allow compilation with C++
31106         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31107         register keyword.
31108
31109         stdint: allow test to pass with C++
31110         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31111
31112         getopt: allow compilation with C++
31113         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31114         struct.
31115         * lib/getopt.c (_getopt_internal_r): Use correct type.
31116         Reported by Dagobert Michelson, via Joel E. Denny.
31117
31118 2010-04-16  Bruno Haible  <bruno@clisp.org>
31119
31120         Override netdb.h always.
31121         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31122         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31123         Reported by Ludovic Courtès <ludo@gnu.org>.
31124
31125 2010-04-15  Bruno Haible  <bruno@clisp.org>
31126
31127         openpty: Fix mistake from 2010-03-21.
31128         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31129         Reported by Simon Josefsson.
31130
31131 2010-04-15  Eric Blake  <eblake@redhat.com>
31132
31133         test-forkpty: fix expected signature
31134         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31135         Reported by Simon Josefsson.
31136
31137 2010-04-15  Jim Meyering  <meyering@redhat.com>
31138
31139         maint.mk: texinfo_suffix_re_: correct the default regexp
31140         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31141
31142         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31143         make it configurable via texinfo_suffix_re_.
31144
31145 2010-04-14  Eric Blake  <eblake@redhat.com>
31146
31147         strtok_r: relax license to LGPLv2+
31148         * modules/strtok_r (License): Relax license.
31149         Reported by Matthias Bolte.
31150
31151 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31152
31153         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31154         version 1.4.4 by default instead of requiring the libgcrypt
31155         version used during build.  This makes it possible to use the
31156         application with older but still binary compatible libgcrypt
31157         versions.
31158
31159 2010-04-13  Eric Blake  <eblake@redhat.com>
31160
31161         getopt-gnu: match recent glibc fixes and posix ruling
31162         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31163         '+' handling, when requesting extensions.
31164         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31165         'W;' handling.
31166         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31167         * doc/posix-functions/getopt.texi (getopt): Document this.
31168         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31169         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31170         Likewise.
31171
31172         getopt: merge bug fixes from glibc
31173         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31174         diagnostics.  Honor '+:' correctly.  Reject ';'.
31175
31176         getopt-posix: detect MacOS bug
31177         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31178         optind when missing a required argument.
31179         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31180         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31181         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31182         Likewise.
31183
31184         getopt-posix: avoid spurious failure on Solaris
31185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31186         an indicator that setting optind=1 is sufficient for reset.
31187
31188         getopt-posix: avoid spurious failure on FreeBSD
31189         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31190         in POSIX mode, since the m4 test uses it.
31191
31192         gnulib-tool: silence warning on BSD sh
31193         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31194
31195 2010-04-13  Jim Meyering  <meyering@redhat.com>
31196
31197         doc: users.txt: GNU patch now uses gnulib
31198         * users.txt: Add patch.
31199
31200 2010-04-12  Jim Meyering  <meyering@redhat.com>
31201
31202         maint.mk: generate more concise timing data for syntax-check rules
31203         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31204         " done" from each line that reports a syntax-check test duration.
31205
31206 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31207
31208         git-version-gen: use "git update-index..." rather than "git status"
31209         * build-aux/git-version-gen: Use git update-index --refresh, not
31210         "git status".  With some versions of git, "git status" would fail
31211         to update the index and result in an unwarranted "-dirty" suffix.
31212
31213 2010-04-11  Jim Meyering  <meyering@redhat.com>
31214
31215         openat: correct formatting (no semantic change)
31216         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31217         Suggested by Bruno Haible.
31218
31219 2010-04-11  Bruno Haible  <bruno@clisp.org>
31220
31221         Stricter declaration checking in testdirs.
31222         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31223         If for_tests is true, augment AM_CPPFLAGS to define
31224         GNULIB_STRICT_CHECKING.
31225         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31226         GNULIB_STRICT_CHECKING is defined, verify that the function is
31227         declared.
31228
31229 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31230             Bruno Haible  <bruno@clisp.org>
31231
31232         libunistring: Improve configure output.
31233         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31234         Don't say "consider installing GNU libunistring" when checking again
31235         with libiconv.
31236
31237 2010-04-11  Bruno Haible  <bruno@clisp.org>
31238
31239         libunistring: Correct value of $LTLIBUNISTRING.
31240         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31241         correct the value of $LTLIBUNISTRING.
31242
31243 2010-04-11  Bruno Haible  <bruno@clisp.org>
31244
31245         havelib: Add static libraries to LIBS in the right order.
31246         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31247         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31248
31249 2010-04-11  Bruno Haible  <bruno@clisp.org>
31250
31251         libunistring: Detect libunistring also when it depends on libiconv.
31252         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31253         the second AC_LIB_HAVE_LINKFLAGS invocation.
31254
31255 2010-04-11  James Youngman  <jay@gnu.org>
31256
31257         close-stream: declare local scalars to be "const"
31258         * lib/close-stream.c (close_stream): Make boolean variables const
31259         to document the fact that we set but do not change them.
31260
31261 2010-04-11  Bruno Haible  <bruno@clisp.org>
31262
31263         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31264
31265 2010-04-11  Jim Meyering  <meyering@redhat.com>
31266
31267         maint.mk: don't include dist-check.mk
31268         * top/maint.mk: Remove bogus include directive.
31269
31270         maint.mk: improve empty-line-at-EOF check
31271         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31272         solution, rather than tail+Perl-based one.  The latter would read
31273         a few kilobytes from the end of each file, and did not handle empty
31274         files properly.
31275
31276         maint.mk: print the elapsed time for each syntax-check rule
31277         * top/maint.mk (sc_m_rules_): Save start time in a file.
31278         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31279         (local-check): Interpose the .z rules
31280
31281 2010-04-11  Jim Meyering  <meyering@redhat.com>
31282
31283         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31284         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31285         empty file with one that ends in an empty line.
31286
31287 2010-04-10  Bruno Haible  <bruno@clisp.org>
31288
31289         mkdir: Make it work on mingw64.
31290         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31291         * lib/mkdir.c: Update comment.
31292         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31293
31294 2010-04-10  Bruno Haible  <bruno@clisp.org>
31295
31296         Don't override improved macro from newer autoconf.
31297         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31298         autoconf >= 2.62.
31299         Reported by Joel E. Denny <jdenny@clemson.edu>.
31300
31301 2010-04-10  Jim Meyering  <meyering@redhat.com>
31302
31303         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31304         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31305
31306         maint.mk: correct a diagnostic
31307         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31308         in diagnostic; now use $prohibit.
31309
31310 2010-04-10  Bruno Haible  <address@hidden>
31311
31312         fchownat: Fix a C++ test error on Solaris 8.
31313         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31314         the function does not exist.
31315
31316 2010-04-10  Bruno Haible  <bruno@clisp.org>
31317
31318         vasnprintf: Add more tests.
31319         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31320         (test_function): Test converting an invalid wide string.
31321
31322         vasnprintf: Correct handling of unconvertible wide string arguments.
31323         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31324         VASNPRINTF.
31325         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31326         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31327         smaller than the expected maximum need for the directive. Set errno to
31328         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31329         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31331         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31332         * modules/vasnprintf (Files): Add m4/printf.m4.
31333         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31334
31335 2010-04-10  Bruno Haible  <bruno@clisp.org>
31336
31337         vasnprintf: Fix crash in %ls directive.
31338         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31339         string is passed as argument to %ls, with no precision and no width.
31340         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31341
31342 2010-04-10  Bruno Haible  <bruno@clisp.org>
31343
31344         vasnprintf: Fix multiple test failures on mingw.
31345         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31346         _snprintf, or snwprintf, not _snwprintf.
31347
31348 2010-04-10  Bruno Haible  <bruno@clisp.org>
31349
31350         write: Fix a C++ test error on mingw.
31351         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31352
31353 2010-04-10  Bruno Haible  <bruno@clisp.org>
31354
31355         vasnprintf test: Reduce code duplication.
31356         * tests/test-vasnprintf.c (test_function): New function, extracted from
31357         test_vasnprintf.
31358         (test_vasnprintf, test_asnprintf): Invoke it.
31359
31360 2010-04-10  Bruno Haible  <bruno@clisp.org>
31361
31362         strnlen: Fix warning in C++ mode on MacOS X.
31363         * lib/string.in.h (strnlen): Use the modern idiom.
31364         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31365         defining strnlen as a macro already in <config.h>.
31366         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31367         REPLACE_STRNLEN.
31368         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31369         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31370
31371 2010-04-08  James Youngman  <jay@gnu.org>
31372
31373         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31374         the example.
31375
31376 2010-04-09  Jim Meyering  <meyering@redhat.com>
31377
31378         maint.mk: print better diagnostic when there is no $(_hv_file)
31379         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31380         announce that when $(_hv_file) (aka help-version) does not exist.
31381
31382         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31383         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31384         not try to interpret its random input bytes.  Jarno Rajahalme reported
31385         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31386         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31387         (mktempd_): Likewise, just in case.
31388
31389         ftruncate: add two years to projected module removal date: 2012
31390         * m4/ftruncate.m4: Adjust comments.
31391
31392         ftruncate: mark module as obsolete; even MinGW provides it, now
31393         * modules/ftruncate (Status): Obsolete.
31394         (Notice): Say that.
31395         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31396         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31397
31398 2010-04-08  Bruno Haible  <bruno@clisp.org>
31399
31400         Fix side effects from tests-related modules.
31401         * modules/dprintf-posix (Comment): New section.
31402         * modules/fprintf-posix (Comment): Likewise.
31403         * modules/obstack-printf-posix (Comment): Likewise.
31404         * modules/printf-posix (Comment): Likewise.
31405         * modules/snprintf-posix (Comment): Likewise.
31406         * modules/sprintf-posix (Comment): Likewise.
31407         * modules/vasnprintf-posix (Comment): Likewise.
31408         * modules/vasprintf-posix (Comment): Likewise.
31409         * modules/vdprintf-posix (Comment): Likewise.
31410         * modules/vfprintf-posix (Comment): Likewise.
31411         * modules/vprintf-posix (Comment): Likewise.
31412         * modules/vsnprintf-posix (Comment): Likewise.
31413         * modules/vsprintf-posix (Comment): Likewise.
31414         * modules/xprintf-posix (Comment): Likewise.
31415         * modules/xvasprintf-posix (Comment): Likewise.
31416         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31417         * modules/floorf-tests (Depends-on): Likewise.
31418         * modules/round-tests (Depends-on): Likewise.
31419         * modules/roundf-tests (Depends-on): Likewise.
31420         * modules/trunc-tests (Depends-on): Likewise.
31421         * modules/truncf-tests (Depends-on): Likewise.
31422         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31423         'fprintf-posix' module is not present.
31424         * tests/test-floorf2.c (check): Likewise.
31425         * tests/test-trunc2.c (check): Likewise.
31426         * tests/test-truncf2.c (check): Likewise.
31427         * tests/test-round2.c (equal): Likewise.
31428         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31429
31430 2010-04-07  Karl Berry  <karl@gnu.org>
31431
31432         * config/srclist.txt,
31433         * config/srclistvars.sh,
31434         * config/srclist-update: doc fixes.
31435
31436 2010-04-07  Jim Meyering  <meyering@redhat.com>
31437
31438         maint.mk: add a PATH crosschecking syntax-check rule
31439         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31440         Useful if you use a test like the one in help-version (coreutils,
31441         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31442         printed by prog --version.
31443
31444 2010-04-06  Bruno Haible  <bruno@clisp.org>
31445
31446         Fix link error on mingw.
31447         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31448         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31449
31450 2010-04-06  Bruno Haible  <bruno@clisp.org>
31451
31452         Assume rmdir exists.
31453         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31454
31455 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31456
31457         doc: update users.txt
31458         * users.txt: Add gcal.
31459
31460 2010-04-06  Jim Meyering  <meyering@redhat.com>
31461
31462         init.sh: simply unset TMPDIR rather than risking env -i
31463         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31464         although it probably works fine on all Unix-based systems, some
31465         systems (Cygwin?) cannot tolerate a totally cleared environment.
31466         Suggestion from Eric Blake.
31467
31468 2010-04-06  Jim Meyering  <meyering@redhat.com>
31469
31470         init.sh: portability fix: use env's POSIX-specified -i option not -u
31471         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31472         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31473
31474 2010-04-05  Bruno Haible  <bruno@clisp.org>
31475
31476         btowc: Work around Cygwin 1.7.2 bug.
31477         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31478         does not map NUL to 0.
31479         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31480
31481 2010-04-05  Bruno Haible  <bruno@clisp.org>
31482
31483         Make the multithread modules work on Cygwin 1.7.2.
31484         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31485         imported symbols can be declared weak, so that it returns "no" on
31486         Cygwin 1.7.2.
31487
31488 2010-04-05  Bruno Haible  <bruno@clisp.org>
31489
31490         Use the module 'strncat'.
31491         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31492
31493         Tests for module 'strncat'.
31494         * modules/strncat-tests: New file.
31495         * tests/test-strncat.c: New file.
31496
31497         New module 'strncat'.
31498         * lib/string.in.h (strncat): New declaration.
31499         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31500         * m4/strncat.m4: New file, based on m4/memchr.m4.
31501         * modules/strncat: New file.
31502         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31503         is declared.
31504         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31505         REPLACE_STRNCAT.
31506         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31507         REPLACE_STRNCAT.
31508         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31509         module.
31510         * tests/test-string-c++.cc: Check signature of strncat.
31511
31512 2010-04-05  Jim Meyering  <meyering@redhat.com>
31513
31514         xstrtoumax-tests: convert to use init.sh
31515         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31516         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31517         Use Exit, not exit.
31518         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31519
31520         xstrtoimax-tests: convert to use init.sh
31521         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31522         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31523         Use Exit, not exit.
31524         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31525
31526 2010-04-05  Bruno Haible  <bruno@clisp.org>
31527
31528         sys_socket: Avoid #define replacements in C++ mode.
31529         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31530         warning to the function if possible, rather than #defining the symbol
31531         to a dysfunctional alias.
31532
31533 2010-04-05  Bruno Haible  <bruno@clisp.org>
31534
31535         fseeko: Fix C++ test error on mingw.
31536         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31537         gl_FUNC_FSEEKO.
31538         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31539         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31540         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31541         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31542
31543 2010-04-05  Bruno Haible  <bruno@clisp.org>
31544
31545         duplocale: Improve test output.
31546         * tests/test-duplocale.c (main): Print reason for skipped test.
31547
31548 2010-04-05  Bruno Haible  <bruno@clisp.org>
31549
31550         Assume rmdir exists.
31551         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31552         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31553
31554 2010-04-05  Bruno Haible  <bruno@clisp.org>
31555
31556         Fix link error on Solaris 8 with cc.
31557         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31558
31559 2010-04-05  Bruno Haible  <bruno@clisp.org>
31560
31561         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31562         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31563
31564 2010-04-05  Bruno Haible  <bruno@clisp.org>
31565
31566         vasprintf: Update documentation.
31567         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31568
31569 2010-04-05  Bruno Haible  <bruno@clisp.org>
31570
31571         ptsname: Improve test.
31572         * tests/test-ptsname.c (main): Also try the various master names of BSD
31573         systems.
31574
31575 2010-04-05  Bruno Haible  <bruno@clisp.org>
31576
31577         memchr: Avoid a possible C++ test error.
31578         * lib/string.in.h (memchr): Provide declaration if function is missing.
31579         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31580         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31581         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31582         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31583
31584 2010-04-05  Bruno Haible  <bruno@clisp.org>
31585
31586         strtok_r: Improve idiom.
31587         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31588         AC_LIBOBJ is used.
31589
31590 2010-04-05  Bruno Haible  <bruno@clisp.org>
31591
31592         strdup: Improve idiom.
31593         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31594         AC_LIBOBJ is used.
31595         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31596         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31597         when AC_LIBOBJ is used.
31598
31599 2010-04-05  Bruno Haible  <bruno@clisp.org>
31600
31601         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31602         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31603         don't set REPLACE_MBSINIT to 1.
31604         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31605         don't set REPLACE_MBRTOWC to 1.
31606         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31607         exist, don't set REPLACE_MBSRTOWCS to 1.
31608         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31609         exist, don't set REPLACE_MBSNRTOWCS to 1.
31610         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31611         don't set REPLACE_WCRTOMB to 1.
31612         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31613         exist, don't set REPLACE_WCSRTOMBS to 1.
31614         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31615         exist, don't set REPLACE_WCSNRTOMBS to 1.
31616
31617 2010-04-05  Bruno Haible  <bruno@clisp.org>
31618
31619         ldexpl: Improve idiom.
31620         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31621         make sure to set HAVE_DECL_LDEXPL to 0.
31622
31623 2010-04-05  Jim Meyering  <meyering@redhat.com>
31624
31625         xstrtol-tests: convert to use init.sh
31626         * modules/xstrtol-tests (Files): Add tests/init.sh.
31627         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31628         Use Exit, not exit.
31629         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31630
31631         atexit-tests: convert to use init.sh
31632         * modules/atexit-tests (Files): Add tests/init.sh.
31633         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31634         Use Exit, not exit.
31635         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31636
31637         init.sh: fix typo
31638         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31639
31640         init.sh: make it easier for a test script to write to the tty, ...
31641         when using automake's parallel-tests mode.
31642         * tests/init.sh (stderr_fileno_): Define overridable variable.
31643         (warn_): New function, to use it.
31644         (fail_, skip_, framework_failure_): Use warn_.
31645
31646 2010-04-04  Bruno Haible  <bruno@clisp.org>
31647
31648         btowc: Avoid warning.
31649         * lib/btowc.c: Include <stdlib.h>.
31650         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31651
31652 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31653             Bruno Haible  <bruno@clisp.org>
31654
31655         wchar: Port to NetBSD 1.5.
31656         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31657         * lib/wctype.in.h (WEOF): Likewise.
31658
31659 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31660             Bruno Haible  <bruno@clisp.org>
31661
31662         Port extended stdio to NetBSD 1.5.
31663         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
31664         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
31665         older.
31666
31667 2010-04-04  Bruno Haible  <bruno@clisp.org>
31668
31669         string: Remove unused substitution.
31670         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31671         HAVE_DECL_STRERROR.
31672         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
31673
31674 2010-04-04  Bruno Haible  <bruno@clisp.org>
31675
31676         strtod: Avoid a possible C++ test error.
31677         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
31678         set REPLACE_STRTOD.
31679
31680 2010-04-04  Bruno Haible  <bruno@clisp.org>
31681
31682         strerror: Update documentation.
31683         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
31684
31685 2010-04-04  Bruno Haible  <bruno@clisp.org>
31686
31687         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31688         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31689         _GL_CXXALIAS_SYS_CAST.
31690
31691 2010-04-04  Bruno Haible  <bruno@clisp.org>
31692
31693         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31694         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31695         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31696         REPLACE_FREXPL to 1.
31697         * doc/posix-functions/frexpl.texi: Update documentation.
31698
31699 2010-04-04  Bruno Haible  <bruno@clisp.org>
31700
31701         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31702         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31703
31704 2010-04-04  Bruno Haible  <bruno@clisp.org>
31705
31706         Implement nanosleep for native Windows.
31707         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31708
31709 2010-04-04  Bruno Haible  <bruno@clisp.org>
31710
31711         math: Fix some C++ test errors on Solaris 8.
31712         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31713
31714 2010-04-04  Bruno Haible  <bruno@clisp.org>
31715
31716         math: Fix some C++ test errors on Cygwin.
31717         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31718         truncl): Provide declaration if the system does not have it.
31719         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31720         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31721         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31722         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31723         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31724         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31725         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31726         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31727         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31728         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31729         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31730         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31731         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31732         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31733         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31734         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31736         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31737         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31738         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31739         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31740         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31741
31742 2010-04-04  Bruno Haible  <bruno@clisp.org>
31743
31744         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31745         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31746         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31747         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31748         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31749         * m4/isinf.m4 (gl_ISINF): Likewise.
31750         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31751
31752 2010-04-04  Bruno Haible  <bruno@clisp.org>
31753
31754         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31755         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31756
31757 2010-04-04  Bruno Haible  <bruno@clisp.org>
31758
31759         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31760         * modules/tmpfile (configure.ac): Update.
31761
31762         tmpfile: Fix C++ test error on mingw.
31763         * lib/stdio.in.h (tmpfile): New declaration.
31764         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31765         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31766         * modules/tmpfile (Depends-on): Add stdio.
31767         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31768         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31769         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31770         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31771         REPLACE_TMPFILE.
31772         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31773
31774 2010-04-04  Bruno Haible  <bruno@clisp.org>
31775
31776         ioctl: Fix C++ test error on mingw.
31777         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31778         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31779         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31780
31781 2010-04-03  Bruno Haible  <bruno@clisp.org>
31782
31783         wcwidth: Fix C++ test error on mingw.
31784         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31785         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31786         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31787
31788 2010-04-03  Bruno Haible  <bruno@clisp.org>
31789
31790         nanosleep: Fix C++ test error on mingw.
31791         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31792         * lib/time.in.h (nanosleep): Use modern idiom.
31793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31794         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31795         REPLACE_NANOSLEEP to 1.
31796         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31797         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31798
31799 2010-04-03  Bruno Haible  <bruno@clisp.org>
31800
31801         strptime: Fix C++ test error on mingw.
31802         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31803         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31804         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31805         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31806         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31807         not REPLACE_STRPTIME.
31808         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31809         REPLACE_STRPTIME.
31810
31811 2010-04-03  Bruno Haible  <bruno@clisp.org>
31812
31813         timegm: Fix C++ test error on mingw.
31814         * lib/time.in.h (timegm): Use modern idiom.
31815         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31816         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31817         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31818         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31819
31820 2010-04-03  Bruno Haible  <bruno@clisp.org>
31821
31822         timegm: Assume declaration if function exists.
31823         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31824         if it exists. Don't clobber ac_cv_func_timegm.
31825
31826 2010-04-03  Bruno Haible  <bruno@clisp.org>
31827
31828         time_r: Fix C++ test error on mingw.
31829         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31830         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31831         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31832         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31833         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31834
31835 2010-04-03  Bruno Haible  <bruno@clisp.org>
31836
31837         time_r: Minor updates.
31838         * modules/time_r (Description): Mention the provided functions.
31839         * lib/time_r.c: Don't include <string.h>.
31840         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31841         * doc/posix-functions/localtime_r.texi: Likewise.
31842
31843 2010-04-03  Bruno Haible  <bruno@clisp.org>
31844
31845         time: Fix regression introduced on 2010-03-08.
31846         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31847         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31848
31849 2010-04-03  Jim Meyering  <meyering@redhat.com>
31850
31851         maint.mk: don't silently disable project-specific syntax-check rules
31852         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31853         that they need to convert their project-specific syntax-check rules
31854         to use the new _sc_search_regexp.
31855
31856 2010-04-03  Bruno Haible  <bruno@clisp.org>
31857
31858         fchdir: Fix regression introduced on 2010-03-08.
31859         * lib/unistd.in.h (fchdir): Fix declaration.
31860         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31862         REPLACE_FCHDIR.
31863         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31864         REPLACE_FCHDIR.
31865
31866 2010-04-03  Bruno Haible  <bruno@clisp.org>
31867
31868         getpagesize: Fix C++ test error on mingw.
31869         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31870         system does not declare the function.
31871         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31872         declared.
31873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31874         HAVE_DECL_GETPAGESIZE.
31875         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31876
31877 2010-04-03  Bruno Haible  <bruno@clisp.org>
31878
31879         stdio: Make C++ tests work on mingw.
31880         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31881         does not declare the function.
31882
31883 2010-04-03  Bruno Haible  <bruno@clisp.org>
31884
31885         ftello: Fix C++ test error on mingw.
31886         * lib/stdio.in.h (ftello): Use modern idiom.
31887         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31888         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31889         is missing and that it needs to be replaced.
31890         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31891         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31892         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31893
31894 2010-04-03  Bruno Haible  <bruno@clisp.org>
31895
31896         fseeko: Fix C++ test error on mingw.
31897         * lib/stdio.in.h (fseeko): Use modern idiom.
31898         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31899         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31900         is missing and that it needs to be replaced.
31901         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31903         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31904
31905 2010-04-03  Bruno Haible  <bruno@clisp.org>
31906
31907         mkstemp: Fix C++ test error on mingw.
31908         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31909         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31910         function is missing and that it needs to be replaced.
31911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31912         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31913
31914 2010-04-03  Bruno Haible  <bruno@clisp.org>
31915
31916         stpncpy: Fix C++ test error on mingw.
31917         * lib/string.in.h (stpncpy): Use modern idiom.
31918         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31919         function is missing and that it needs to be replaced.
31920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31921         REPLACE_STPNCPY.
31922         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31923
31924 2010-04-03  Bruno Haible  <bruno@clisp.org>
31925
31926         sys_stat: Fix C++ test error on mingw.
31927         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31928         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31929
31930 2010-04-03  Bruno Haible  <bruno@clisp.org>
31931
31932         pty: Update doc.
31933         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31934
31935 2010-04-03  Bruno Haible  <bruno@clisp.org>
31936
31937         unistd: Fix C++ test error on mingw.
31938         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31939
31940 2010-04-03  Bruno Haible  <bruno@clisp.org>
31941
31942         Update doc regarding mingw.
31943         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31944         * doc/glibc-functions/login_tty.texi: Likewise.
31945         * doc/glibc-functions/forkpty.texi: Likewise.
31946
31947 2010-04-03  Bruno Haible  <bruno@clisp.org>
31948
31949         stdlib: Avoid compilation failure of c-strtold on mingw.
31950         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31951
31952 2010-04-03  Bruno Haible  <bruno@clisp.org>
31953
31954         locale: Make C++ tests work on Cygwin and mingw.
31955         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31956         cannot provide the function.
31957         Reported by Simon Josefsson.
31958
31959 2010-04-03  Bruno Haible  <bruno@clisp.org>
31960
31961         localename: Port to MacOS X 10.6.
31962         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31963         memory layout of the locales in MacOS X 10.6 as well.
31964         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31965
31966 2010-04-02  Bruno Haible  <bruno@clisp.org>
31967
31968         gnulib-tool: Ensure that long-running tests are executed last.
31969         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31970         running tests after the one for the other tests.
31971
31972 2010-04-02  Bruno Haible  <bruno@clisp.org>
31973
31974         gnulib-tool: Ensure the tests in the main directory are executed first.
31975         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31976         start with the current directory.
31977
31978 2010-04-02  Bruno Haible  <bruno@clisp.org>
31979
31980         Tests for module 'havelib', moved here from GNU gettext.
31981         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31982         modifications.
31983         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31984         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31985         with modifications.
31986         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31987         modifications.
31988         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31989         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31990         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31991         with modifications.
31992         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
31993         with modifications.
31994         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
31995         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
31996         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
31997         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
31998         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
31999         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32000         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32001         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32002         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32003         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32004         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32005         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32006         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32007         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32008         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32009         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32010         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32011         with modifications.
32012         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32013         with modifications.
32014         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32015         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32016         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32017         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32018         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32019         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32020         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32021         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32022         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32023         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32024         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32025         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32026         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32027         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32028         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32029         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32030         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32031         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32032         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32033         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32034         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32035         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32036         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32037         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32038         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32039         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32040         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32041         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32042         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32043         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32044         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32045         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32046         * tests/havelib/rpathx/rpathx.c: New file, from
32047         gettext/autoconf-lib-link.
32048         * tests/havelib/rpathx/Makefile.am: New file, from
32049         gettext/autoconf-lib-link.
32050         * tests/havelib/rpathx/configure.ac: New file, from
32051         gettext/autoconf-lib-link with modifications.
32052         * tests/havelib/rpathy/rpathy.c: New file, from
32053         gettext/autoconf-lib-link.
32054         * tests/havelib/rpathy/Makefile.am: New file, from
32055         gettext/autoconf-lib-link.
32056         * tests/havelib/rpathy/configure.ac: New file, from
32057         gettext/autoconf-lib-link with modifications.
32058         * tests/havelib/rpathz/rpathz.c: New file, from
32059         gettext/autoconf-lib-link.
32060         * tests/havelib/rpathz/Makefile.am: New file, from
32061         gettext/autoconf-lib-link.
32062         * tests/havelib/rpathz/configure.ac: New file, from
32063         gettext/autoconf-lib-link with modifications.
32064         * tests/havelib/rpathlx/usex.c: New file, from
32065         gettext/autoconf-lib-link.
32066         * tests/havelib/rpathlx/Makefile.am: New file, from
32067         gettext/autoconf-lib-link.
32068         * tests/havelib/rpathlx/configure.ac: New file, from
32069         gettext/autoconf-lib-link with modifications.
32070         * tests/havelib/rpathly/usey.c: New file, from
32071         gettext/autoconf-lib-link.
32072         * tests/havelib/rpathly/Makefile.am: New file, from
32073         gettext/autoconf-lib-link.
32074         * tests/havelib/rpathly/configure.ac: New file, from
32075         gettext/autoconf-lib-link with modifications.
32076         * tests/havelib/rpathlz/usez.c: New file, from
32077         gettext/autoconf-lib-link.
32078         * tests/havelib/rpathlz/Makefile.am: New file, from
32079         gettext/autoconf-lib-link.
32080         * tests/havelib/rpathlz/configure.ac: New file, from
32081         gettext/autoconf-lib-link with modifications.
32082         * tests/havelib/rpathlyx/usey.c: New file, from
32083         gettext/autoconf-lib-link.
32084         * tests/havelib/rpathlyx/Makefile.am: New file, from
32085         gettext/autoconf-lib-link.
32086         * tests/havelib/rpathlyx/configure.ac: New file, from
32087         gettext/autoconf-lib-link with modifications.
32088         * tests/havelib/rpathlzyx/usez.c: New file, from
32089         gettext/autoconf-lib-link.
32090         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32091         gettext/autoconf-lib-link.
32092         * tests/havelib/rpathlzyx/configure.ac: New file, from
32093         gettext/autoconf-lib-link with modifications.
32094         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32095         with modifications.
32096
32097 2010-04-02  Bruno Haible  <bruno@clisp.org>
32098
32099         gnulib-tool: Create distributed built sources also for the tests.
32100         * gnulib-tool (func_create_testdir): Also generate distributed built
32101         sources in the tests directory.
32102
32103 2010-04-02  Bruno Haible  <bruno@clisp.org>
32104
32105         gnulib-tool: Obey user's environment variables.
32106         * gnulib-tool (func_create_testdir): When creating built sources,
32107         respect the environment variables for autoconf, automake, etc. given by
32108         the user.
32109
32110 2010-04-02  Bruno Haible  <bruno@clisp.org>
32111
32112         gnulib-tool: Provide the value of --m4-base to modules.
32113         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32114         of gl_m4_base.
32115
32116 2010-04-02  Eric Blake  <eblake@redhat.com>
32117
32118         maint.mk: fix some fallout
32119         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32120         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32121
32122 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32123
32124         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32125         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32126         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32127         (sc_cast_of_x_alloc_return_value): Likewise.
32128         (sc_cast_of_alloca_return_value): Likewise.
32129         (sc_space_tab): Likewise.
32130         (sc_prohibit_atoi_atof): Likewise.
32131         (sc_prohibit_magic_number_exit): Likewise.
32132         (sc_error_exit_success): Likewise.
32133         (sc_file_system): Likewise.
32134         (sc_prohibit_have_config_h): Likewise.
32135         (sc_require_config_h): Likewise.
32136         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32137         (sc_obsolete_symbols): Likewise.
32138         (sc_changelog): Likewise.
32139         (sc_program_name): Likewise.
32140         (sc_the_the): Likewise.
32141         (sc_trailing_blank): Likewise.
32142         (sc_two_space_separator_in_usage): Likewise.
32143         (sc_useless_cpp_parens): Likewise.
32144         (sc_GPL_version): Likewise.
32145         (sc_GFDL_version): Likewise.
32146         (sc_texinfo_acronym): Likewise.
32147         (sc_prohibit_cvs_keyword): Likewise.
32148         (sc_prohibit_stat_st_blocks): Likewise.
32149         (sc_prohibit_S_IS_definition): Likewise.
32150         (sc_redundant_const): Likewise.
32151         (sc_makefile_TAB_only_indentation): Likewise.
32152         (sc_m4_quote_check): Likewise.
32153         (sc_makefile_path_separator_check): Likewise.
32154         (sc_copyright_check): Likewise.
32155         (sc_Wundef_boolean): Likewise.
32156         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32157
32158         maint.mk: match 0 or more whitespace-before-function-call '('
32159         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32160         that have zero or two-and-more spaces between the function name
32161         and the open parenthesis.
32162         (sc_error_message_warn_fatal): Likewise.
32163         (sc_error_message_uppercase): Likewise.
32164         (sc_error_message_period): Likewise.
32165
32166 2010-03-31  Eric Blake  <eblake@redhat.com>
32167
32168         maint.mk: check for [ as well as test
32169         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32170         Based on a libvirt report by Matthias Bolte.
32171
32172         gnumakefile: don't squelch _version output
32173         * top/GNUmakefile (_version): Create one-shot dependency rather
32174         than using $(shell) when version must be regenerated.
32175         (_autoreconf): Run verbosely, by default.
32176
32177         sys_time: avoid compiler warnings
32178         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32179         unconditional, fixing regression from 2010-03-29.
32180         Reported by Simon Josefsson.
32181
32182 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32183
32184         maint.mk: s/_header_without_use/_sc_header_without_use/
32185         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32186         (sc_prohibit_assert_without_use): Use the new name.
32187         (sc_prohibit_close_stream_without_use): Likewise.
32188         (sc_prohibit_getopt_without_use): Likewise.
32189         (sc_prohibit_quotearg_without_use): Likewise.
32190         (sc_prohibit_quote_without_use): Likewise.
32191         (sc_prohibit_long_options_without_use): Likewise.
32192         (sc_prohibit_inttostr_without_use): Likewise.
32193         (sc_prohibit_ignore_value_without_use): Likewise.
32194         (sc_prohibit_error_without_use): Likewise.
32195         (sc_prohibit_xalloc_without_use): Likewise.
32196         (sc_prohibit_hash_without_use): Likewise.
32197         (sc_prohibit_hash_pjw_without_use): Likewise.
32198         (sc_prohibit_safe_read_without_use): Likewise.
32199         (sc_prohibit_argmatch_without_use): Likewise.
32200         (sc_prohibit_canonicalize_without_use): Likewise.
32201         (sc_prohibit_root_dev_ino_without_use): Likewise.
32202         (sc_prohibit_openat_without_use): Likewise.
32203         (sc_prohibit_c_ctype_without_use): Likewise.
32204         (sc_prohibit_signal_without_use): Likewise.
32205         (sc_prohibit_intprops_without_use): Likewise.
32206
32207 2010-03-30  Eric Blake  <eblake@redhat.com>
32208
32209         maint: improve module indicators
32210         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32211         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32212         columns, and avoid extra macro expansion.
32213
32214         fdopendir: work around FreeBSD bug
32215         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32216         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32217         * modules/dirent (Makefile.am): Substitute it.
32218         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32219         declaration.
32220         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32221         fix.
32222         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32223
32224 2010-03-29  Bruno Haible  <bruno@clisp.org>
32225
32226         Emit #pragma system_header after the inclusion guard, not before.
32227         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32228         guard that spans the entire file, not before. This enables an
32229         optimization in GCC's preprocessor.
32230         * lib/ctype.in.h: Likewise.
32231         * lib/dirent.in.h: Likewise.
32232         * lib/errno.in.h: Likewise.
32233         * lib/float.in.h: Likewise.
32234         * lib/getopt.in.h: Likewise.
32235         * lib/iconv.in.h: Likewise.
32236         * lib/langinfo.in.h: Likewise.
32237         * lib/locale.in.h: Likewise.
32238         * lib/math.in.h: Likewise.
32239         * lib/netdb.in.h: Likewise.
32240         * lib/netinet_in.in.h: Likewise.
32241         * lib/pty.in.h: Likewise.
32242         * lib/sched.in.h: Likewise.
32243         * lib/se-selinux.in.h: Likewise.
32244         * lib/search.in.h: Likewise.
32245         * lib/spawn.in.h: Likewise.
32246         * lib/stdarg.in.h: Likewise.
32247         * lib/stdint.in.h: Likewise.
32248         * lib/string.in.h: Likewise.
32249         * lib/strings.in.h: Likewise.
32250         * lib/sys_file.in.h: Likewise.
32251         * lib/sys_ioctl.in.h: Likewise.
32252         * lib/sys_time.in.h: Likewise.
32253         * lib/sys_times.in.h: Likewise.
32254         * lib/sys_utsname.in.h: Likewise.
32255         * lib/sys_wait.in.h: Likewise.
32256         * lib/sysexits.in.h: Likewise.
32257         * lib/wctype.in.h: Likewise.
32258
32259 2010-03-28  James Youngman  <jay@gnu.org>
32260
32261         save-cwd: don't leak a file descriptor when the caller execs.
32262         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32263         saved file descriptor.
32264         * modules/save-cwd (Depends-on): Depend on cloexec.
32265
32266 2010-03-29  Bruno Haible  <bruno@clisp.org>
32267
32268         Remove vestiges of fts-lgpl module.
32269         * lib/fts_.h: Assume GNULIB_FTS is 1.
32270         * lib/fts.c: Likewise.
32271         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32272
32273 2010-03-28  Bruno Haible  <bruno@clisp.org>
32274
32275         Fix definition of tests witness macro.
32276         * gnulib-tool (func_import): Fix definition of witness macro.
32277
32278 2010-03-28  Bruno Haible  <bruno@clisp.org>
32279
32280         Fix ioctl's protoype on glibc systems.
32281         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32282         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32283         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32284         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32285         signature. If not, arrange to replace the ioctl function.
32286         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32287         REPLACE_IOCTL.
32288         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32289         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32290         Reported by Ludovic Courtès <ludo@gnu.org>.
32291
32292 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32293
32294         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32295         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32296         made it so grep -r --include=GLOB* ... did not work.
32297
32298 2010-03-26  Jim Meyering  <meyering@redhat.com>
32299             Eric Blake  <eblake@redhat.com>
32300
32301         maint.mk: prohibit use of test's -o and -a operators
32302         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32303
32304 2010-03-28  Bruno Haible  <bruno@clisp.org>
32305
32306         Remove unused GNULIB_XYZ macro definitions.
32307         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32308         invocation.
32309
32310 2010-03-28  Bruno Haible  <bruno@clisp.org>
32311
32312         Mark privileged tests modules.
32313         * modules/idpriv-drop-tests (Status): New section.
32314         * modules/idpriv-droptemp-tests (Status): New section.
32315
32316 2010-03-28  Bruno Haible  <bruno@clisp.org>
32317
32318         Split C++ tests into separate tests modules.
32319         * modules/dirent-c++-tests: New file, extracted from
32320         modules/dirent-tests.
32321         * modules/dirent-tests: Depend on it.
32322         * modules/fcntl-h-c++-tests: New file, extracted from
32323         modules/fcntl-h-tests.
32324         * modules/fcntl-h-tests: Depend on it.
32325         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32326         * modules/glob-tests: Depend on it.
32327         * modules/iconv-h-c++-tests: New file, extracted from
32328         modules/iconv-h-tests.
32329         * modules/iconv-h-tests: Depend on it.
32330         * modules/langinfo-c++-tests: New file, extracted from
32331         modules/langinfo-tests.
32332         * modules/langinfo-tests: Depend on it.
32333         * modules/locale-c++-tests: New file, extracted from
32334         modules/locale-tests.
32335         * modules/locale-tests: Depend on it.
32336         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32337         * modules/math-tests: Depend on it.
32338         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32339         * modules/pty-tests: Depend on it.
32340         * modules/search-c++-tests: New file, extracted from
32341         modules/search-tests.
32342         * modules/search-tests: Depend on it.
32343         * modules/signal-c++-tests: New file, extracted from
32344         modules/signal-tests.
32345         * modules/signal-tests: Depend on it.
32346         * modules/spawn-c++-tests: New file, extracted from
32347         modules/spawn-tests.
32348         * modules/spawn-tests: Depend on it.
32349         * modules/stdio-c++-tests: New file, extracted from
32350         modules/stdio-tests.
32351         * modules/stdio-tests: Depend on it.
32352         * modules/stdlib-c++-tests: New file, extracted from
32353         modules/stdlib-tests.
32354         * modules/stdlib-tests: Depend on it.
32355         * modules/string-c++-tests: New file, extracted from
32356         modules/string-tests.
32357         * modules/string-tests: Depend on it.
32358         * modules/sys_ioctl-c++-tests: New file, extracted from
32359         modules/sys_ioctl-tests.
32360         * modules/sys_ioctl-tests: Depend on it.
32361         * modules/sys_select-c++-tests: New file, extracted from
32362         modules/sys_select-tests.
32363         * modules/sys_select-tests: Depend on it.
32364         * modules/sys_socket-c++-tests: New file, extracted from
32365         modules/sys_socket-tests.
32366         * modules/sys_socket-tests: Depend on it.
32367         * modules/sys_stat-c++-tests: New file, extracted from
32368         modules/sys_stat-tests.
32369         * modules/sys_stat-tests: Depend on it.
32370         * modules/sys_time-c++-tests: New file, extracted from
32371         modules/sys_time-tests.
32372         * modules/sys_time-tests: Depend on it.
32373         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32374         * modules/time-tests: Depend on it.
32375         * modules/unistd-c++-tests: New file, extracted from
32376         modules/unistd-tests.
32377         * modules/unistd-tests: Depend on it.
32378         * modules/wchar-c++-tests: New file, extracted from
32379         modules/wchar-tests.
32380         * modules/wchar-tests: Depend on it.
32381         * modules/wctype-c++-tests: New file, extracted from
32382         modules/wctype-tests.
32383         * modules/wctype-tests: Depend on it.
32384         Reported by Simon Josefsson.
32385
32386 2010-03-28  Bruno Haible  <bruno@clisp.org>
32387
32388         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32389         * gnulib-tool (func_exists_module): New function, extracted from
32390         func_verify_module.
32391         (func_verify_module): Use it.
32392         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32393         'foo' only if 'foo' exists.
32394         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32395         module.
32396
32397 2010-03-28  Bruno Haible  <bruno@clisp.org>
32398
32399         gnulib-tool: Add support for special categories of tests.
32400         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32401         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32402         (func_usage): Document them.
32403         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32404         inc_unportable_tests, inc_all_tests): New variables.
32405         (func_acceptable): Consider these variables.
32406         (func_modules_transitive_closure): Make it work when the 'Status' field
32407         consists of multiple words.
32408         (func_import): Store and restore the values of inc_cxx_tests,
32409         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32410         inc_all_tests in gnulib-comp.m4.
32411         (func_create_testdir): Set inc_all_tests to true.
32412         * doc/gnulib.texi (Extra tests modules): New section.
32413         Suggested by Jim Meyering.
32414
32415 2010-03-28  Bruno Haible  <bruno@clisp.org>
32416
32417         ansi-c++-opt: Allow turning off the C++ build by default.
32418         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32419         gl_CXX_CHOICE_DEFAULT_NO is defined.
32420         Requested by Eric Blake.
32421
32422 2010-03-28  Bruno Haible  <bruno@clisp.org>
32423
32424         unistd: Avoid #define replacements in C++ mode.
32425         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32426         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32427         setsockopt, shutdown, select): In C++, attach a warning to the function
32428         if possible, rather than #defining the symbol to a dysfunctional alias.
32429         Reported by John W. Eaton <jwe@gnu.org>.
32430
32431 2010-03-28  Bruno Haible  <bruno@clisp.org>
32432
32433         Fix link errors on mingw.
32434         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32435         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32436         $(LIBSOCKET).
32437         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32438         $(LIBSOCKET).
32439
32440 2010-03-28  Bruno Haible  <bruno@clisp.org>
32441             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32442
32443         lib-ignore: Determine different options for different compilers.
32444         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32445         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32446         Add comments.
32447         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32448         * NEWS: Mention the change.
32449
32450 2010-03-27  Bruno Haible  <bruno@clisp.org>
32451
32452         Remove unused GNULIB_XYZ macro definitions.
32453         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32454         * modules/fseek (configure.ac): Likewise.
32455         * modules/ioctl (configure.ac): Likewise.
32456         * modules/open (configure.ac): Likewise.
32457         * modules/stdlib-safer (configure.ac): Likewise.
32458
32459 2010-03-27  Bruno Haible  <bruno@clisp.org>
32460
32461         Add a remark about certain modules.
32462         * modules/malloc (Comment): New section.
32463         * modules/realloc (Comment): Likewise.
32464         * modules/sigpipe (Comment): Likewise.
32465
32466 2010-03-27  Bruno Haible  <bruno@clisp.org>
32467
32468         Resolve conflict between the two kinds of module indicators.
32469         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32470         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32471         * modules/canonicalize (configure.ac): Invoke
32472         gl_MODULE_INDICATOR_FOR_TESTS.
32473         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32474         GNULIB_XYZ.
32475         * tests/test-dirent-c++.cc: Likewise.
32476         * tests/test-dirent-safer.c: Likewise.
32477         * tests/test-dup2.c: Likewise.
32478         * tests/test-fchdir.c: Likewise.
32479         * tests/test-fcntl-h-c++.cc: Likewise.
32480         * tests/test-getopt.c: Likewise.
32481         * tests/test-getopt.h: Likewise.
32482         * tests/test-langinfo-c++.cc: Likewise.
32483         * tests/test-locale-c++.cc: Likewise.
32484         * tests/test-math-c++.cc: Likewise.
32485         * tests/test-pty-c++.cc: Likewise.
32486         * tests/test-search-c++.cc: Likewise.
32487         * tests/test-signal-c++.cc: Likewise.
32488         * tests/test-spawn-c++.cc: Likewise.
32489         * tests/test-stdio-c++.cc: Likewise.
32490         * tests/test-stdlib-c++.cc: Likewise.
32491         * tests/test-string-c++.cc: Likewise.
32492         * tests/test-sys_ioctl-c++.cc: Likewise.
32493         * tests/test-sys_select-c++.cc: Likewise.
32494         * tests/test-sys_socket-c++.cc: Likewise.
32495         * tests/test-sys_stat-c++.cc: Likewise.
32496         * tests/test-sys_time-c++.cc: Likewise.
32497         * tests/test-time-c++.cc: Likewise.
32498         * tests/test-unistd-c++.cc: Likewise.
32499         * tests/test-wchar-c++.cc: Likewise.
32500         * tests/uninorm/test-u8-nfc.c: Likewise.
32501         * tests/uninorm/test-u8-nfd.c: Likewise.
32502         * tests/uninorm/test-u8-nfkc.c: Likewise.
32503         * tests/uninorm/test-u8-nfkd.c: Likewise.
32504         * tests/uninorm/test-u16-nfc.c: Likewise.
32505         * tests/uninorm/test-u16-nfd.c: Likewise.
32506         * tests/uninorm/test-u16-nfkc.c: Likewise.
32507         * tests/uninorm/test-u16-nfkd.c: Likewise.
32508         * tests/uninorm/test-u32-nfc.c: Likewise.
32509         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32510         * tests/uninorm/test-u32-nfd.c: Likewise.
32511         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32512         * tests/uninorm/test-u32-nfkc.c: Likewise.
32513         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32514         * tests/uninorm/test-u32-nfkd.c: Likewise.
32515         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32516         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32517
32518 2010-03-27  Bruno Haible  <bruno@clisp.org>
32519
32520         Distinguish two kinds of module indicators.
32521         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32522         gl_MODULE_INDICATOR.
32523         (gl_MODULE_INDICATOR): New macro.
32524         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32525         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32526         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32527         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32528         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32529         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32530         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32531         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32532         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32533         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32534         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32535         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32536         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32538         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32539         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32540         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32541         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32542         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32543         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32544         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32545         * modules/cloexec (configure.ac): Likewise.
32546         * modules/getopt-gnu (configure.ac): Likewise.
32547         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32548         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32549         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32550         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32551
32552 2010-03-27  Bruno Haible  <bruno@clisp.org>
32553
32554         New module description field 'Comment'.
32555         * gnulib-tool: New option --extract-comment.
32556         (func_usage): Document it.
32557         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32558         (func_get_comment): New function.
32559         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32560
32561 2010-03-27  Bruno Haible  <bruno@clisp.org>
32562
32563         Addendum to 2010-02-07 commit.
32564         * gnulib-tool (func_usage): Document --extract-applicability option.
32565
32566 2010-03-27  Bruno Haible  <bruno@clisp.org>
32567
32568         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32569         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32570         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32571         rather than link errors.
32572
32573 2010-03-27  Bruno Haible  <bruno@clisp.org>
32574
32575         Avoid side effects from tests-related modules on the compilation of lib.
32576         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32577         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32578         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32579         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32580         macro.
32581         (func_import): Define a witness macro. Assign it a value that depends
32582         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32583         tests-related modules.
32584         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32585         Reported by Jim Meyering.
32586
32587 2010-03-27  Bruno Haible  <bruno@clisp.org>
32588
32589         Factorize common .m4 code.
32590         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32591         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32592         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32593         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32594         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32595         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32596         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32597         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32598         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32599         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32600         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32601         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32602         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32603         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32604         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32605         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32606         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32607         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32608         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32609         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32610         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32611         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32612         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32613         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32614         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32615         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32616         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32617         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32618         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32619         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32620         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32621         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32622
32623 2010-03-27  Bruno Haible  <bruno@clisp.org>
32624
32625         Fix a compilation error on Cygwin with g++ >= 4.3.
32626         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32627         if it is undefined or if we alias it to chmod.
32628         (lstat): Don't warn about the use of this function if it is undefined
32629         or if we alias it to stat.
32630         Reported by Simon Josefsson.
32631
32632 2010-03-27  Bruno Haible  <bruno@clisp.org>
32633
32634         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32635         * modules/getlogin (configure.ac): Update.
32636
32637         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32638         * modules/getlogin_r (configure.ac): Update.
32639
32640         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32641         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32642         * modules/inet_ntop (configure.ac): Update.
32643
32644         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32645         * modules/inet_pton (configure.ac): Update.
32646
32647         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32648         * modules/mbslen (configure.ac): Update.
32649
32650         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32651         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32652         * modules/forkpty (configure.ac): Update.
32653         * modules/openpty (configure.ac): Update.
32654
32655 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32656
32657         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32658         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32659
32660 2010-03-25  Eric Blake  <eblake@redhat.com>
32661
32662         maint: use pragma consistently across replacement headers
32663         * lib/ctype.in.h (system_header): Hoist for consistent placement.
32664         * lib/dirent.in.h (system_header): Likewise.
32665         * lib/errno.in.h (system_header): Likewise.
32666         * lib/float.in.h (system_header): Likewise.
32667         * lib/getopt.in.h (system_header): Likewise.
32668         * lib/iconv.in.h (system_header): Likewise.
32669         * lib/inttypes.in.h (system_header): Likewise.
32670         * lib/langinfo.in.h (system_header): Likewise.
32671         * lib/locale.in.h (system_header): Likewise.
32672         * lib/math.in.h (system_header): Likewise.
32673         * lib/netdb.in.h (system_header): Likewise.
32674         * lib/netinet_in.in.h (system_header): Likewise.
32675         * lib/pty.in.h (system_header): Likewise.
32676         * lib/sched.in.h (system_header): Likewise.
32677         * lib/se-selinux.in.h (system_header): Likewise.
32678         * lib/search.in.h (system_header): Likewise.
32679         * lib/spawn.in.h (system_header): Likewise.
32680         * lib/stdarg.in.h (system_header): Likewise.
32681         * lib/stdint.in.h (system_header): Likewise.
32682         * lib/string.in.h (system_header): Likewise.
32683         * lib/strings.in.h (system_header): Likewise.
32684         * lib/sys_file.in.h (system_header): Likewise.
32685         * lib/sys_ioctl.in.h (system_header): Likewise.
32686         * lib/sys_socket.in.h (system_header): Likewise.
32687         * lib/sys_times.in.h (system_header): Likewise.
32688         * lib/sys_utsname.in.h (system_header): Likewise.
32689         * lib/sys_wait.in.h (system_header): Likewise.
32690         * lib/sysexits.in.h (system_header): Likewise.
32691         * lib/unistd.in.h (system_header): Likewise.
32692         * lib/wctype.in.h (system_header): Likewise.
32693
32694         arpa/inet: fix mingw compilation warning
32695         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32696         Reported by Matthew Bolte.
32697
32698 2010-03-25  Bruno Haible  <bruno@clisp.org>
32699
32700         Avoid collision between gnulib wrapper and libintl wrapper.
32701         * lib/printf.c (printf): Don't define if a printf wrapper is already
32702         defined in intl/printf.c.
32703         Reported by Michel Boaventura <michel@michelboaventura.com>.
32704
32705 2010-03-25  Bruno Haible  <bruno@clisp.org>
32706
32707         Use ANSI C.
32708         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32709
32710 2010-03-25  Bruno Haible  <bruno@clisp.org>
32711
32712         Minor formatting changes.
32713         * lib/acosl.c: Insert space before function argument list.
32714         * lib/argz.c: Likewise.
32715         * lib/asinl.c: Likewise.
32716         * lib/expl.c: Likewise.
32717         * lib/gen-uni-tables.c: Likewise.
32718         * lib/gettext.h: Likewise.
32719         * lib/glthread/lock.h: Likewise.
32720         * lib/tanl.c: Likewise.
32721         * lib/uniname/uniname.c: Likewise.
32722         * tests/test-idpriv-drop.c: Likewise.
32723         * tests/test-idpriv-droptemp.c: Likewise.
32724         * tests/test-lock.c: Likewise.
32725         * tests/test-tls.c: Likewise.
32726         * lib/argp-help.c: Insert space before function-like macro argument
32727         list.
32728         * lib/memcmp.c: Likewise.
32729         * tests/test-base64.c: Likewise.
32730         * lib/localename.c: Insert space before sizeof's argument list.
32731         * lib/safe-alloc.h: Likewise.
32732         * lib/file-set.h: Insert space before macro argument list.
32733         * tests/test-argp.c: Likewise.
32734         * lib/argp-namefrob.h: Insert space before function parameter list.
32735         * lib/getaddrinfo.c: Likewise.
32736         * lib/netdb.in.h: Likewise.
32737         * lib/parse-duration.h: Likewise.
32738         * lib/parse-duration.c: Likewise.
32739         * lib/poll.c: Likewise.
32740         * lib/select.c: Likewise.
32741         * lib/trim.h: Likewise.
32742         * tests/test-usleep.c: Likewise.
32743         * lib/ldexpl.c: Insert space before function parameter list and before
32744         function argument list.
32745         * lib/logl.c: Likewise.
32746         * lib/sqrtl.c: Likewise.
32747         * lib/trim.c: Likewise.
32748         * lib/cosl.c: Use GNU style indentation. Insert space before function
32749         argument list.
32750         * lib/sinl.c: Likewise.
32751         * lib/tsearch.c: Insert space after 'for'.
32752         Reported by Jim Meyering.
32753
32754 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32755
32756         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32757         config header before grepping, as it's not present before
32758         autoreconf/configure are run.  Reported by Simon Josefsson.
32759
32760 2010-03-23  Bruno Haible  <bruno@clisp.org>
32761
32762         pt_chown: Make it work with automake < 1.11.
32763         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32764         Reported by Simon Josefsson.
32765
32766 2010-03-23  Bruno Haible  <bruno@clisp.org>
32767
32768         pt_chown: Don't depend on GPLed modules.
32769         * lib/pt_chown.c: Don't include idpriv.h.
32770         (main): Don't drop privileges.
32771         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32772         Reported by Simon Josefsson.
32773
32774 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32775
32776         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32777         suggestions from karl@freefriends.org (Karl Berry).
32778
32779 2010-03-22  Eric Blake  <eblake@redhat.com>
32780
32781         gethostname: further tweaks
32782         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32783         are overriding gethostname.
32784         Suggested by Bruno Haible.
32785
32786 2010-03-21  Bruno Haible  <bruno@clisp.org>
32787
32788         Fix comments.
32789         * lib/forkpty.c (rpl_forkpty): Fix comment.
32790         * lib/openpty.c (rpl_openpty): Likewise.
32791         Reported by Eric Blake.
32792
32793 2010-03-22  Eric Blake  <eblake@redhat.com>
32794
32795         gethostname: fix build on mingw
32796         * lib/unistd.in.h (includes): Work around fact that mingw
32797         <winsock2.h> re-includes <unistd.h>, by avoiding any
32798         redeclarations if we are being included by <winsock2.h>.
32799         Reported by Matthias Bolte.
32800
32801 2010-03-21  Bruno Haible  <bruno@clisp.org>
32802
32803         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32804         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32805         modifications.
32806         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32807         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32808         provide the replacement.
32809         * modules/forkpty (Depends-on): Add openpty, login_tty.
32810         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32811         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32812         * doc/glibc-functions/forkpty.texi: More supported platforms.
32813         * config/srclist.txt: Add forkpty.c (commented).
32814
32815 2010-03-21  Bruno Haible  <bruno@clisp.org>
32816
32817         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32818         (Makefile.am): Verify that PTY_LIB is defined.
32819
32820         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32821
32822 2010-03-21  Bruno Haible  <bruno@clisp.org>
32823
32824         Tests for module 'login_tty'.
32825         * modules/login_tty-tests: New file.
32826         * tests/test-login_tty.c: New file.
32827
32828         New module 'login_tty'.
32829         * lib/login_tty.c: New file.
32830         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32831         * modules/login_tty: New file.
32832         * doc/glibc-functions/login_tty.texi: Mention the new module.
32833
32834 2010-03-21  Bruno Haible  <bruno@clisp.org>
32835
32836         login_tty: Documentation.
32837         * doc/glibc-functions/login_tty.texi: New file.
32838         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32839
32840 2010-03-21  Bruno Haible  <bruno@clisp.org>
32841
32842         pty: Consistent macro naming.
32843         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32844         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32845         * modules/pty (configure.ac): Update.
32846
32847 2010-03-21  Bruno Haible  <bruno@clisp.org>
32848
32849         Tests for openpty: Make stricter.
32850         * tests/test-openpty.c (main): Add test of canonical processing and
32851         erase.
32852         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32853
32854         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32855         * lib/openpty.c (openpty): New replacement function.
32856         * lib/pty.in.h: Include <termios.h>.
32857         (openpty): Update declaration. Add comments.
32858         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32859         is not declared, arrange to provide the replacement. Check for _getpty
32860         and posix_openpt.
32861         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32862         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32863         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32864         * modules/pty-tests (test_pty_c___LDADD): New variable.
32865         * doc/glibc-functions/openpty.texi: More supported platforms.
32866
32867 2010-03-21  Bruno Haible  <bruno@clisp.org>
32868
32869         setenv: Tweaks.
32870         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32871         the test program.
32872         * doc/posix-functions/setenv.texi: Update platforms list.
32873
32874 2010-03-21  Bruno Haible  <bruno@clisp.org>
32875
32876         New module 'unlockpt'.
32877         * lib/unlockpt.c: New file, from glibc with modifications.
32878         * m4/unlockpt.m4: New file.
32879         * modules/unlockpt: New file.
32880         * lib/stdlib.in.h (unlockpt): New declaration.
32881         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32882         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32883         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32884         HAVE_UNLOCKPT.
32885         * doc/posix-functions/unlockpt.texi: Mention the new module.
32886         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32887         * config/srclist.txt: Add unlockpt.c (commented).
32888
32889 2010-03-21  Jim Meyering  <meyering@redhat.com>
32890
32891         maint.mk: prohibit inclusion of "intprops.h" without use
32892         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32893
32894 2010-03-21  Bruno Haible  <bruno@clisp.org>
32895
32896         New module 'grantpt'.
32897         * lib/grantpt.c: New file, from glibc with modifications.
32898         * m4/grantpt.m4: New file.
32899         * modules/grantpt: New file.
32900         * lib/stdlib.in.h (grantpt): New declaration.
32901         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32902         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32903         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32904         HAVE_GRANTPT.
32905         * doc/posix-functions/grantpt.texi: Mention the new module.
32906         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32907         * config/srclist.txt: Add grantpt.c (commented).
32908
32909 2010-03-21  Bruno Haible  <bruno@clisp.org>
32910
32911         New module 'pt_chown'.
32912         * lib/pt_chown.c: New file, from glibc with modifications.
32913         * lib/pty-private.h: New file, from glibc with modifications.
32914         * modules/pt_chown: New file.
32915         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32916
32917 2010-03-21  Bruno Haible  <bruno@clisp.org>
32918
32919         Tests for module 'ptsname'.
32920         * modules/ptsname-tests: New file.
32921         * tests/test-ptsname.c: New file.
32922
32923         New module 'ptsname'.
32924         * lib/ptsname.c: New file, from glibc with modifications.
32925         * m4/ptsname.m4: New file.
32926         * modules/ptsname: New file.
32927         * lib/stdlib.in.h (ptsname): New declaration.
32928         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32929         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32930         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32931         HAVE_PTSNAME.
32932         * doc/posix-functions/ptsname.texi: Mention the new module.
32933         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32934         * config/srclist.txt: Add ptsname.c (commented).
32935
32936 2010-03-21  Bruno Haible  <bruno@clisp.org>
32937
32938         Tests for module 'ttyname_r'.
32939         * modules/ttyname_r-tests: New file.
32940         * tests/test-ttyname_r.c: New file.
32941
32942         New module 'ttyname_r'.
32943         * lib/ttyname_r.c: New file.
32944         * m4/ttyname_r.m4: New file.
32945         * modules/ttyname_r: New file.
32946         * lib/unistd.in.h (ttyname_r): New declaration.
32947         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32948         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32949         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32950         HAVE_TTYNAME_R.
32951         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32952         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32953
32954 2010-03-20  Bruno Haible  <bruno@clisp.org>
32955
32956         signal: Undefine macro definitions in C++ mode.
32957         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32958         sigfillset): Undefine macro definitions from the system header in C++
32959         mode.
32960         Reported by John W. Eaton <jwe@gnu.org>.
32961
32962 2010-03-20  Bruno Haible  <bruno@clisp.org>
32963
32964         Ensure no #include statements inside extern "C" { ... }.
32965         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32966         contain #include statements.
32967         * lib/time.in.h: Likewise.
32968
32969 2010-03-20  Bruno Haible  <bruno@clisp.org>
32970
32971         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32972         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32973         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32974         Reported by John W. Eaton <jwe@gnu.org>.
32975
32976 2010-03-20  Bruno Haible  <bruno@clisp.org>
32977
32978         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32979         Reported by Jim Meyering.
32980
32981 2010-03-20  Bruno Haible  <bruno@clisp.org>
32982
32983         pipe: Set errno upon failure.
32984         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32985         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32986         errno value in error message.
32987
32988 2010-03-20  Bruno Haible  <bruno@clisp.org>
32989             Jim Meyering  <meyering@redhat.com>
32990
32991         lchown: Avoid "unused variable" warning.
32992         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
32993
32994 2010-03-20  Bruno Haible  <bruno@clisp.org>
32995
32996         Work around unlink() bug on MacOS X 10.5.6.
32997         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
32998         attempting to unlink a parent directory.
32999         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33000         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33001         activate for the replacement function.
33002         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33003
33004 2010-03-20  Bruno Haible  <bruno@clisp.org>
33005
33006         Fix link errors on Solaris 8.
33007         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33008         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33009
33010 2010-03-19  Jim Meyering  <meyering@redhat.com>
33011
33012         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33013         The _LIBC implementation of build_range_exp correctly honors the
33014         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33015         However, the non-_LIBC implementation would ignore that syntax-bit
33016         flag and return REG_ERANGE unconditionally.
33017         This change makes it honor that flag.
33018         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33019         Make two pointer parameters "const".
33020         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33021         (parse_bracket_exp): Update caller.
33022
33023         regex.m4: correct the reversed range endpoint ([b-a]) test
33024         * m4/regex.m4: When requiring that [b-a] evoke failure,
33025         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33026         test pass once again for x86-based systems.
33027
33028 2010-03-19  Bruno Haible  <bruno@clisp.org>
33029
33030         scandir: Fix link error on Solaris 8.
33031         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33032         macros.
33033
33034 2010-03-19  Bruno Haible  <bruno@clisp.org>
33035
33036         getusershell: Fix documentation.
33037         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33038         module.
33039         * doc/glibc-functions/setusershell.texi: Likewise.
33040
33041         getusershell: Provide declaration, missing on Solaris 9.
33042         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33043         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33044         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33045         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33047         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33048         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33049         HAVE_GETUSERSHELL.
33050         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33051
33052 2010-03-19  Bruno Haible  <bruno@clisp.org>
33053
33054         wctype: Provide iswblank function.
33055         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33056         exists and is fine.
33057         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33058         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33059         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33060         * doc/posix-functions/iswblank.texi: Update.
33061
33062 2010-03-19  Bruno Haible  <bruno@clisp.org>
33063
33064         Tests of module 'pty' in C++ mode.
33065         * modules/pty-tests: New file.
33066         * tests/test-pty-c++.cc: New file.
33067         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33068
33069 2010-03-19  Eric Blake  <eblake@redhat.com>
33070
33071         logb: fix documentation
33072         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33073         1.5 declaration bug.
33074
33075         forkpty, openpty: prefer glibc's const-safe prototype
33076         * lib/forkpty.c (rpl_forkpty): New file.
33077         * lib/openpty.c (rpl_openpty): Likewise.
33078         * modules/forkpty (Files): Distribute it.
33079         * modules/openpty (Files): Likewise.
33080         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33081         check...
33082         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33083         replacement for for non-const BSD signature.
33084         * modules/pty (Makefile.am): Substitute witnesses.
33085         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33086         * tests/test-forkpty.c: Update signature check.
33087         * tests/test-openpty.c: Likewise.
33088         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33089         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33090
33091         forkpty, openpty: split functions into new modules
33092         * modules/pty (Makefile.am): Substitute new witnesses.
33093         (Libraries): Move library detection...
33094         * modules/forkpty: ...into new module.
33095         * modules/openpty: Another new module.
33096         * modules/pty-tests: Rename and split...
33097         * modules/forkpty-tests: ...to this...
33098         * modules/openpty-tests: ...and this.
33099         * tests/test-pty.c: Rename and split...
33100         * tests/test-forkpty.c: ...to this...
33101         * tests/test-openpty.c: ...and this.
33102         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33103         (gl_PTY): Split library searching...
33104         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33105         (gl_FORKPTY, gl_OPENPTY): New macros.
33106         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33107         * NEWS: Mention the split.
33108         * MODULES.html.sh (Misc): Document the modules.
33109         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33110         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33111
33112         pty: improve replacement header
33113         * lib/pty.in.h: New file.
33114         * modules/pty (Files): Ship it.
33115         (Makefile.am): Always build replacement.
33116         * m4/pty.m4: Rename...
33117         * m4/pty_h.m4: ...to this.
33118         (gl_PTY): Modernize setting of witness macros; update check of
33119         forkpty to take proper advantage of cache.
33120         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33121
33122         getopt: avoid compiler warning
33123         * lib/getopt.c (attribute_hidden): Remove unused macro.
33124
33125 2010-03-18  Bruno Haible  <bruno@clisp.org>
33126
33127         Fix link errors on Solaris 8.
33128         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33129         * modules/search-tests (test_search_c___LDADD): Likewise.
33130         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33131         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33132         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33133         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33134         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33135         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33136         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33137
33138 2010-03-18  Bruno Haible  <bruno@clisp.org>
33139
33140         Fix bug introduced on 2010-03-14.
33141         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33142         (gl_SPAWN_H): Require it.
33143         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33144         Reported by Simon Josefsson.
33145
33146 2010-03-18  Bruno Haible  <bruno@clisp.org>
33147
33148         Fix typo introduced on 2009-12-31.
33149         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33150         posix_spawn_file_actions_adddup2.
33151
33152 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33153         and Eric Blake  <eblake@redhat.com>
33154
33155         test-vc-list-files-git: make more robust
33156         * tests/test-vc-list-files-git.sh: Unset problematic environment
33157         variables.  Chain commands together.
33158
33159 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33160
33161         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33162         `AC_CHECK_DECL' invocation.
33163
33164 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33165
33166         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33167         appears before executable statements. Suggested by Petr Sumbera
33168         <Petr.Sumbera@Sun.COM>.
33169
33170 2010-03-14  Bruno Haible  <bruno@clisp.org>
33171
33172         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33173         portability problems. Instead use a simpler test.
33174         (main): Check that invalid arguments are rejected only on Linux.
33175
33176 2010-03-14  Bruno Haible  <bruno@clisp.org>
33177
33178         Fix bug introduced on 2009-12-31.
33179         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33180         gl_PREREQ_SYS_H_WINSOCK2 always.
33181         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33182         SYS_SOCKET_H variable.
33183         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33184         Update comments.
33185         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33186         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33187         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33188         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33189         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33190
33191 2010-03-14  Bruno Haible  <bruno@clisp.org>
33192
33193         Fix values returned by sinl, cosl.
33194         * lib/trigl.h: Add specification comments.
33195         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33196         that combines the values from the precomputed table with the values of
33197         the Chebyshev polynomials.
33198
33199 2010-03-14  Bruno Haible  <bruno@clisp.org>
33200
33201         Fix compilation error when modules 'posix_spawn[p]' are not used.
33202         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33203         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33204
33205 2010-03-14  Bruno Haible  <bruno@clisp.org>
33206
33207         Fix compilation error on mingw when module 'time_r' is not used.
33208         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33209         is 1.
33210         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33211         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33212         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33213         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33214
33215 2010-03-14  Bruno Haible  <bruno@clisp.org>
33216
33217         Fix compilation error with Sun C.
33218         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33219         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33220         instead of GCC specific ULONG_LONG_MAX.
33221         * lib/xstrtoll.c: Likewise.
33222         * lib/xstrtoull.c: Likewise.
33223
33224 2010-03-13  Bruno Haible  <bruno@clisp.org>
33225
33226         Allow the user to disable C++ code and tests.
33227         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33228         (gl_PROG_ANSI_CXX): Require it.
33229
33230 2010-03-13  Bruno Haible  <bruno@clisp.org>
33231
33232         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33233         cases.
33234
33235 2010-03-13  Bruno Haible  <bruno@clisp.org>
33236
33237         Test that gnulib does not break the standard C++ headers.
33238         * tests/test-locale-c++2.cc: New file.
33239         * modules/locale-tests (Files): Add it.
33240         (Makefile.am): Compile it for test-locale-c++.
33241         * tests/test-math-c++2.cc: New file.
33242         * modules/math-tests (Files): Add it.
33243         (Makefile.am): Compile it for test-math-c++.
33244         * tests/test-signal-c++2.cc: New file.
33245         * modules/signal-tests (Files): Add it.
33246         (Makefile.am): Compile it for test-signal-c++.
33247         * tests/test-stdio-c++2.cc: New file.
33248         * modules/stdio-tests (Files): Add it.
33249         (Makefile.am): Compile it for test-stdio-c++.
33250         * tests/test-stdlib-c++2.cc: New file.
33251         * modules/stdlib-tests (Files): Add it.
33252         (Makefile.am): Compile it for test-stdlib-c++.
33253         * tests/test-string-c++2.cc: New file.
33254         * modules/string-tests (Files): Add it.
33255         (Makefile.am): Compile it for test-string-c++.
33256         * tests/test-time-c++2.cc: New file.
33257         * modules/time-tests (Files): Add it.
33258         (Makefile.am): Compile it for test-time-c++.
33259         Reported by John W. Eaton <jwe@gnu.org>.
33260
33261 2010-03-13  Bruno Haible  <bruno@clisp.org>
33262
33263         * gnulib-tool (func_usage): Clarify which options are available for
33264         --create-testdir and --create-megatestdir.
33265
33266 2010-03-13  Bruno Haible  <bruno@clisp.org>
33267
33268         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33269         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33270         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33271         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33272         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33273         when appropriate.
33274         Reported by Jim Meyering.
33275
33276 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33277
33278         * gnulib-tool (func_import): Explain origin of code.
33279
33280 2010-03-12  Bruno Haible  <bruno@clisp.org>
33281
33282         Fix problem with automake's definition of CXXLINK.
33283         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33284         Reported by Simon Josefsson and Ludovic Courtès.
33285
33286 2010-03-12  Bruno Haible  <bruno@clisp.org>
33287
33288         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33289         stable releases.
33290
33291 2010-03-11  Bruno Haible  <bruno@clisp.org>
33292
33293         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33294         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33295         whether the system provides one variant or multiple variants of the
33296         function.
33297         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33298         C++ compilers.
33299         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33300         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33301         Reported by Jim Meyering.
33302
33303 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33304
33305         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33306
33307 2010-03-08  Bruno Haible  <bruno@clisp.org>
33308
33309         gnulib-tool: Add support for --libtool in --create-testdir.
33310         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33311         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33312
33313 2010-03-08  Eric Blake  <eblake@redhat.com>
33314
33315         gnulib-tool.texi: mention possibility of git submodule
33316         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33317         submodules.
33318         * doc/.gitignore: Ignore another generated file.
33319
33320 2010-03-08  Karl Berry  <karl@gnu.org>
33321
33322         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33323         of committing gnulib files while skipping others.
33324
33325 2010-03-07  Bruno Haible  <bruno@clisp.org>
33326
33327         Tests of module 'wctype' in C++ mode.
33328         * tests/test-wctype-c++.cc: New file.
33329         * modules/wctype-tests (Files): Add it and tests/signature.h.
33330         (Depends-on): Add ansi-c++-opt.
33331         (Makefile.am): Arrange to compile and run test-wctype-c++.
33332
33333         Tests of module 'wchar' in C++ mode.
33334         * tests/test-wchar-c++.cc: New file.
33335         * modules/wchar-tests (Files): Add it and tests/signature.h.
33336         (Depends-on): Add ansi-c++-opt.
33337         (Makefile.am): Arrange to compile and run test-wchar-c++.
33338         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33339         gl_MODULE_INDICATOR.
33340
33341         Tests of module 'unistd' in C++ mode.
33342         * tests/test-unistd-c++.cc: New file.
33343         * modules/unistd-tests (Files): Add it and tests/signature.h.
33344         (Depends-on): Add ansi-c++-opt.
33345         (Makefile.am): Arrange to compile and run test-unistd-c++.
33346         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33347         gl_MODULE_INDICATOR.
33348
33349         Tests of module 'time' in C++ mode.
33350         * tests/test-time-c++.cc: New file.
33351         * modules/time-tests (Files): Add it and tests/signature.h.
33352         (Depends-on): Add ansi-c++-opt.
33353         (Makefile.am): Arrange to compile and run test-time-c++.
33354         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33355
33356         Tests of module 'sys_time' in C++ mode.
33357         * tests/test-sys_time-c++.cc: New file.
33358         * modules/sys_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-sys_time-c++.
33361         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33362         gl_MODULE_INDICATOR.
33363
33364         Tests of module 'sys_stat' in C++ mode.
33365         * tests/test-sys_stat-c++.cc: New file.
33366         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33367         (Depends-on): Add ansi-c++-opt.
33368         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33369         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33370         gl_MODULE_INDICATOR.
33371
33372         Tests of module 'sys_socket' in C++ mode.
33373         * tests/test-sys_socket-c++.cc: New file.
33374         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33375         (Depends-on): Add ansi-c++-opt.
33376         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33377         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33378         gl_MODULE_INDICATOR.
33379
33380         Tests of module 'sys_select' in C++ mode.
33381         * tests/test-sys_select-c++.cc: New file.
33382         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33383         (Depends-on): Add ansi-c++-opt.
33384         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33385         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33386         gl_MODULE_INDICATOR.
33387
33388         Tests of module 'sys_ioctl' in C++ mode.
33389         * tests/test-sys_ioctl-c++.cc: New file.
33390         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33391         (Depends-on): Add ansi-c++-opt.
33392         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33393         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33394         gl_MODULE_INDICATOR.
33395
33396         Tests of module 'string' in C++ mode.
33397         * tests/test-string-c++.cc: New file.
33398         * modules/string-tests (Files): Add it and tests/signature.h.
33399         (Depends-on): Add ansi-c++-opt.
33400         (Makefile.am): Arrange to compile and run test-string-c++.
33401         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33402         gl_MODULE_INDICATOR.
33403
33404         Tests of module 'stdlib' in C++ mode.
33405         * tests/test-stdlib-c++.cc: New file.
33406         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33407         (Depends-on): Add ansi-c++-opt.
33408         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33409         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33410         gl_MODULE_INDICATOR.
33411
33412         Tests of module 'stdio' in C++ mode.
33413         * tests/test-stdio-c++.cc: New file.
33414         * modules/stdio-tests (Files): Add it and tests/signature.h.
33415         (Depends-on): Add ansi-c++-opt.
33416         (Makefile.am): Arrange to compile and run test-stdio-c++.
33417         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33418         gl_MODULE_INDICATOR.
33419
33420         Tests of module 'spawn' in C++ mode.
33421         * tests/test-spawn-c++.cc: New file.
33422         * modules/spawn-tests (Files): Add it and tests/signature.h.
33423         (Depends-on): Add ansi-c++-opt.
33424         (Makefile.am): Arrange to compile and run test-spawn-c++.
33425         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33426         gl_MODULE_INDICATOR.
33427
33428         Tests of module 'signal' in C++ mode.
33429         * tests/test-signal-c++.cc: New file.
33430         * modules/signal-tests (Files): Add it and tests/signature.h.
33431         (Depends-on): Add ansi-c++-opt.
33432         (Makefile.am): Arrange to compile and run test-signal-c++.
33433         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33434         gl_MODULE_INDICATOR.
33435
33436         Tests of module 'search' in C++ mode.
33437         * tests/test-search-c++.cc: New file.
33438         * modules/search-tests (Files): Add it and tests/signature.h.
33439         (Depends-on): Add ansi-c++-opt.
33440         (Makefile.am): Arrange to compile and run test-search-c++.
33441         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33442         gl_MODULE_INDICATOR.
33443
33444         Tests of module 'math' in C++ mode.
33445         * tests/test-math-c++.cc: New file.
33446         * modules/math-tests (Files): Add it and tests/signature.h.
33447         (Depends-on): Add ansi-c++-opt.
33448         (Makefile.am): Arrange to compile and run test-math-c++.
33449         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33450
33451         Tests of module 'locale' in C++ mode.
33452         * tests/test-locale-c++.cc: New file.
33453         * modules/locale-tests (Files): Add it and tests/signature.h.
33454         (Depends-on): Add ansi-c++-opt.
33455         (Makefile.am): Arrange to compile and run test-locale-c++.
33456         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33457         gl_MODULE_INDICATOR.
33458
33459         Tests of module 'langinfo' in C++ mode.
33460         * tests/test-langinfo-c++.cc: New file.
33461         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33462         (Depends-on): Add ansi-c++-opt.
33463         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33464         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33465         gl_MODULE_INDICATOR.
33466
33467         Tests of module 'iconv-h' in C++ mode.
33468         * tests/test-iconv-h-c++.cc: New file.
33469         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33470         (Depends-on): Add ansi-c++-opt.
33471         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33472
33473         Tests of module 'glob' in C++ mode.
33474         * tests/test-glob-c++.cc: New file.
33475         * modules/glob-tests (Files): Add it.
33476         (Depends-on): Add ansi-c++-opt.
33477         (Makefile.am): Arrange to compile and run test-glob-c++.
33478
33479         Tests of module 'fcntl-h' in C++ mode.
33480         * tests/test-fcntl-h-c++.cc: New file.
33481         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33482         (Depends-on): Add ansi-c++-opt.
33483         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33484         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33485         gl_MODULE_INDICATOR.
33486
33487         Tests of module 'dirent' in C++ mode.
33488         * tests/test-dirent-c++.cc: New file.
33489         * modules/dirent-tests (Files): Add it and tests/signature.h.
33490         (Depends-on): Add ansi-c++-opt.
33491         (Makefile.am): Arrange to compile and run test-dirent-c++.
33492         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33493         gl_MODULE_INDICATOR.
33494
33495         New module 'ansi-c++-opt'.
33496         * modules/ansi-c++-opt: New file.
33497         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33498
33499         Document C++ namespace mode.
33500         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33501
33502         wctype: Avoid #define replacements in C++ mode.
33503         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33504         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33505         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33506         In C++, define a namespaced alias symbol.
33507         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33508         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33509         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33510         rule.
33511
33512         wchar: Avoid #define replacements in C++ mode.
33513         * lib/wchar.in.h: Include c++defs.h.
33514         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33515         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33516         symbol.
33517         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33518         * modules/wchar (Depends-on): Add c++defs.
33519         (Makefile.am): Update wchar.h rule.
33520
33521         unistd: Avoid #define replacements in C++ mode.
33522         * lib/unistd.in.h: Include c++defs.h.
33523         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33524         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33525         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33526         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33527         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33528         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33529         symbol.
33530         (environ): Update.
33531         * modules/unistd (Depends-on): Add c++defs.
33532         (Makefile.am): Update unistd.h rule.
33533
33534         time: Avoid #define replacements in C++ mode.
33535         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33536         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33537         define a namespaced alias symbol.
33538         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33539         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33540         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33541         * modules/time (Depends-on): Add c++defs, warn-on-use.
33542         (Makefile.am): Update time.h rule.
33543         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33544         * modules/nanosleep (configure.ac): Likewise.
33545         * modules/strptime (configure.ac): Likewise.
33546         * modules/timegm (configure.ac): Likewise.
33547
33548         sys_time: Avoid #define replacements in C++ mode.
33549         * lib/sys_time.in.h: Include c++defs.h.
33550         (gettimeofday): In C++, define a namespaced alias symbol.
33551         * modules/sys_time (Depends-on): Add c++defs.
33552         (Makefile.am): Update sys/time.h rule.
33553
33554         sys_stat: Avoid #define replacements in C++ mode.
33555         * lib/sys_stat.in.h: Include c++defs.h.
33556         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33557         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33558         namespaced alias symbol.
33559         In C++, define a namespaced alias symbol.
33560         * modules/sys_stat (Depends-on): Add c++defs.
33561         (Makefile.am): Update sys/stat.h rule.
33562
33563         sys_socket: Avoid #define replacements in C++ mode.
33564         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33565         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33566         definitions also when the system has a <sys/socket.h>.
33567         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33568         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33569         In C++, define a namespaced alias symbol.
33570         * modules/sys_socket (Depends-on): Add c++defs.
33571         (Makefile.am): Update sys/socket.h rule.
33572
33573         sys_select: Avoid #define replacements in C++ mode.
33574         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33575         definitions also when the system has a <sys/select.h>.
33576         (select): In C++, define a namespaced alias symbol.
33577         * modules/sys_select (Depends-on): Add c++defs.
33578         (Makefile.am): Update sys/select.h rule.
33579
33580         sys_ioctl: Avoid #define replacements in C++ mode.
33581         * lib/sys_ioctl.in.h: Include c++defs.h.
33582         (ioctl): In C++, define a namespaced alias symbol.
33583         * modules/sys_ioctl (Depends-on): Add c++defs.
33584         (Makefile.am): Update sys/ioctl.h rule.
33585
33586         string: Avoid #define replacements in C++ mode.
33587         * lib/string.in.h: Include c++defs.h.
33588         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33589         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33590         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33591         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33592         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33593         * modules/string (Depends-on): Add c++defs.
33594         (Makefile.am): Update string.h rule.
33595
33596         stdlib: Avoid #define replacements in C++ mode.
33597         * lib/stdlib.in.h: Include c++defs.h.
33598         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33599         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33600         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33601         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33602         symbol.
33603         * modules/stdlib (Depends-on): Add c++defs.
33604         (Makefile.am): Update stdlib.h rule.
33605
33606         stdio: Avoid #define replacements in C++ mode.
33607         * lib/stdio.in.h: Include c++defs.h.
33608         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33609         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33610         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33611         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33612         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33613         namespaced alias symbol.
33614         * modules/stdio (Depends-on): Add c++defs.
33615         (Makefile.am): Update stdio.h rule.
33616
33617         spawn: Avoid #define replacements in C++ mode.
33618         * lib/spawn.in.h: Include c++defs.h.
33619         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33620         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33621         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33622         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33623         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33624         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33625         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33626         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33627         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33628         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33629         In C++, define a namespaced alias symbol.
33630         * modules/spawn (Depends-on): Add c++defs.
33631         (Makefile.am): Update spawn.h rule.
33632
33633         signal: Avoid #define replacements in C++ mode.
33634         * lib/signal.in.h: Include c++defs.h.
33635         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33636         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33637         namespaced alias symbol.
33638         * modules/signal (Depends-on): Add c++defs.
33639         (Makefile.am): Update signal.h rule.
33640
33641         search: Avoid #define replacements in C++ mode.
33642         * lib/search.in.h: Include c++defs.h.
33643         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33644         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33645         symbol.
33646         * modules/search (Depends-on): Add c++defs.
33647         (Makefile.am): Update search.h rule.
33648
33649         math: Avoid #define replacements in C++ mode.
33650         * lib/math.in.h: Include c++defs.h.
33651         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33652         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33653         trunc, truncl): In C++, define a namespaced alias symbol.
33654         * modules/math (Depends-on): Add c++defs.
33655         (Makefile.am): Update math.h rule.
33656
33657         locale: Avoid #define replacements in C++ mode.
33658         * lib/locale.in.h: Include c++defs.h.
33659         (duplocale): In C++, define a namespaced alias symbol.
33660         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33661         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
33662         * modules/locale (Depends-on): Add c++defs.
33663         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
33664
33665         langinfo: Avoid #define replacements in C++ mode.
33666         * lib/langinfo.in.h: Include c++defs.h.
33667         (nl_langinfo): In C++, define a namespaced alias symbol.
33668         * modules/langinfo (Depends-on): Add c++defs.
33669         (Makefile.am): Update langinfo.h rule.
33670
33671         iconv-h: Avoid #define replacements in C++ mode.
33672         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
33673         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
33674         symbol.
33675         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33676         whenever iconv is present.
33677         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
33678         (Makefile.am): Update iconv.h rule.
33679
33680         glob: Avoid #define replacements in C++ mode.
33681         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
33682         (_gl_glob_errfunc_fn): New type.
33683         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
33684         symbol.
33685         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33686         (Makefile.am): Update glob.h rule.
33687
33688         fcntl-h: Avoid #define replacements in C++ mode.
33689         * lib/fcntl.in.h: Include c++defs.h.
33690         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33691         * modules/fcntl-h (Depends-on): Add c++defs.
33692         (Makefile.am): Update fcntl.h rule.
33693
33694         dirent: Avoid #define replacements in C++ mode.
33695         * lib/dirent.in.h: Include c++defs.h.
33696         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33697         namespaced alias symbol.
33698         (dirfd): Update declaration.
33699         * modules/dirent (Depends-on): Add c++defs.
33700         (Makefile.am): Update dirent.h rule.
33701
33702         ctype: Make it usable in C++ code.
33703         * lib/ctype.in.h: Include c++defs.h.
33704         (isblank): Declare as extern "C".
33705         * modules/ctype (Depends-on): Add c++defs.
33706         (Makefile.am): Update ctype.h rule.
33707
33708         New module 'c++defs'.
33709         * modules/c++defs: New file.
33710         * build-aux/c++defs.h: New file.
33711         Reported by John W. Eaton <jwe@gnu.org>.
33712
33713 2010-03-07  Bruno Haible  <bruno@clisp.org>
33714
33715         logb: Provide missing declaration for Cygwin.
33716         * lib/math.in.h (logb): New declaration.
33717         * m4/logb.m4: New file.
33718         * modules/logb (Files): Add m4/logb.m4.
33719         (Depends-on): Add math.
33720         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33721         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33722         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33723         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33724         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33725
33726 2010-03-07  Bruno Haible  <bruno@clisp.org>
33727
33728         Fix test-cond link error.
33729         * tests/test-cond.c: Include <stdio.h>.
33730
33731 2010-03-07  Bruno Haible  <bruno@clisp.org>
33732
33733         Fix test-dirent-safer link error.
33734         * modules/dirent-safer-tests (Makefile.am): Define
33735         test_dirent_safer_LDADD.
33736
33737 2010-03-07  Bruno Haible  <bruno@clisp.org>
33738
33739         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33740         among default module list.
33741
33742 2010-03-07  Bruno Haible  <bruno@clisp.org>
33743
33744         Fix link error on platforms with GNU libiconv.
33745         * modules/unistr/u8-strcoll-tests (Makefile): Define
33746         test_u8_strcoll_LDADD.
33747         * modules/unistr/u16-strcoll-tests (Makefile): Define
33748         test_u16_strcoll_LDADD.
33749         * modules/unistr/u32-strcoll-tests (Makefile): Define
33750         test_u32_strcoll_LDADD.
33751
33752 2010-03-07  Bruno Haible  <bruno@clisp.org>
33753
33754         Use POSIX declarations for socket functions.
33755         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33756         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33757         rpl_sendto): Change declaration to match POSIX.
33758         * lib/connect.c (rpl_connect): Likewise.
33759         * lib/accept.c (rpl_accept): Likewise.
33760         * lib/bind.c (rpl_bind): Likewise.
33761         * lib/getpeername.c (rpl_getpeername): Likewise.
33762         * lib/getsockname.c (rpl_getsockname): Likewise.
33763         * lib/recv.c (rpl_recv): Likewise.
33764         * lib/send.c (rpl_send): Likewise.
33765         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33766         * lib/sendto.c (rpl_sendto): Likewise.
33767
33768 2010-03-06  Bruno Haible  <bruno@clisp.org>
33769
33770         Clarify access, euidaccess, faccessat.
33771         * doc/posix-functions/faccessat.texi: Mention security problem under
33772         "Other problems", not "Portability problems".
33773         * doc/posix-functions/access.texi: Likewise. Mention a related security
33774         problem.
33775         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33776         * lib/euidaccess.c: Add comments about platforms.
33777         * lib/unistd.in.h (access, euidaccess): Add warnings.
33778
33779 2010-03-07  Bruno Haible  <bruno@clisp.org>
33780
33781         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33782         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33783         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33784         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33785         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33786         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33787         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33788         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33789         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33790         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33791         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33792         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33793         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33794         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33795         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33796         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33797         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33798         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33799         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33800         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33801         Likewise.
33802         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33803         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33804         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33805         Likewise.
33806         * tests/test-spawn.c (main): Make it work when
33807         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33808
33809 2010-03-07  Bruno Haible  <bruno@clisp.org>
33810
33811         Fix incorrect Makefile.am generation in German locale.
33812         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33813         Execute sed command with character range in C locale.
33814
33815 2010-03-06  Bruno Haible  <bruno@clisp.org>
33816
33817         Tests for module 'iconv-h'.
33818         * modules/iconv-h-tests: New file.
33819         * tests/test-iconv-h.c: New file.
33820
33821         New module 'iconv-h'.
33822         * modules/iconv-h: New file.
33823         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33824         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33825         (configure.ac): Remove gl_ICONV_H.
33826         (Makefile.am): Remove rule for iconv.h.
33827
33828 2010-03-06  Bruno Haible  <bruno@clisp.org>
33829
33830         More consistent naming of *.m4 files.
33831         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33832         * modules/wctype (Files): Update.
33833
33834         More consistent naming of *.m4 files.
33835         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33836         * modules/wchar (Files): Update.
33837
33838 2010-03-06  Jim Meyering  <meyering@redhat.com>
33839
33840         euidaccess: relax license to LGPLv2+
33841         * modules/euidaccess (License): Relax to LGPLv2+.
33842
33843 2010-03-06  Bruno Haible  <bruno@clisp.org>
33844
33845         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33846         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33847         (Makefile.am): Augment lib_SOURCES instead.
33848
33849 2010-03-04  Jim Meyering  <meyering@redhat.com>
33850
33851         utime: remove obsolete module
33852         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33853         unnecessary for years, and has been marked as obsolete for 10 months.
33854         * modules/utime: Remove file.
33855         * lib/utime.c: Remove file.
33856         * m4/utime.m4: Remove file.
33857         * m4/utimes-null.m4: Remove file.
33858         * doc/posix-functions/utime.texi (utime): Remove reference to
33859         the module.  Move the sole "fixed by gnulib" item into the
33860         "problems not fixed by Gnulib" list.
33861         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33862
33863 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33864
33865         * modules/exit (License): Relax license to LGPLv2+.
33866         (Status): Mark as obsolete.
33867         * NEWS: Mention deprecated 'exit' module.
33868         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33869         of now obsolete 'exit'.
33870
33871 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33872
33873         fts-lgpl: remove unused module
33874         * modules/fts-lgpl: Remove.
33875         * MODULES.html.sh (func_all_modules): Adjust.
33876         * check-module (find_included_lib_files): Adjust.
33877         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33878
33879 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33880
33881         copy-acl: enhance Solaris ACL error handling
33882         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33883         * lib/set-mode-acl.c (qset_acl): Likewise.
33884
33885 2010-03-02  Bruno Haible  <bruno@clisp.org>
33886
33887         spawn: Don't override the system defined values on FreeBSD 8.
33888         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33889         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33890         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33891         if HAVE_POSIX_SPAWN is 1.
33892         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33893
33894 2010-03-01  Bruno Haible  <bruno@clisp.org>
33895
33896         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33897         regarding Automake.
33898
33899 2010-02-25  Bruno Haible  <bruno@clisp.org>
33900
33901         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33902         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33903         setting, not afterwards.
33904         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33905
33906 2010-02-24  Eric Blake  <eblake@redhat.com>
33907
33908         bootstrap, git-version-gen: use timestamp
33909         * build-aux/git-version-gen (scriptversion): Force UTC.
33910         * build-aux/bootstrap (scriptversion): New variable.
33911
33912         bootstrap: allow older git
33913         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33914         older than 1.6.4.  Requested by the libvirt project.
33915
33916 2010-02-23  Eric Blake  <eblake@redhat.com>
33917
33918         warn-on-use: work with old autoconf
33919         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33920         AS_VAR semantics of autoconf 2.60.
33921         Reported by Bruno Haible.
33922
33923         bootstrap: improve some comments
33924         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33925         clarification comments.
33926
33927         gettimeofday: provide correct function
33928         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33929         when replacement is declared, otherwise provide gettimeofday.
33930         Reported by Michael Goffioul.
33931
33932 2010-02-23  Jim Meyering  <meyering@redhat.com>
33933
33934         lib-ignore: relax license to "unlimited", not LGPLv2+
33935         * modules/lib-ignore (License): Relax to "unlimited".
33936
33937 2010-02-23  Jim Meyering  <meyering@redhat.com>
33938
33939         lib-ignore: relax license to LGPLv2+
33940         * modules/lib-ignore (License): Relax to LGPLv2+.
33941
33942 2010-02-22  Eric Blake  <eblake@redhat.com>
33943
33944         lseek: avoid bash 3.2 broken pipe bug
33945         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33946         warning from bash 3.2.
33947         Reported by Ben Pfaff, with analysis from Bruno Haible.
33948
33949         bootstrap: support non-FSF copyright holder
33950         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33951         bootstrap.conf override of COPYRIGHT_HOLDER.
33952         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33953
33954         bootstrap: interoperate with gettext 0.14.1
33955         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33956
33957         bootstrap: allow for alternate submodule location
33958         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33959         hardcoding submodule location.
33960         (gnulib_mk): Allow direct use of Makefile.am.
33961
33962         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33963         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33964         rather than reconfiguring where the submodule points.
33965
33966         gettimeofday: restore support for platforms that lack function
33967         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33968         replacement if function is missing.
33969         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33970         * modules/sys_time (Makefile.am): Substitute it.
33971         * lib/sys_time.in.h (gettimeofday): Check it.
33972         Reported by Michael Goffioul.
33973
33974 2010-02-21  Bruno Haible  <bruno@clisp.org>
33975
33976         * lib/stdio.in.h (obstack_printf): Fix typo.
33977
33978 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33979
33980         vc-list-files: use bzr ls's -R option
33981         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33982         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33983
33984 2010-02-21  Jim Meyering  <meyering@redhat.com>
33985
33986         init.sh: fix EXEEXT shims to work also for names like test-prog
33987         * tests/init.sh: Re-exec a better shell, when needed.
33988         If the current shell lacks support for posix $(...), an init.sh-using
33989         test will now try to find a shell that supports that.  If EXEEXT is
33990         nonempty, we also require support for hyphen-in-alias-name and shell
33991         substitutions like ${var#glob}.  Failure to find such a shell results
33992         in a skipped test.
33993
33994 2010-02-21  Bruno Haible  <bruno@clisp.org>
33995
33996         Really work around around "broken pipe" error message from bash 3.2.
33997         * gnulib-tool (func_reset_sigpipe): Remove function.
33998         (echo): In bash 3.2, define to a function that uses printf.
33999         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34000
34001 2010-02-20  Bruno Haible  <bruno@clisp.org>
34002
34003         Restore support for automake 1.9.6 with autoconf 2.61.
34004         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34005         Reported by James Youngman <jay@gnu.org>.
34006
34007 2010-02-20  Bruno Haible  <bruno@clisp.org>
34008
34009         Improve *printf warning condition.
34010         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34011         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34012         and the function is overridden due to SIGPIPE emulation.
34013
34014 2010-02-20  Bruno Haible  <bruno@clisp.org>
34015
34016         * lib/stdio.in.h: Tweak comments.
34017
34018 2010-02-19  Bruno Haible  <bruno@clisp.org>
34019
34020         Make it easier to find modules. New gnulib-tool option '--find'.
34021         * gnulib-tool: New option --find.
34022         (func_usage): Document it.
34023         (func_sanitize_modulelist): New function, extracted from
34024         func_all_modules.
34025         (func_all_modules): Invoke it.
34026         * doc/gnulib-tool.texi (Which modules?): New node.
34027
34028 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34029
34030         * lib/sys_select.in.h: Provide select replacement even if
34031         sys/select.h exists on a system, for Interix.
34032
34033 2010-02-18  Jim Meyering  <meyering@redhat.com>
34034
34035         init.sh: don't use $(...) just yet
34036         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34037         to accommodate e.g., Solaris' /bin/sh.
34038
34039 2010-02-17  Bruno Haible  <bruno@clisp.org>
34040
34041         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34042         Reported by Ludovic Courtès <ludo@gnu.org>.
34043
34044 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34045
34046         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34047         linking with -lintl.
34048
34049 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34050
34051         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34052         if not provided by the system's netdb.h.  Reported by
34053         ludo@gnu.org (Ludovic Courtès).
34054
34055 2010-02-15  Jim Meyering  <meyering@redhat.com>
34056
34057         init.sh: improve portability and efficiency
34058         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34059         "dummy" in a for loop.
34060         Use '!', not '^' to select the complement of a character set used
34061         in a "case" statement.
34062         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34063         Suggestions from Eric Blake.
34064
34065         init.sh: automatically accommodate programs with the .exe suffix
34066         Automatically arrange for an invocation of "prog" to execute the
34067         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34068         may use the simpler "prog", yet still work when built on a system
34069         that requires specifying the added suffix.
34070         Do this by constructing a function named "prog" that invokes
34071         "prog.exe" for each .exe file in selected directories.
34072         * tests/init.sh (find_exe_basenames_): New function.
34073         (create_exe_shim_functions_): New function.
34074         (path_prepend_): Use it.
34075
34076         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34077         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34078         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34079
34080 2010-02-14  Jim Meyering  <meyering@redhat.com>
34081
34082         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34083         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34084         (sc_prohibit_hash_pjw_without_use): New rule.
34085
34086         maint.mk: allow the default upload destination dir to be overridden
34087         * top/maint.mk (upload_dest_dir_): Define with a default that
34088         preserves the status quo.
34089         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34090         Reported by Peter Simons.
34091
34092         maint.mk: prohibit inclusion of "hash.h" without_use
34093         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34094
34095 2010-02-10  Jim Meyering  <meyering@redhat.com>
34096
34097         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34098         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34099
34100 2010-02-09  Eric Blake  <ebb9@byu.net>
34101         and Bruno Haible  <bruno@clisp.org>
34102
34103         obstack-printf-posix: ensure declaration
34104         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34105         extracted from gl_FUNC_OBSTACK_PRINTF.
34106         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34107         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34108         Likewise.
34109         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34110         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34111         0.
34112
34113 2010-02-08  Bruno Haible  <bruno@clisp.org>
34114
34115         gnulib-tool: Fix typo in 2010-02-07 commit.
34116         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34117         Reported by Eric Blake.
34118
34119 2010-02-07  Bruno Haible  <bruno@clisp.org>
34120
34121         gnulib-tool: Fix up caching patches.
34122         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34123         option --no-cache. Use associative arrays when supported by the shell.
34124         (sed_comments): New variable.
34125         (modcache): Renamed from do_cache.
34126         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34127         abbreviate unnecessarily.
34128         (have_associative): New variable.
34129         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34130         way also for ksh and zsh.
34131         (func_init_sed_convert_to_cache_statements): New function, extracted
34132         from func_cache_lookup_module. Add support for associative arrays.
34133         Don't set the c_MODULE_cached variable here. Ignore all lines before
34134         the first field header. Remove only the final newline, not all trailing
34135         newlines. Support empty fields correctly. Limit the use of 'eval' to
34136         assignments.
34137         (func_get_description, func_get_status, func_get_notice,
34138         func_get_applicability, func_get_filelist, func_get_dependencies,
34139         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34140         func_get_automake_snippet, func_get_include_directive,
34141         func_get_link_directive, func_get_license, func_get_maintainer):
34142         Update documentation. List the unoptimized code first. Add support for
34143         associative arrays. Limit the use of 'eval' to assignments.
34144         (func_get_applicability): Undo stylistic pessimisations.
34145         (func_get_automake_snippet, func_get_include_directive): Reduce code
34146         duplication.
34147         (func_modules_transitive_closure, func_modules_add_dummy,
34148         func_modules_notice, func_modules_to_filelist, func_add_file,
34149         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34150         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34151         func_create_testdir, func_create_megatestdir): Update documentation.
34152
34153 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34154
34155         * gnulib-tool (func_cache_lookup_module): Store the module name
34156         belonging to the cache variable; error out if two different
34157         module names map to the same cache variable name.
34158
34159 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34160
34161         gnulib-tool: Make caching optional.
34162         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34163         Update matching short versions of --no-changelog.
34164         (func_usage): Update.
34165         (sed_extract_cache_prog): Renamed from ...
34166         (sed_extract_prog): ... this; revert to old extraction script.
34167         (func_get_description, func_get_status)
34168         (func_get_notice, func_get_applicability, func_get_filelist)
34169         (func_get_dependencies, func_get_autoconf_early_snippet)
34170         (func_get_autoconf_snippet, func_get_automake_snippet)
34171         (func_get_include_directive, func_get_link_directive)
34172         (func_get_license, func_get_maintainer): If $do_cache is false,
34173         use old, non-caching extraction scripts.
34174         Suggestion by Bruno Haible.
34175
34176 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34177
34178         gnulib-tool: cache module metainformation.
34179         * gnulib-tool (sed_extract_prog): Match newline before each
34180         header, and rewrite header to a shell variable suffix.
34181         (func_cache_var, func_cache_lookup_module): New functions,
34182         to turn a module name into a cache variable prefix, and to
34183         look up and cache module metainformation.
34184         (func_get_description, func_get_status)
34185         (func_get_notice, func_get_applicability, func_get_filelist)
34186         (func_get_dependencies, func_get_autoconf_early_snippet)
34187         (func_get_autoconf_snippet, func_get_automake_snippet)
34188         (func_get_include_directive, func_get_link_directive)
34189         (func_get_license, func_get_maintainer): Use
34190         func_cache_lookup_module.
34191
34192 2010-02-07  Bruno Haible  <bruno@clisp.org>
34193
34194         fnctl: Fix missing dependency.
34195         * modules/fcntl (Depends-on): Add getdtablesize.
34196         Reported by John W. Eaton <jwe@gnu.org>.
34197
34198 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34199
34200         Argp: fix recognition of short alias options.
34201
34202         * lib/argp-parse.c (convert_options): Fix improper use of
34203         `|' between character values.
34204         * tests/test-argp.c (group1_option): New alias option
34205         --read (-r).
34206         (group1_parser): Special handling for 'r'.
34207         (test15): New test case.
34208         (test_fun): Add test15.
34209         * tests/test-argp-2.sh: Update expected --help and --usage
34210         outputs.
34211
34212 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34213
34214         * tests/test-argp.c: Fix indentation.
34215
34216 2010-02-04  Eric Blake  <ebb9@byu.net>
34217
34218         gettimeofday: expose type of second argument
34219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34220         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34221         * tests/test-gettimeofday.c: Use it to silence warning.
34222         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34223         the issue.
34224
34225 2010-02-03  Jim Meyering  <meyering@redhat.com>
34226
34227         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34228         * lib/regcomp.c (TYPE_SIGNED): Define.
34229         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34230
34231         regcomp.c: avoid a new -Wshadow warning
34232         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34233
34234 2010-02-01  Jim Meyering  <meyering@redhat.com>
34235
34236         removing useless parentheses in cpp #define directives
34237         For motivation, see commit c0221df4, "define STREQ(a,b)
34238         consistently, removing useless parentheses"
34239         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34240         * lib/mountlist.c (MNT_IGNORE): Likewise.
34241         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34242
34243 2010-02-01  Eric Blake  <ebb9@byu.net>
34244
34245         sys_time: use link-warning
34246         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34247         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34248         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34249         * modules/sys_time (Depends-on): Add warn-on-use.
34250         (Makefile.am): Always build replacement.
34251         (configure.ac): Update substitutions.
34252         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34253         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34254         bother with SYS_TIME_H.
34255         * modules/gettimeofday (configure.ac): Declare indicator.
34256         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34257         in use.
34258
34259         closein-tests: silence compiler warning
34260         * tests/test-closein.c (main): Ignore fread result.
34261         * modules/closein-tests (Depends-on): Add ignore-value.
34262
34263         tests: silence warning about system return
34264         * tests/test-areadlink-with-size.c (main): Ignore system result.
34265         * tests/test-areadlink.c (main): Likewise.
34266         * tests/test-areadlinkat-with-size.c (main): Likewise.
34267         * tests/test-areadlinkat.c (main): Likewise.
34268         * tests/test-canonicalize-lgpl.c (main): Likewise.
34269         * tests/test-canonicalize.c (main): Likewise.
34270         * tests/test-chown.c (main): Likewise.
34271         * tests/test-fchownat.c (main): Likewise.
34272         * tests/test-fdutimensat.c (main): Likewise.
34273         * tests/test-fstatat.c (main): Likewise.
34274         * tests/test-futimens.c (main): Likewise.
34275         * tests/test-lchown.c (main): Likewise.
34276         * tests/test-link.c (main): Likewise.
34277         * tests/test-linkat.c (main): Likewise.
34278         * tests/test-lstat.c (main): Likewise.
34279         * tests/test-mkdir.c (main): Likewise.
34280         * tests/test-mkdirat.c (main): Likewise.
34281         * tests/test-mkfifo.c (main): Likewise.
34282         * tests/test-mkfifoat.c (main): Likewise.
34283         * tests/test-mknod.c (main): Likewise.
34284         * tests/test-readlink.c (main): Likewise.
34285         * tests/test-remove.c (main): Likewise.
34286         * tests/test-rename.c (main): Likewise.
34287         * tests/test-renameat.c (main): Likewise.
34288         * tests/test-rmdir.c (main): Likewise.
34289         * tests/test-symlink.c (main): Likewise.
34290         * tests/test-symlinkat.c (main): Likewise.
34291         * tests/test-unlink.c (main): Likewise.
34292         * tests/test-unlinkat.c (main): Likewise.
34293         * tests/test-utimens.c (main): Likewise.
34294         * tests/test-utimensat.c (main): Likewise.
34295         * modules/areadlink-tests (Depends-on): Add ignore-value.
34296         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34297         * modules/areadlinkat-tests (Depends-on): Likewise.
34298         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34299         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34300         * modules/canonicalize-tests (Depends-on): Likewise.
34301         * modules/chown-tests (Depends-on): Likewise.
34302         * modules/fdutimensat-tests (Depends-on): Likewise.
34303         * modules/futimens-tests (Depends-on): Likewise.
34304         * modules/lchown-tests (Depends-on): Likewise.
34305         * modules/link-tests (Depends-on): Likewise.
34306         * modules/linkat-tests (Depends-on): Likewise.
34307         * modules/lstat-tests (Depends-on): Likewise.
34308         * modules/mkdir-tests (Depends-on): Likewise.
34309         * modules/mkfifo-tests (Depends-on): Likewise.
34310         * modules/mkfifoat-tests (Depends-on): Likewise.
34311         * modules/mknod-tests (Depends-on): Likewise.
34312         * modules/openat-tests (Depends-on): Likewise.
34313         * modules/readlink-tests (Depends-on): Likewise.
34314         * modules/remove-tests (Depends-on): Likewise.
34315         * modules/rename-tests (Depends-on): Likewise.
34316         * modules/renameat-tests (Depends-on): Likewise.
34317         * modules/rmdir-tests (Depends-on): Likewise.
34318         * modules/symlink-tests (Depends-on): Likewise.
34319         * modules/symlinkat-tests (Depends-on): Likewise.
34320         * modules/unlink-tests (Depends-on): Likewise.
34321         * modules/utimens-tests (Depends-on): Likewise.
34322         * modules/utimensat-tests (Depends-on): Likewise.
34323
34324 2010-01-31  Bruno Haible  <bruno@clisp.org>
34325
34326         Perform the same test for many <math.h> functions.
34327         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34328         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34329         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34330         of gl_MATHFUNC.
34331         * modules/acos (configure.ac): Likewise.
34332         * modules/asin (configure.ac): Likewise.
34333         * modules/atan (configure.ac): Likewise.
34334         * modules/atan2 (configure.ac): Likewise.
34335         * modules/cbrt (configure.ac): Likewise.
34336         * modules/copysign (configure.ac): Likewise.
34337         * modules/cos (configure.ac): Likewise.
34338         * modules/cosh (configure.ac): Likewise.
34339         * modules/erf (configure.ac): Likewise.
34340         * modules/erfc (configure.ac): Likewise.
34341         * modules/exp (configure.ac): Likewise.
34342         * modules/fmod (configure.ac): Likewise.
34343         * modules/hypot (configure.ac): Likewise.
34344         * modules/j0 (configure.ac): Likewise.
34345         * modules/j1 (configure.ac): Likewise.
34346         * modules/jn (configure.ac): Likewise.
34347         * modules/lgamma (configure.ac): Likewise.
34348         * modules/log (configure.ac): Likewise.
34349         * modules/log10 (configure.ac): Likewise.
34350         * modules/log1p (configure.ac): Likewise.
34351         * modules/pow (configure.ac): Likewise.
34352         * modules/remainder (configure.ac): Likewise.
34353         * modules/sin (configure.ac): Likewise.
34354         * modules/sinh (configure.ac): Likewise.
34355         * modules/tan (configure.ac): Likewise.
34356         * modules/tanh (configure.ac): Likewise.
34357         * modules/y0 (configure.ac): Likewise.
34358         * modules/y1 (configure.ac): Likewise.
34359         * modules/yn (configure.ac): Likewise.
34360         Suggested by Paolo Bonzini.
34361
34362 2010-01-31  Bruno Haible  <bruno@clisp.org>
34363
34364         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34365
34366 2010-01-31  Bruno Haible  <bruno@clisp.org>
34367
34368         Work around getdelim() bug on FreeBSD 8.0.
34369         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34370         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34371         not work.
34372         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34373         is 1.
34374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34375         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34376         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34377         a non-zero size.
34378         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34379
34380 2010-01-31  Bruno Haible  <bruno@clisp.org>
34381
34382         Work around getline() bug on FreeBSD 8.0.
34383         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34384         and a non-zero size.
34385         * tests/test-getline.c (main): Likewise.
34386         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34387         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34388
34389 2010-01-28  Eric Blake  <ebb9@byu.net>
34390
34391         regex: fix build failure
34392         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34393         platforms.
34394
34395 2010-01-28  Jim Meyering  <meyering@redhat.com>
34396
34397         regex: do not ignore memory allocation failure
34398         * lib/regex_internal.c (create_cd_newstate): Detect
34399         re_node_set_init_copy failure.   Extracted from glibc commit
34400         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34401
34402         regex: sync more white-space changes from libc
34403         * lib/regex_internal.c: White-space only changes.
34404         * lib/regexec.c: Likewise.
34405
34406         regex: add many uses of __attribute_warn_unused_result__
34407         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34408         * lib/regexec.c: Likewise.
34409         Extracted from a messy glibc commit.
34410
34411         regcomp.c: spelling and merge-artifact from glibc
34412         * lib/regcomp.c: Merge remainder of glibc's
34413         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34414
34415         regcomp.c: sync white-space changes from glibc
34416         * lib/regcomp.c: Merge to accommodate white space
34417         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34418
34419         regcomp.c: do not ignore internal return values
34420         * lib/regcomp.c: Do not ignore internal return values.
34421         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34422         but without its white-space changes and spelling fixes.
34423
34424         regex_internal.h: define __attribute_warn_unused_result__
34425         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34426
34427         maint: add a syntax-check rule to check for vulnerable Makefile.in
34428         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34429
34430 2010-01-27  Jim Meyering  <meyering@redhat.com>
34431
34432         ncftpput-ftp: clean up spaces
34433         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34434         Remove trailing blanks.
34435
34436 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34437
34438         * build-aux/git-version-gen: Fix copyright statement.
34439         * build-aux/gnupload: Likewise.
34440         * tests/test-arcfour.c: Likewise.
34441         * tests/test-arctwo.c: Likewise.
34442         * tests/test-count-one-bits.c: Likewise.
34443         * tests/test-crc.c: Likewise.
34444         * tests/test-des.c: Likewise.
34445         * tests/test-gc-arcfour.c: Likewise.
34446         * tests/test-gc-arctwo.c: Likewise.
34447         * tests/test-gc-des.c: Likewise.
34448         * tests/test-gc-hmac-md5.c: Likewise.
34449         * tests/test-gc-hmac-sha1.c: Likewise.
34450         * tests/test-gc-md2.c: Likewise.
34451         * tests/test-gc-md4.c: Likewise.
34452         * tests/test-gc-md5.c: Likewise.
34453         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34454         * tests/test-gc-rijndael.c: Likewise.
34455         * tests/test-gc-sha1.c: Likewise.
34456         * tests/test-gc.c: Likewise.
34457         * tests/test-gethostname.c: Likewise.
34458         * tests/test-gettimeofday.c: Likewise.
34459         * tests/test-hash.c: Likewise.
34460         * tests/test-hmac-md5.c: Likewise.
34461         * tests/test-hmac-sha1.c: Likewise.
34462         * tests/test-md2.c: Likewise.
34463         * tests/test-md4.c: Likewise.
34464         * tests/test-md5.c: Likewise.
34465         * tests/test-memchr.c: Likewise.
34466         * tests/test-memchr2.c: Likewise.
34467         * tests/test-memcmp.c: Likewise.
34468         * tests/test-memmem.c: Likewise.
34469         * tests/test-memrchr.c: Likewise.
34470         * tests/test-rawmemchr.c: Likewise.
34471         * tests/test-read-file.c: Likewise.
34472         * tests/test-rijndael.c: Likewise.
34473         * tests/test-sockets.c: Likewise.
34474         * tests/test-strchrnul.c: Likewise.
34475         * tests/test-strstr.c: Likewise.
34476         * tests/test-strtod.c: Likewise.
34477         * build-aux/ncftpput-ftp: Likewise.
34478
34479 2010-01-26  Eric Blake  <ebb9@byu.net>
34480
34481         ignore-value: update recommended header name
34482         * modules/ignore-value (Include): Only use <> for headers that
34483         exist in glibc.
34484
34485 2010-01-26  Jim Meyering  <meyering@redhat.com>
34486
34487         test-userspec.c: avoid compiler warnings
34488         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34489         and "initialization discards qualifiers..." warnings.
34490         Put the first "uid" in its own scope, and make char* members "const".
34491
34492 2010-01-25  Bruno Haible  <bruno@clisp.org>
34493
34494         gnulib-tool: Make warning diagnostics consistent.
34495         * gnulib-tool (func_warning): New function.
34496         Use it everywhere where gnulib-tool produces output to stderr and it is
34497         not a fatal error.
34498
34499 2010-01-25  Bruno Haible  <bruno@clisp.org>
34500
34501         Fix test dependencies.
34502         * modules/xstrtol-tests (Depends-on): Add inttypes.
34503         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34504
34505 2010-01-25 Pádraig Brady <P@draigBrady.com>
34506
34507         syntax-check: detect incorrect boolean macro values in config.h
34508         * modules/maintainer-makefile (configure.ac): Parameterize the location
34509         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34510         The logic is from Eric Blake and the location indicated by Jim Meyering.
34511         Note the more natural CONFIG_HEADER name is prohibited by automake
34512         for backwards compatibility reasons.
34513         * top/maint.mk (sc_Wundef_boolean): New rule.
34514
34515 2010-01-25  Jim Meyering  <meyering@redhat.com>
34516
34517         bootstrap: detect MacOS 10.6's shasum, too
34518         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34519         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34520
34521 2010-01-23  Jim Meyering  <meyering@redhat.com>
34522
34523         xstrtoll: new module
34524         * modules/xstrtoll: New file.
34525         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34526         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34527         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34528         ./configure fails if you use this module and lack "long long".
34529         * modules/xstrtoll-tests: New module.
34530         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34531         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34532         new init.sh-based test framework.
34533
34534 2010-01-24  Bruno Haible  <bruno@clisp.org>
34535
34536         Tests for module 'yn'.
34537         * modules/yn-tests: New file.
34538         * tests/test-yn.c: New file.
34539
34540         Tests for module 'y1'.
34541         * modules/y1-tests: New file.
34542         * tests/test-y1.c: New file.
34543
34544         Tests for module 'y0'.
34545         * modules/y0-tests: New file.
34546         * tests/test-y0.c: New file.
34547
34548         Tests for module 'tanh'.
34549         * modules/tanh-tests: New file.
34550         * tests/test-tanh.c: New file.
34551
34552         Tests for module 'tan'.
34553         * modules/tan-tests: New file.
34554         * tests/test-tan.c: New file.
34555
34556         Tests for module 'sqrt'.
34557         * modules/sqrt-tests: New file.
34558         * tests/test-sqrt.c: New file.
34559
34560         Tests for module 'sinh'.
34561         * modules/sinh-tests: New file.
34562         * tests/test-sinh.c: New file.
34563
34564         Tests for module 'sin'.
34565         * modules/sin-tests: New file.
34566         * tests/test-sin.c: New file.
34567
34568         Tests for module 'rint'.
34569         * modules/rint-tests: New file.
34570         * tests/test-rint.c: New file.
34571
34572         Tests for module 'remainder'.
34573         * modules/remainder-tests: New file.
34574         * tests/test-remainder.c: New file.
34575
34576         Tests for module 'pow'.
34577         * modules/pow-tests: New file.
34578         * tests/test-pow.c: New file.
34579
34580         Tests for module 'nextafter'.
34581         * modules/nextafter-tests: New file.
34582         * tests/test-nextafter.c: New file.
34583
34584         Tests for module 'modf'.
34585         * modules/modf-tests: New file.
34586         * tests/test-modf.c: New file.
34587
34588         Tests for module 'logb'.
34589         * modules/logb-tests: New file.
34590         * tests/test-logb.c: New file.
34591
34592         Tests for module 'log1p'.
34593         * modules/log1p-tests: New file.
34594         * tests/test-log1p.c: New file.
34595
34596         Tests for module 'log10'.
34597         * modules/log10-tests: New file.
34598         * tests/test-log10.c: New file.
34599
34600         Tests for module 'log'.
34601         * modules/log-tests: New file.
34602         * tests/test-log.c: New file.
34603
34604         Tests for module 'lgamma'.
34605         * modules/lgamma-tests: New file.
34606         * tests/test-lgamma.c: New file.
34607
34608         Tests for module 'ldexp'.
34609         * modules/ldexp-tests: New file.
34610         * tests/test-ldexp.c: New file.
34611
34612         Tests for module 'jn'.
34613         * modules/jn-tests: New file.
34614         * tests/test-jn.c: New file.
34615
34616         Tests for module 'j1'.
34617         * modules/j1-tests: New file.
34618         * tests/test-j1.c: New file.
34619
34620         Tests for module 'j0'.
34621         * modules/j0-tests: New file.
34622         * tests/test-j0.c: New file.
34623
34624         Tests for module 'hypot'.
34625         * modules/hypot-tests: New file.
34626         * tests/test-hypot.c: New file.
34627
34628         Tests for module 'fmod'.
34629         * modules/fmod-tests: New file.
34630         * tests/test-fmod.c: New file.
34631
34632         Tests for module 'fabs'.
34633         * modules/fabs-tests: New file.
34634         * tests/test-fabs.c: New file.
34635
34636         Tests for module 'exp'.
34637         * modules/exp-tests: New file.
34638         * tests/test-exp.c: New file.
34639
34640         Tests for module 'erfc'.
34641         * modules/erfc-tests: New file.
34642         * tests/test-erfc.c: New file.
34643
34644         Tests for module 'erf'.
34645         * modules/erf-tests: New file.
34646         * tests/test-erf.c: New file.
34647
34648         Tests for module 'cosh'.
34649         * modules/cosh-tests: New file.
34650         * tests/test-cosh.c: New file.
34651
34652         Tests for module 'cos'.
34653         * modules/cos-tests: New file.
34654         * tests/test-cos.c: New file.
34655
34656         Tests for module 'copysign'.
34657         * modules/copysign-tests: New file.
34658         * tests/test-copysign.c: New file.
34659
34660         Tests for module 'cbrt'.
34661         * modules/cbrt-tests: New file.
34662         * tests/test-cbrt.c: New file.
34663
34664         Tests for module 'atan2'.
34665         * modules/atan2-tests: New file.
34666         * tests/test-atan2.c: New file.
34667
34668         Tests for module 'atan'.
34669         * modules/atan-tests: New file.
34670         * tests/test-atan.c: New file.
34671
34672         Tests for module 'asin'.
34673         * modules/asin-tests: New file.
34674         * tests/test-asin.c: New file.
34675
34676         Tests for module 'acos'.
34677         * modules/acos-tests: New file.
34678         * tests/test-acos.c: New file.
34679
34680 2010-01-24  Bruno Haible  <bruno@clisp.org>
34681
34682         Fix tests for common <math.h> functions.
34683         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
34684         code snippet that references the function pointer, rather than merely
34685         calling the function. Substitute the FUNC_LIBM variable.
34686         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34687         * modules/acos (configure.ac): Likewise.
34688         * modules/asin (configure.ac): Likewise.
34689         * modules/atan (configure.ac): Likewise.
34690         * modules/atan2 (configure.ac): Likewise.
34691         * modules/cbrt (configure.ac): Likewise.
34692         * modules/copysign (configure.ac): Likewise.
34693         * modules/cos (configure.ac): Likewise.
34694         * modules/cosh (configure.ac): Likewise.
34695         * modules/erf (configure.ac): Likewise.
34696         * modules/erfc (configure.ac): Likewise.
34697         * modules/exp (configure.ac): Likewise.
34698         * modules/fabs (configure.ac): Likewise.
34699         * modules/fmod (configure.ac): Likewise.
34700         * modules/hypot (configure.ac): Likewise.
34701         * modules/j0 (configure.ac): Likewise.
34702         * modules/j1 (configure.ac): Likewise.
34703         * modules/jn (configure.ac): Likewise.
34704         * modules/ldexp (configure.ac): Likewise.
34705         * modules/lgamma (configure.ac): Likewise.
34706         * modules/log (configure.ac): Likewise.
34707         * modules/log10 (configure.ac): Likewise.
34708         * modules/log1p (configure.ac): Likewise.
34709         * modules/logb (configure.ac): Likewise.
34710         * modules/modf (configure.ac): Likewise.
34711         * modules/nextafter (configure.ac): Likewise.
34712         * modules/pow (configure.ac): Likewise.
34713         * modules/remainder (configure.ac): Likewise.
34714         * modules/rint (configure.ac): Likewise.
34715         * modules/sin (configure.ac): Likewise.
34716         * modules/sinh (configure.ac): Likewise.
34717         * modules/tan (configure.ac): Likewise.
34718         * modules/tanh (configure.ac): Likewise.
34719         * modules/y0 (configure.ac): Likewise.
34720         * modules/y1 (configure.ac): Likewise.
34721         * modules/yn (configure.ac): Likewise.
34722
34723 2010-01-24  Bruno Haible  <bruno@clisp.org>
34724
34725         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34726         * tests/test-acosl.c (x): New variable.
34727         (main): Store argument in x and fetch it from x.
34728         * tests/test-asinl.c (x): New variable.
34729         (main): Store argument in x and fetch it from x.
34730         * tests/test-atanl.c (x): New variable.
34731         (main): Store argument in x and fetch it from x.
34732         * tests/test-cosl.c (x): New variable.
34733         (main): Store argument in x and fetch it from x.
34734         * tests/test-expl.c (x): New variable.
34735         (main): Store argument in x and fetch it from x.
34736         * tests/test-logl.c (x): New variable.
34737         (main): Store argument in x and fetch it from x.
34738         * tests/test-sinl.c (x): New variable.
34739         (main): Store argument in x and fetch it from x.
34740         * tests/test-sqrtl.c (x): New variable.
34741         (main): Store argument in x and fetch it from x.
34742         * tests/test-tanl.c (x): New variable.
34743         (main): Store argument in x and fetch it from x.
34744
34745 2010-01-24  Bruno Haible  <bruno@clisp.org>
34746
34747         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34748         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34749         assignments to the initial TESTS_ENVIRONMENT.
34750         * doc/gnulib.texi (Unit test modules): Document it.
34751         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34752         TESTS_ENVIRONMENT.
34753         * modules/btowc-tests (Makefile.am): Likewise.
34754         * modules/c-stack-tests (Makefile.am): Likewise.
34755         * modules/c-strcase-tests (Makefile.am): Likewise.
34756         * modules/copy-file-tests (Makefile.am): Likewise.
34757         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34758         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34759         * modules/mbrtowc-tests (Makefile.am): Likewise.
34760         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34761         * modules/mbscasestr-tests (Makefile.am): Likewise.
34762         * modules/mbschr-tests (Makefile.am): Likewise.
34763         * modules/mbscspn-tests (Makefile.am): Likewise.
34764         * modules/mbsinit-tests (Makefile.am): Likewise.
34765         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34766         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34767         * modules/mbspbrk-tests (Makefile.am): Likewise.
34768         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34769         * modules/mbsrchr-tests (Makefile.am): Likewise.
34770         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34771         * modules/mbsspn-tests (Makefile.am): Likewise.
34772         * modules/mbsstr-tests (Makefile.am): Likewise.
34773         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34774         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34775         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34776         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34777         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34778         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34779         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34780         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34781         * modules/wcrtomb-tests (Makefile.am): Likewise.
34782         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34783         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34784         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34785         assignments from TESTS_ENVIRONMENT.
34786         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34787         augmentation.
34788         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34789         * modules/atexit-tests (Makefile.am): Likewise.
34790         * modules/binary-io-tests (Makefile.am): Likewise.
34791         * modules/closein-tests (Makefile.am): Likewise.
34792         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34793         * modules/exclude-tests (Makefile.am): Likewise.
34794         * modules/fflush-tests (Makefile.am): Likewise.
34795         * modules/fpending-tests (Makefile.am): Likewise.
34796         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34797         * modules/freadahead-tests (Makefile.am): Likewise.
34798         * modules/freadptr-tests (Makefile.am): Likewise.
34799         * modules/freadseek-tests (Makefile.am): Likewise.
34800         * modules/fseek-tests (Makefile.am): Likewise.
34801         * modules/fseeko-tests (Makefile.am): Likewise.
34802         * modules/ftell-tests (Makefile.am): Likewise.
34803         * modules/ftello-tests (Makefile.am): Likewise.
34804         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34805         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34806         * modules/lseek-tests (Makefile.am): Likewise.
34807         * modules/parse-duration-tests (Makefile.am): Likewise.
34808         * modules/perror-tests (Makefile.am): Likewise.
34809         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34810         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34811         * modules/pipe-tests (Makefile.am): Likewise.
34812         * modules/pread-tests (Makefile.am): Likewise.
34813         * modules/printf-posix-tests (Makefile.am): Likewise.
34814         * modules/select-tests (Makefile.am): Likewise.
34815         * modules/sigpipe-tests (Makefile.am): Likewise.
34816         * modules/tsearch-tests (Makefile.am): Likewise.
34817         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34818         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34819         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34820         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34821         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34822         * modules/version-etc-tests (Makefile.am): Likewise.
34823         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34824         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34825         * modules/xalloc-die-tests (Makefile.am): Likewise.
34826         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34827         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34828         * modules/xstrtol-tests (Makefile.am): Likewise.
34829         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34830         * modules/yesno-tests (Makefile.am): Likewise.
34831         Suggested by Jim Meyering.
34832
34833 2010-01-24  Bruno Haible  <bruno@clisp.org>
34834
34835         More documentation.
34836         * doc/gnulib.texi (Writing modules): New chapter.
34837         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34838         the new chapter.
34839
34840 2010-01-24  Jim Meyering  <meyering@redhat.com>
34841
34842         maint.mk: do not prepend "./" after filtering
34843         * top/maint.mk (_prepend_srcdir_prefix): New variable
34844         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34845         "./" when $(srcdir) is ".".
34846
34847         define STREQ(a,b) consistently, removing useless parentheses
34848         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34849         since the only risk is that "a" or "b" contains an unparenthesized
34850         comma, but if either did that, STREQ would have 3 or more arguments.
34851         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34852         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34853         * lib/hash-triple.c (STREQ): Likewise.
34854         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34855         * lib/getugroups.c (STREQ): Likewise.
34856
34857 2010-01-23  Jim Meyering  <meyering@redhat.com>
34858
34859         maint.mk: fix syntax-check in a non-srcdir build directory
34860         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34861         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34862
34863 2010-01-22  Jim Meyering  <meyering@redhat.com>
34864
34865         userspec: add unit tests
34866         * tests/test-userspec.c: New file.
34867         * modules/userspec-tests: Likewise.
34868
34869 2010-01-21  Jim Meyering  <meyering@redhat.com>
34870
34871         maint.mk: handle source file names containing "." robustly
34872         * top/maint.mk (_dot_escaped_srcdir): Define.
34873         (VC_LIST): Use it in LHS of sed substitution.
34874
34875 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34876
34877         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34878         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34879         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34880         from a non-srcdir build.
34881
34882 2010-01-20  Eric Blake  <ebb9@byu.net>
34883
34884         warn-on-use: use instead of link-warning
34885         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34886         * modules/unistd (Depends-on, Makefile.am): Likewise.
34887         * modules/arpa_inet (Depends-on): Replace link-warning with
34888         warn-on-use.
34889         (Makefile.am): Update rules accordingly.
34890         * modules/ctype (Depends-on, Makefile.am): Likewise.
34891         * modules/dirent (Depends-on, Makefile.am): Likewise.
34892         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34893         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34894         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34895         * modules/locale (Depends-on, Makefile.am): Likewise.
34896         * modules/math (Depends-on, Makefile.am): Likewise.
34897         * modules/search (Depends-on, Makefile.am): Likewise.
34898         * modules/signal (Depends-on, Makefile.am): Likewise.
34899         * modules/spawn (Depends-on, Makefile.am): Likewise.
34900         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34901         * modules/string (Depends-on, Makefile.am): Likewise.
34902         * modules/strings (Depends-on, Makefile.am): Likewise.
34903         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34904         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34905         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34906         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34907         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34908         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34909         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34910         * modules/wchar (Depends-on, Makefile.am): Likewise.
34911         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34912         should be poisoned.
34913         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34914         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34915         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34916         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34917         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34918         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34919         * m4/math_h.m4 (gl_MATH_H): Likewise.
34920         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34921         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34922         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34923         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34924         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34925         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34926         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34927         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34928         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34929         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34930         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34931         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34932         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34933         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34934         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34935         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34936         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34937         GL_LINK_WARNING.
34938         * lib/ctype.in.h: Likewise.
34939         * lib/dirent.in.h: Likewise.
34940         * lib/fcntl.in.h: Likewise.
34941         * lib/inttypes.in.h: Likewise.
34942         * lib/langinfo.in.h: Likewise.
34943         * lib/locale.in.h: Likewise.
34944         * lib/math.in.h: Likewise.
34945         * lib/search.in.h: Likewise.
34946         * lib/signal.in.h: Likewise.
34947         * lib/spawn.in.h: Likewise.
34948         * lib/stdio.in.h: Likewise.
34949         * lib/stdlib.in.h: Likewise.
34950         * lib/string.in.h: Likewise.
34951         * lib/strings.in.h: Likewise.
34952         * lib/sys_file.in.h: Likewise.
34953         * lib/sys_ioctl.in.h: Likewise.
34954         * lib/sys_select.in.h: Likewise.
34955         * lib/sys_socket.in.h: Likewise.
34956         * lib/sys_stat.in.h: Likewise.
34957         * lib/sys_times.in.h: Likewise.
34958         * lib/sys_utsname.in.h: Likewise.
34959         * lib/unistd.in.h: Likewise.
34960         * lib/wchar.in.h: Likewise.
34961
34962 2010-01-20  Bruno Haible  <bruno@clisp.org>
34963
34964         Avoid duplicate -lm.
34965         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34966         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34967         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34968         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34969         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34970         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34971         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34972         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34973         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34974         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34975         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34976         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34977         Reported by Paolo Bonzini.
34978
34979 2010-01-19  Bruno Haible  <bruno@clisp.org>
34980
34981         langinfo, nl_langinfo: Relicense under LGPLv2+.
34982         * modules/langinfo (License): Change to LGPLv2+.
34983         * modules/nl_langinfo (License): Likewise.
34984         Patch by David Lutterkort <lutter@redhat.com>.
34985
34986 2010-01-19  Bruno Haible  <bruno@clisp.org>
34987
34988         Avoid compilation error with cc on OSF/1 5.1.
34989         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34990         statement, not before.
34991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34992
34993 2010-01-18  Bruno Haible  <bruno@clisp.org>
34994
34995         Avoid a link error due to the __printf__ symbol.
34996         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
34997         and 2.6.x.
34998         (__format__, __printf__): Remove definitions.
34999         * lib/argp-fmtstream.h: Likewise.
35000         * lib/argp.h: Likewise.
35001         * lib/error.h: Likewise.
35002         * lib/vasnprintf.h: Likewise.
35003         * lib/xprintf.h: Likewise.
35004         * lib/xvasprintf.h: Likewise.
35005         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35006
35007 2010-01-18  Bruno Haible  <bruno@clisp.org>
35008
35009         Tests for module 'tanl'.
35010         * modules/tanl-tests: New file.
35011         * tests/test-tanl.c: New file.
35012
35013         Tests for module 'sqrtl'.
35014         * modules/sqrtl-tests: New file.
35015         * tests/test-sqrtl.c: New file.
35016
35017         Tests for module 'sinl'.
35018         * modules/sinl-tests: New file.
35019         * tests/test-sinl.c: New file.
35020
35021         Tests for module 'logl'.
35022         * modules/logl-tests: New file.
35023         * tests/test-logl.c: New file.
35024
35025         Tests for module 'expl'.
35026         * modules/expl-tests: New file.
35027         * tests/test-expl.c: New file.
35028
35029         Tests for module 'cosl'.
35030         * modules/cosl-tests: New file.
35031         * tests/test-cosl.c: New file.
35032
35033         Tests for module 'atanl'.
35034         * modules/atanl-tests: New file.
35035         * tests/test-atanl.c: New file.
35036
35037         Tests for module 'asinl'.
35038         * modules/asinl-tests: New file.
35039         * tests/test-asinl.c: New file.
35040
35041         Tests for module 'acosl'.
35042         * modules/acosl-tests: New file.
35043         * tests/test-acosl.c: New file.
35044
35045         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35046         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35047         tanl): Use the standard gnulib idiom.
35048         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35049         * lib/sinl.c: Likewise.
35050         * lib/tanl.c: Don't include trigl.c.
35051         (kernel_tanl): Make static.
35052         * lib/sincosl.c: Include trigl.h first.
35053         * lib/trigl.c: Likewise.
35054         * m4/acosl.m4: New file.
35055         * m4/asinl.m4: New file.
35056         * m4/atanl.m4: New file.
35057         * m4/cosl.m4: New file.
35058         * m4/expl.m4: New file.
35059         * m4/logl.m4: New file.
35060         * m4/sinl.m4: New file.
35061         * m4/sqrtl.m4: New file.
35062         * m4/tanl.m4: New file.
35063         * m4/mathl.m4: Remove file.
35064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35065         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35066         Don't initialize GNULIB_MATHL.
35067         * modules/acosl: New file.
35068         * modules/asinl: New file.
35069         * modules/atanl: New file.
35070         * modules/cosl: New file.
35071         * modules/expl: New file.
35072         * modules/logl: New file.
35073         * modules/sinl: New file.
35074         * modules/sqrtl: New file.
35075         * modules/tanl: New file.
35076         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35077         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35078         substitute GNULIB_MATHL.
35079         * modules/mathl: Rewritten.
35080         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35081         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35082         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35083         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35084         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35085         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35086         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35087         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35088         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35089
35090 2010-01-18  Bruno Haible  <bruno@clisp.org>
35091
35092         sqrt: Make gl_FUNC_SQRT requirable.
35093         * m4/sqrt.m4: New file.
35094         * modules/sqrt (Files): Add it.
35095         (configure.ac): Invoke gl_FUNC_SQRT.
35096
35097 2010-01-18  Bruno Haible  <bruno@clisp.org>
35098
35099         New modules for common <math.h> functions.
35100         * m4/mathfunc.m4: New file.
35101         * modules/acos: New file.
35102         * modules/asin: New file.
35103         * modules/atan: New file.
35104         * modules/atan2: New file.
35105         * modules/cbrt: New file.
35106         * modules/copysign: New file.
35107         * modules/cos: New file.
35108         * modules/cosh: New file.
35109         * modules/erf: New file.
35110         * modules/erfc: New file.
35111         * modules/exp: New file.
35112         * modules/fabs: New file.
35113         * modules/fmod: New file.
35114         * modules/hypot: New file.
35115         * modules/j0: New file.
35116         * modules/j1: New file.
35117         * modules/jn: New file.
35118         * modules/ldexp: New file.
35119         * modules/lgamma: New file.
35120         * modules/log: New file.
35121         * modules/log10: New file.
35122         * modules/log1p: New file.
35123         * modules/logb: New file.
35124         * modules/modf: New file.
35125         * modules/nextafter: New file.
35126         * modules/pow: New file.
35127         * modules/remainder: New file.
35128         * modules/rint: New file.
35129         * modules/sin: New file.
35130         * modules/sinh: New file.
35131         * modules/sqrt: New file.
35132         * modules/tan: New file.
35133         * modules/tanh: New file.
35134         * modules/y0: New file.
35135         * modules/y1: New file.
35136         * modules/yn: New file.
35137         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35138         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35139         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35140         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35141         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35142         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35143         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35144         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35145         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35146         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35147         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35148         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35149         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35150         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35151         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35152         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35153         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35154         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35155         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35156         * doc/posix-functions/log.texi: Mention the 'log' module.
35157         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35158         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35159         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35160         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35161         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35162         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35163         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35164         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35165         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35166         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35167         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35168         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35169         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35170         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35171         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35172         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35173
35174 2010-01-18  Jim Meyering  <meyering@redhat.com>
35175
35176         ignore-value: relax license to LGPLv2+
35177         * modules/ignore-value (License): Relax to LGPLv2+.
35178
35179         getdate: don't leak when TZ contains two or more '"'s
35180         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35181         double quote in TZ after the first one.
35182
35183         readtokens: do not leak internal token_lengths buffer
35184         * lib/readtokens.c (readtokens): Free the local, lengths,
35185         when the supplied "token_lengths" parameter is NULL.
35186
35187 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35188
35189         Fix a couple of missing LIBTHREAD link failures on AIX.
35190         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35191         $(LIBTHREAD).
35192         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35193
35194         Link test-poll against INET_PTON_LIB.
35195         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35196         for inet_pton on Solaris 10.
35197
35198 2010-01-17  Bruno Haible  <bruno@clisp.org>
35199
35200         unistdio/*-sprintf: Fix typo in module description.
35201         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35202         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35203         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35204         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35205         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35206         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35207         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35208         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35209
35210 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35211
35212         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35213         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35214         variables in shell case patterns, for AIX and HP-UX ksh.
35215
35216         Split large sed scripts, for HP-UX sed.
35217         * modules/stdio: Split sed scripts around 50 sed commands,
35218         to avoid HP-UX limit of 99 commands, in the near future.
35219         * modules/string: Likewise.
35220         * modules/unistd: Likewise.
35221
35222         gnulib-tool: avoid writing in the current directory.
35223         * gnulib-tool (func_emit_lib_Makefile_am)
35224         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35225         not in the current directory, so concurrent gnulib-tool
35226         instances do not interfere.
35227
35228 2010-01-16  Jim Meyering  <meyering@redhat.com>
35229
35230         doc: update users.txt
35231         * users.txt: Add grep.
35232         (diffutils, gzip): Update URLs.
35233
35234 2010-01-12  Bruno Haible  <bruno@clisp.org>
35235
35236         posix_spawn: Avoid test failure on Cygwin.
35237         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35238         characters.
35239         Reported by Simon Josefsson.
35240
35241 2010-01-12  Bruno Haible  <bruno@clisp.org>
35242
35243         * tests/test-cond.c (main): When skipping the test, show the reason.
35244
35245 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35246
35247         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35248
35249 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35250
35251         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35252         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35253
35254 2010-01-12  Eric Blake  <ebb9@byu.net>
35255
35256         build: guarantee AS_VAR_IF
35257         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35258         (gl_AS_VAR_IF): Move...
35259         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35260         Reported by Simon Josefsson.
35261
35262 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35263
35264         * lib/stdio.in.h: Fix typo.
35265
35266 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35267
35268         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35269         libgpg-error.
35270
35271 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35272
35273         * tests/test-xalloc-die.sh: Use $EXEEXT.
35274
35275 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35276             Bruno Haible  <bruno@clisp.org>
35277
35278         getlogin, getlogin_r: Avoid test failure.
35279         * tests/test-getlogin.c: Include <stdio.h>.
35280         (main): Skip the test when the function fails because stdin is not a
35281         tty.
35282         * tests/test-getlogin_r.c: Include <stdio.h>.
35283         (main): Skip the test when the function fails because stdin is not a
35284         tty.
35285
35286 2010-01-11  Eric Blake  <ebb9@byu.net>
35287
35288         tests: avoid more large file warnings
35289         * tests/test-fflush.c: Avoid warning about ftell use.
35290         * tests/test-fseek.c: Avoid warning about fseek use.
35291
35292 2010-01-10  Bruno Haible  <bruno@clisp.org>
35293
35294         nproc: Work better on Linux when /proc and /sys are not mounted.
35295         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35296         as lower bound when, on glibc/Linux systems,
35297         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35298         Suggested by Pádraig Brady <P@draigbrady.com>.
35299         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35300
35301         nproc: Refactor.
35302         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35303         extracted from num_processors.
35304         (num_processors): Call it.
35305
35306 2010-01-11  Jim Meyering  <meyering@redhat.com>
35307
35308         utimecmp: avoid new warning from upcoming gcc-4.5.0
35309         * lib/utimecmp.c (BILLION): Define using #define rather than an
35310         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35311
35312 2010-01-11  Eric Blake  <ebb9@byu.net>
35313
35314         math: add portability warnings for classification macros
35315         * modules/math (Depends-on): Add warn-on-use.
35316         (Makefile.am): Provide new substitutions.
35317         * m4/math_h.m4 (gl_MATH_H): Require inline.
35318         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35319         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35320         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35321         implement warnings.
35322
35323         unistd: warn on use of environ without module
35324         * modules/unistd (Depends-on): Add warn-on-use.
35325         (Makefile.am): Provide new substitutions.
35326         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35327         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35328
35329         stdio: warn on suspicious uses
35330         * modules/stdio (Depends-on): Add warn-on-use.
35331         (Makefile.am): Provide new substitutions.
35332         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35333         fseeko.
35334         * lib/stdio.in.h (gets): Always warn on use.
35335         (fseek, ftell): Adjust when warnings are issued, and honor
35336         _GL_NO_LARGE_FILES as a way to silence the warning.
35337         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35338         any warning about large file offsets.
35339         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35340         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35341         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35342         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35343         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35344         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35345         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35346         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35347
35348         warn-on-use: new module
35349         * modules/warn-on-use: New file.
35350         * build-aux/warn-on-use.h: Likewise.
35351         * m4/warn-on-use.m4: Likewise.
35352         * MODULES.html.sh (Support for building): Mention it.
35353
35354 2010-01-10  Bruno Haible  <bruno@clisp.org>
35355
35356         Tests for module 'unistr/u32-strdup'.
35357         * modules/unistr/u32-strdup-tests: New file.
35358         * tests/unistr/test-u32-strdup.c: New file.
35359
35360         Tests for module 'unistr/u16-strdup'.
35361         * modules/unistr/u16-strdup-tests: New file.
35362         * tests/unistr/test-u16-strdup.c: New file.
35363
35364         Tests for module 'unistr/u8-strdup'.
35365         * modules/unistr/u8-strdup-tests: New file.
35366         * tests/unistr/test-u8-strdup.c: New file.
35367         * tests/unistr/test-strdup.h: New file.
35368
35369         Tests for module 'unistr/u32-strncmp'.
35370         * modules/unistr/u32-strncmp-tests: New file.
35371         * tests/unistr/test-u32-strncmp.c: New file.
35372
35373         Tests for module 'unistr/u16-strncmp'.
35374         * modules/unistr/u16-strncmp-tests: New file.
35375         * tests/unistr/test-u16-strncmp.c: New file.
35376
35377         Tests for module 'unistr/u8-strncmp'.
35378         * modules/unistr/u8-strncmp-tests: New file.
35379         * tests/unistr/test-u8-strncmp.c: New file.
35380         * tests/unistr/test-strncmp.h: New file.
35381
35382         Tests for module 'unistr/u32-strcoll'.
35383         * modules/unistr/u32-strcoll-tests: New file.
35384         * tests/unistr/test-u32-strcoll.c: New file.
35385
35386         Tests for module 'unistr/u16-strcoll'.
35387         * modules/unistr/u16-strcoll-tests: New file.
35388         * tests/unistr/test-u16-strcoll.c: New file.
35389
35390         Tests for module 'unistr/u8-strcoll'.
35391         * modules/unistr/u8-strcoll-tests: New file.
35392         * tests/unistr/test-u8-strcoll.c: New file.
35393
35394         Tests for module 'unistr/u32-strcmp'.
35395         * modules/unistr/u32-strcmp-tests: New file.
35396         * tests/unistr/test-u32-strcmp.c: New file.
35397         * tests/unistr/test-u32-strcmp.h: New file.
35398
35399         Tests for module 'unistr/u16-strcmp'.
35400         * modules/unistr/u16-strcmp-tests: New file.
35401         * tests/unistr/test-u16-strcmp.c: New file.
35402         * tests/unistr/test-u16-strcmp.h: New file.
35403
35404         Tests for module 'unistr/u8-strcmp'.
35405         * modules/unistr/u8-strcmp-tests: New file.
35406         * tests/unistr/test-u8-strcmp.c: New file.
35407         * tests/unistr/test-u8-strcmp.h: New file.
35408         * tests/unistr/test-strcmp.h: New file.
35409
35410         Tests for module 'unistr/u32-strncat'.
35411         * modules/unistr/u32-strncat-tests: New file.
35412         * tests/unistr/test-u32-strncat.c: New file.
35413
35414         Tests for module 'unistr/u16-strncat'.
35415         * modules/unistr/u16-strncat-tests: New file.
35416         * tests/unistr/test-u16-strncat.c: New file.
35417
35418         Tests for module 'unistr/u8-strncat'.
35419         * modules/unistr/u8-strncat-tests: New file.
35420         * tests/unistr/test-u8-strncat.c: New file.
35421         * tests/unistr/test-strncat.h: New file.
35422
35423         Tests for module 'unistr/u32-strcat'.
35424         * modules/unistr/u32-strcat-tests: New file.
35425         * tests/unistr/test-u32-strcat.c: New file.
35426
35427         Tests for module 'unistr/u16-strcat'.
35428         * modules/unistr/u16-strcat-tests: New file.
35429         * tests/unistr/test-u16-strcat.c: New file.
35430
35431         Tests for module 'unistr/u8-strcat'.
35432         * modules/unistr/u8-strcat-tests: New file.
35433         * tests/unistr/test-u8-strcat.c: New file.
35434         * tests/unistr/test-strcat.h: New file.
35435
35436         Tests for module 'unistr/u32-stpncpy'.
35437         * modules/unistr/u32-stpncpy-tests: New file.
35438         * tests/unistr/test-u32-stpncpy.c: New file.
35439
35440         Tests for module 'unistr/u16-stpncpy'.
35441         * modules/unistr/u16-stpncpy-tests: New file.
35442         * tests/unistr/test-u16-stpncpy.c: New file.
35443
35444         Tests for module 'unistr/u8-stpncpy'.
35445         * modules/unistr/u8-stpncpy-tests: New file.
35446         * tests/unistr/test-u8-stpncpy.c: New file.
35447         * tests/unistr/test-stpncpy.h: New file.
35448
35449         Tests for module 'unistr/u32-strncpy'.
35450         * modules/unistr/u32-strncpy-tests: New file.
35451         * tests/unistr/test-u32-strncpy.c: New file.
35452
35453         Tests for module 'unistr/u16-strncpy'.
35454         * modules/unistr/u16-strncpy-tests: New file.
35455         * tests/unistr/test-u16-strncpy.c: New file.
35456
35457         Tests for module 'unistr/u8-strncpy'.
35458         * modules/unistr/u8-strncpy-tests: New file.
35459         * tests/unistr/test-u8-strncpy.c: New file.
35460         * tests/unistr/test-strncpy.h: New file.
35461
35462         Tests for module 'unistr/u32-stpcpy'.
35463         * modules/unistr/u32-stpcpy-tests: New file.
35464         * tests/unistr/test-u32-stpcpy.c: New file.
35465
35466         Tests for module 'unistr/u16-stpcpy'.
35467         * modules/unistr/u16-stpcpy-tests: New file.
35468         * tests/unistr/test-u16-stpcpy.c: New file.
35469
35470         Tests for module 'unistr/u8-stpcpy'.
35471         * modules/unistr/u8-stpcpy-tests: New file.
35472         * tests/unistr/test-u8-stpcpy.c: New file.
35473         * tests/unistr/test-stpcpy.h: New file.
35474
35475         Tests for module 'unistr/u32-strcpy'.
35476         * modules/unistr/u32-strcpy-tests: New file.
35477         * tests/unistr/test-u32-strcpy.c: New file.
35478
35479         Tests for module 'unistr/u16-strcpy'.
35480         * modules/unistr/u16-strcpy-tests: New file.
35481         * tests/unistr/test-u16-strcpy.c: New file.
35482
35483         Tests for module 'unistr/u8-strcpy'.
35484         * modules/unistr/u8-strcpy-tests: New file.
35485         * tests/unistr/test-u8-strcpy.c: New file.
35486         * tests/unistr/test-strcpy.h: New file.
35487
35488         Tests for module 'unistr/u32-strnlen'.
35489         * modules/unistr/u32-strnlen-tests: New file.
35490         * tests/unistr/test-u32-strnlen.c: New file.
35491
35492         Tests for module 'unistr/u16-strnlen'.
35493         * modules/unistr/u16-strnlen-tests: New file.
35494         * tests/unistr/test-u16-strnlen.c: New file.
35495
35496         Tests for module 'unistr/u8-strnlen'.
35497         * modules/unistr/u8-strnlen-tests: New file.
35498         * tests/unistr/test-u8-strnlen.c: New file.
35499         * tests/unistr/test-strnlen.h: New file.
35500
35501         Tests for module 'unistr/u32-strlen'.
35502         * modules/unistr/u32-strlen-tests: New file.
35503         * tests/unistr/test-u32-strlen.c: New file.
35504
35505         Tests for module 'unistr/u16-strlen'.
35506         * modules/unistr/u16-strlen-tests: New file.
35507         * tests/unistr/test-u16-strlen.c: New file.
35508
35509         Tests for module 'unistr/u8-strlen'.
35510         * modules/unistr/u8-strlen-tests: New file.
35511         * tests/unistr/test-u8-strlen.c: New file.
35512
35513         Tests for module 'unistr/u32-prev'.
35514         * modules/unistr/u32-prev-tests: New file.
35515         * tests/unistr/test-u32-prev.c: New file.
35516
35517         Tests for module 'unistr/u16-prev'.
35518         * modules/unistr/u16-prev-tests: New file.
35519         * tests/unistr/test-u16-prev.c: New file.
35520
35521         Tests for module 'unistr/u8-prev'.
35522         * modules/unistr/u8-prev-tests: New file.
35523         * tests/unistr/test-u8-prev.c: New file.
35524
35525         Tests for module 'unistr/u32-next'.
35526         * modules/unistr/u32-next-tests: New file.
35527         * tests/unistr/test-u32-next.c: New file.
35528
35529         Tests for module 'unistr/u16-next'.
35530         * modules/unistr/u16-next-tests: New file.
35531         * tests/unistr/test-u16-next.c: New file.
35532
35533         Tests for module 'unistr/u8-next'.
35534         * modules/unistr/u8-next-tests: New file.
35535         * tests/unistr/test-u8-next.c: New file.
35536
35537         Tests for module 'unistr/u32-strmbtouc'.
35538         * modules/unistr/u32-strmbtouc-tests: New file.
35539         * tests/unistr/test-u32-strmbtouc.c: New file.
35540
35541         Tests for module 'unistr/u16-strmbtouc'.
35542         * modules/unistr/u16-strmbtouc-tests: New file.
35543         * tests/unistr/test-u16-strmbtouc.c: New file.
35544
35545         Tests for module 'unistr/u8-strmbtouc'.
35546         * modules/unistr/u8-strmbtouc-tests: New file.
35547         * tests/unistr/test-u8-strmbtouc.c: New file.
35548
35549         Tests for module 'unistr/u32-strmblen'.
35550         * modules/unistr/u32-strmblen-tests: New file.
35551         * tests/unistr/test-u32-strmblen.c: New file.
35552
35553         Tests for module 'unistr/u16-strmblen'.
35554         * modules/unistr/u16-strmblen-tests: New file.
35555         * tests/unistr/test-u16-strmblen.c: New file.
35556
35557         Tests for module 'unistr/u8-strmblen'.
35558         * modules/unistr/u8-strmblen-tests: New file.
35559         * tests/unistr/test-u8-strmblen.c: New file.
35560
35561         Tests for module 'unistr/u32-cpy-alloc'.
35562         * modules/unistr/u32-cpy-alloc-tests: New file.
35563         * tests/unistr/test-u32-cpy-alloc.c: New file.
35564
35565         Tests for module 'unistr/u16-cpy-alloc'.
35566         * modules/unistr/u16-cpy-alloc-tests: New file.
35567         * tests/unistr/test-u16-cpy-alloc.c: New file.
35568
35569         Tests for module 'unistr/u8-cpy-alloc'.
35570         * modules/unistr/u8-cpy-alloc-tests: New file.
35571         * tests/unistr/test-u8-cpy-alloc.c: New file.
35572         * tests/unistr/test-cpy-alloc.h: New file.
35573
35574         Tests for module 'unistr/u32-mbsnlen'.
35575         * modules/unistr/u32-mbsnlen-tests: New file.
35576         * tests/unistr/test-u32-mbsnlen.c: New file.
35577
35578         Tests for module 'unistr/u16-mbsnlen'.
35579         * modules/unistr/u16-mbsnlen-tests: New file.
35580         * tests/unistr/test-u16-mbsnlen.c: New file.
35581
35582         Tests for module 'unistr/u8-mbsnlen'.
35583         * modules/unistr/u8-mbsnlen-tests: New file.
35584         * tests/unistr/test-u8-mbsnlen.c: New file.
35585
35586         Tests for module 'unistr/u32-chr'.
35587         * modules/unistr/u32-chr-tests: New file.
35588         * tests/unistr/test-u32-chr.c: New file.
35589
35590         Tests for module 'unistr/u16-chr'.
35591         * modules/unistr/u16-chr-tests: New file.
35592         * tests/unistr/test-u16-chr.c: New file.
35593
35594         Tests for module 'unistr/u8-chr'.
35595         * modules/unistr/u8-chr-tests: New file.
35596         * tests/unistr/test-u8-chr.c: New file.
35597         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35598
35599         Tests for module 'unistr/u32-cmp2'.
35600         * modules/unistr/u32-cmp2-tests: New file.
35601         * tests/unistr/test-u32-cmp2.c: New file.
35602
35603         Tests for module 'unistr/u16-cmp2'.
35604         * modules/unistr/u16-cmp2-tests: New file.
35605         * tests/unistr/test-u16-cmp2.c: New file.
35606
35607         Tests for module 'unistr/u8-cmp2'.
35608         * modules/unistr/u8-cmp2-tests: New file.
35609         * tests/unistr/test-u8-cmp2.c: New file.
35610         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35611
35612         Tests for module 'unistr/u32-cmp'.
35613         * modules/unistr/u32-cmp-tests: New file.
35614         * tests/unistr/test-u32-cmp.c: New file.
35615
35616         Tests for module 'unistr/u16-cmp'.
35617         * modules/unistr/u16-cmp-tests: New file.
35618         * tests/unistr/test-u16-cmp.c: New file.
35619
35620         Tests for module 'unistr/u8-cmp'.
35621         * modules/unistr/u8-cmp-tests: New file.
35622         * tests/unistr/test-u8-cmp.c: New file.
35623         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35624
35625         Tests for module 'unistr/u32-set'.
35626         * modules/unistr/u32-set-tests: New file.
35627         * tests/unistr/test-u32-set.c: New file.
35628
35629         Tests for module 'unistr/u16-set'.
35630         * modules/unistr/u16-set-tests: New file.
35631         * tests/unistr/test-u16-set.c: New file.
35632
35633         Tests for module 'unistr/u8-set'.
35634         * modules/unistr/u8-set-tests: New file.
35635         * tests/unistr/test-u8-set.c: New file.
35636         * tests/unistr/test-set.h: New file.
35637
35638         Tests for module 'unistr/u32-move'.
35639         * modules/unistr/u32-move-tests: New file.
35640         * tests/unistr/test-u32-move.c: New file.
35641
35642         Tests for module 'unistr/u16-move'.
35643         * modules/unistr/u16-move-tests: New file.
35644         * tests/unistr/test-u16-move.c: New file.
35645
35646         Tests for module 'unistr/u8-move'.
35647         * modules/unistr/u8-move-tests: New file.
35648         * tests/unistr/test-u8-move.c: New file.
35649         * tests/unistr/test-move.h: New file.
35650
35651         Tests for module 'unistr/u32-cpy'.
35652         * modules/unistr/u32-cpy-tests: New file.
35653         * tests/unistr/test-u32-cpy.c: New file.
35654
35655         Tests for module 'unistr/u16-cpy'.
35656         * modules/unistr/u16-cpy-tests: New file.
35657         * tests/unistr/test-u16-cpy.c: New file.
35658
35659         Tests for module 'unistr/u8-cpy'.
35660         * modules/unistr/u8-cpy-tests: New file.
35661         * tests/unistr/test-u8-cpy.c: New file.
35662         * tests/unistr/test-cpy.h: New file.
35663
35664 2010-01-09  Bruno Haible  <bruno@clisp.org>
35665
35666         Tests for module 'unistr/u32-uctomb'.
35667         * modules/unistr/u32-uctomb-tests: New file.
35668         * tests/unistr/test-u32-uctomb.c: New file.
35669
35670         Tests for module 'unistr/u16-uctomb'.
35671         * modules/unistr/u16-uctomb-tests: New file.
35672         * tests/unistr/test-u16-uctomb.c: New file.
35673
35674         Tests for module 'unistr/u8-uctomb'.
35675         * modules/unistr/u8-uctomb-tests: New file.
35676         * tests/unistr/test-u8-uctomb.c: New file.
35677
35678         Tests for module 'unistr/u32-mbtoucr'.
35679         * modules/unistr/u32-mbtoucr-tests: New file.
35680         * tests/unistr/test-u32-mbtoucr.c: New file.
35681
35682         Tests for module 'unistr/u16-mbtoucr'.
35683         * modules/unistr/u16-mbtoucr-tests: New file.
35684         * tests/unistr/test-u16-mbtoucr.c: New file.
35685
35686         Tests for module 'unistr/u8-mbtoucr'.
35687         * modules/unistr/u8-mbtoucr-tests: New file.
35688         * tests/unistr/test-u8-mbtoucr.c: New file.
35689
35690         Tests for module 'unistr/u32-mbtouc'.
35691         * modules/unistr/u32-mbtouc-tests: New file.
35692         * tests/unistr/test-u32-mbtouc.c: New file.
35693
35694         Tests for module 'unistr/u16-mbtouc'.
35695         * modules/unistr/u16-mbtouc-tests: New file.
35696         * tests/unistr/test-u16-mbtouc.c: New file.
35697
35698         Tests for module 'unistr/u8-mbtouc'.
35699         * modules/unistr/u8-mbtouc-tests: New file.
35700         * tests/unistr/test-u8-mbtouc.c: New file.
35701
35702         Tests for module 'unistr/u32-mbtouc-unsafe'.
35703         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35704         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35705         * tests/unistr/test-u32-mbtouc.h: New file.
35706
35707         Tests for module 'unistr/u16-mbtouc-unsafe'.
35708         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35709         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35710         * tests/unistr/test-u16-mbtouc.h: New file.
35711
35712         Tests for module 'unistr/u8-mbtouc-unsafe'.
35713         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35714         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35715         * tests/unistr/test-u8-mbtouc.h: New file.
35716
35717         Tests for module 'unistr/u32-mblen'.
35718         * modules/unistr/u32-mblen-tests: New file.
35719         * tests/unistr/test-u32-mblen.c: New file.
35720
35721         Tests for module 'unistr/u16-mblen'.
35722         * modules/unistr/u16-mblen-tests: New file.
35723         * tests/unistr/test-u16-mblen.c: New file.
35724
35725         Tests for module 'unistr/u8-mblen'.
35726         * modules/unistr/u8-mblen-tests: New file.
35727         * tests/unistr/test-u8-mblen.c: New file.
35728
35729         Tests for module 'unistr/u32-to-u16'.
35730         * modules/unistr/u32-to-u16-tests: New file.
35731         * tests/unistr/test-u32-to-u16.c: New file.
35732
35733         Tests for module 'unistr/u32-to-u8'.
35734         * modules/unistr/u32-to-u8-tests: New file.
35735         * tests/unistr/test-u32-to-u8.c: New file.
35736
35737         Tests for module 'unistr/u16-to-u32'.
35738         * modules/unistr/u16-to-u32-tests: New file.
35739         * tests/unistr/test-u16-to-u32.c: New file.
35740
35741         Tests for module 'unistr/u16-to-u8'.
35742         * modules/unistr/u16-to-u8-tests: New file.
35743         * tests/unistr/test-u16-to-u8.c: New file.
35744
35745         Tests for module 'unistr/u8-to-u32'.
35746         * modules/unistr/u8-to-u32-tests: New file.
35747         * tests/unistr/test-u8-to-u32.c: New file.
35748
35749         Tests for module 'unistr/u8-to-u16'.
35750         * modules/unistr/u8-to-u16-tests: New file.
35751         * tests/unistr/test-u8-to-u16.c: New file.
35752
35753         Tests for module 'unistr/u32-check'.
35754         * modules/unistr/u32-check-tests: New file.
35755         * tests/unistr/test-u32-check.c: New file.
35756
35757         Tests for module 'unistr/u16-check'.
35758         * modules/unistr/u16-check-tests: New file.
35759         * tests/unistr/test-u16-check.c: New file.
35760
35761         Tests for module 'unistr/u8-check'.
35762         * modules/unistr/u8-check-tests: New file.
35763         * tests/unistr/test-u8-check.c: New file.
35764
35765         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35766         (category_equals): New function.
35767         (main): Add more tests.
35768         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35769
35770         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35771
35772 2010-01-10  Bruno Haible  <bruno@clisp.org>
35773
35774         unistr/u*-strcoll: Try harder to distinguish different strings.
35775         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35776         compare s1 and s2 to see if they are different.
35777
35778 2010-01-10  Bruno Haible  <bruno@clisp.org>
35779
35780         unistr/u*-stpncpy: Fix the return value.
35781         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35782         description of the return value consistent with stpncpy in glibc.
35783         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35784         written non-NUL unit.
35785
35786 2010-01-10  Bruno Haible  <bruno@clisp.org>
35787
35788         unistr/u*-next: Add missing dependencies.
35789         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35790         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35791         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35792
35793 2010-01-10  Bruno Haible  <bruno@clisp.org>
35794
35795         unistr/u8-mbsnlen: Fix return value for incomplete character.
35796         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35797         u8_mblen.
35798         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35799         Remove unistr/u8-mblen.
35800         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35801         u16_mblen.
35802         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35803         Remove unistr/u16-mblen.
35804
35805 2010-01-10  Bruno Haible  <bruno@clisp.org>
35806
35807         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35808         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35809         Reported by Brian Gough <bjg@gnu.org> and
35810         Chris Clayton <chris2553@googlemail.com> via
35811         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35812
35813 2010-01-09  Bruno Haible  <bruno@clisp.org>
35814
35815         unistr/u16-to-u32: Reject invalid input.
35816         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35817         u16_mbtouc.
35818         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35819         Remove unistr/u16-mbtouc.
35820
35821         unistr/u16-to-u8: Reject invalid input.
35822         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35823         u16_mbtouc.
35824         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35825         Remove unistr/u16-mbtouc.
35826
35827         unistr/u8-to-u32: Reject invalid input.
35828         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35829         u8_mbtouc.
35830         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35831         Remove unistr/u8-mbtouc.
35832
35833         unistr/u8-to-u16: Reject invalid input.
35834         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35835         u8_mbtouc.
35836         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35837         Remove unistr/u8-mbtouc.
35838
35839 2010-01-09  Bruno Haible  <bruno@clisp.org>
35840
35841         Tests for module 'getlogin'.
35842         * modules/getlogin-tests: New file.
35843         * tests/test-getlogin.c: New file.
35844
35845         New module 'getlogin'.
35846         * lib/unistd.in.h (getlogin): New declaration.
35847         * lib/getlogin.c: New file.
35848         * m4/getlogin.m4: New file.
35849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35850         HAVE_GETLOGIN.
35851         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35852         HAVE_GETLOGIN.
35853         * modules/getlogin: New file.
35854         * doc/posix-functions/getlogin.texi: Mention the new module.
35855         Reported by John W. Eaton <jwe@gnu.org>.
35856
35857 2010-01-09  Bruno Haible  <bruno@clisp.org>
35858
35859         getlogin_r: Support for native Windows.
35860         * lib/getlogin_r.c: Include <windows.h>
35861         (getlogin_r): Implement for native Windows.
35862         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35863         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35864         via John W. Eaton <jwe@gnu.org>.
35865
35866 2010-01-09  Bruno Haible  <bruno@clisp.org>
35867
35868         getlogin_r: Small fixes.
35869         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35870         succeeds.
35871         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35872         before testing whether getlogin_r is declared. No need to set
35873         HAVE_DECL_GETLOGIN_R to 1.
35874         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35875
35876 2010-01-09  Bruno Haible  <bruno@clisp.org>
35877
35878         * lib/unistd.in.h (getlogin_r): Add comment.
35879
35880 2010-01-09  Bruno Haible  <bruno@clisp.org>
35881
35882         Tests for module 'getlogin_r'.
35883         * modules/getlogin_r-tests: New file.
35884         * tests/test-getlogin_r.c: New file.
35885
35886 2010-01-09  Jim Meyering  <meyering@redhat.com>
35887
35888         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35889         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35890         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35891
35892 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35893
35894         * lib/dup2.c (rpl_dup2): Improve comment.
35895
35896 2010-01-08  Eric Blake  <ebb9@byu.net>
35897
35898         maint.mk: allow packages to add makefile @@ exceptions
35899         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35900         (sc_makefile_check): Rename...
35901         (sc_makefile_at_at_check): ...to this, and use hook.
35902
35903         dup2: work around mingw bug
35904         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35905         Reported by Simon Josefsson.
35906
35907 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35908
35909         glob: Fix C++ compilation.
35910         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35911         C++.
35912
35913 2010-01-07  Bruno Haible  <bruno@clisp.org>
35914
35915         Fix indentation of wctype.in.h, broken since 2007-01-06.
35916         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35917
35918 2010-01-07  Bruno Haible  <bruno@clisp.org>
35919
35920         mbslen: Avoid collision with system function.
35921         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35922         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35923         * m4/mbslen.m4: New file.
35924         * modules/mbslen (Files): Add it.
35925         (configure.ac): Invoke gl_MBSLEN.
35926         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35927         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35928         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35929         via Ian Beckwith <ianb@erislabs.net>.
35930
35931 2010-01-07  Bruno Haible  <bruno@clisp.org>
35932
35933         dirent: Document the last fix.
35934         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35935
35936 2010-01-07  Bruno Haible  <bruno@clisp.org>
35937
35938         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35939         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35940         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35941         va_list are defined.
35942         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35943         Reported by Eric Blake.
35944
35945 2010-01-07  Bruno Haible  <bruno@clisp.org>
35946
35947         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35948         * modules/xlist (Depends-on): Add 'list',
35949         * modules/xoset (Depends-on): Add 'oset'.
35950         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35951
35952 2010-01-07  Bruno Haible  <bruno@clisp.org>
35953
35954         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35955         * doc/posix-functions/strncasecmp.texi: Likewise.
35956
35957 2010-01-07  Bruno Haible  <bruno@clisp.org>
35958
35959         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35960
35961 2010-01-07  John W. Eaton  <jwe@octave.org>
35962
35963         wctype: allow C++ use
35964         * lib/wctype.in.h: Add extern "C" block for C++.
35965
35966 2010-01-06  Eric Blake  <ebb9@byu.net>
35967
35968         maint.mk: detect incorrect GFDL usage
35969         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35970
35971 2010-01-06  Jim Meyering  <meyering@redhat.com>
35972         and Eric Blake  <ebb9@byu.net>
35973
35974         maint.mk: ignore multi-line copyright in NEWS
35975         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35976
35977 2010-01-06  Eric Blake  <ebb9@byu.net>
35978
35979         select: add missing dependency
35980         * modules/select-tests (Depends-on): Move sockets dependency...
35981         * modules/select (Depends-on): ...here.
35982         Reported by Ian Beckwith.
35983
35984         doc: regenerate INSTALL
35985         * doc/INSTALL: Reflect recent autoconf update.
35986         * doc/INSTALL.ISO: Likewise.
35987         * doc/INSTALL.UTF-8: Likewise.
35988
35989         pread: fix compilation on glibc
35990         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35991         Reported by Ralf Wildenhues.
35992
35993         dirent: fix test failure
35994         * lib/dirent.in.h (includes): Guarantee ino_t.
35995         Reported by Ralf Wildenhues.
35996
35997 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
35998
35999         linkat, renameat: avoid bad free
36000         * lib/at-func2.c (at_func2): Fix typo.
36001         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36002
36003 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36004
36005         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36006         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36007         to avoid failure of symlink test later.
36008
36009 2010-01-06  Eric Blake  <ebb9@byu.net>
36010
36011         stdio, unistd: guarantee ssize_t
36012         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36013         2008 are exposed when needed.
36014         * lib/stdio.in.h (includes): Likewise.
36015         Reported by Ralf Wildenhues.
36016
36017 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36018
36019         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36020         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36021         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36022
36023 2010-01-06  Jim Meyering  <meyering@redhat.com>
36024
36025         readtokens: this module *does* require xalloc.h
36026         It uses only functions that were omitted by the old syntax-check rule.
36027         * lib/readtokens.c: Include "xalloc.h" once again.
36028         * modules/readtokens (Depends-on): Add xalloc.
36029         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36030
36031 2010-01-05  Eric Blake  <ebb9@byu.net>
36032
36033         maint: support 'make announcement' from a VPATH build
36034         * top/maint.mk (announcement): Look for correct NEWS file.
36035
36036 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36037
36038         utimens (fdutimens): ignore a negative FD, per contract
36039         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36040         when we have a valid file descriptor.  Otherwise, using a brand
36041         new glibc (with just-patched futimens that now fails with EBADF)
36042         would cause this function to fail with ENOSYS.
36043         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36044         See also http://bugzilla.redhat.com/552320.
36045
36046 2010-01-05  Eric Blake  <ebb9@byu.net>
36047
36048         strcase: document what it provides
36049         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36050         gnulib module.
36051         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36052         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36053
36054 2010-01-05  Jim Meyering  <meyering@redhat.com>
36055
36056         maint: remove useless inclusions of "xalloc.h"
36057         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36058         * lib/readtokens.c: Likewise.
36059         * lib/same.c: Likewise.
36060         * modules/getloadavg (Depends-on): Remove xalloc.
36061         * modules/readtokens: Likewise.
36062         * modules/same: Likewise.
36063
36064         maint.mk: include 4 more function names in alloca.h-checking regexp
36065         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36066         regexp.  Before, we would give a false-positive (saying alloca.h
36067         is included unnecessarily) when the only uses involved omitted symbols.
36068
36069         xalloc.h: use consistent formatting
36070         * lib/xalloc.h: Move declarations to start in the first column.
36071
36072 2010-01-05  Eric Blake  <ebb9@byu.net>
36073
36074         mkdir: avoid xalloc
36075         * lib/mkdir.c (includes): Drop unused header.
36076         Reported by John W. Eaton.
36077
36078 2010-01-04  Jim Meyering  <meyering@redhat.com>
36079
36080         nl_langinfo: avoid configure-time syntax error
36081         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36082         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36083         the empty string.  Don't let that provoke a shell syntax error.
36084
36085         regcomp, regexec, fnmatch: avoid array bounds read error
36086         * lib/regcomp.c (build_equiv_class): From glibc:
36087         Use only the low 24 bits of a findidx return value as an index
36088         into the weights array.  Patch by Ulrich Drepper:
36089         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36090         * lib/regexec.c (check_node_accept_bytes): Likewise.
36091         * lib/fnmatch_loop.c (FCT): Likewise.
36092
36093         regcomp: skip collseq lookup when there are no rules
36094         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36095         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36096
36097         regcomp: recognize ill-formed { } expressions
36098         * lib/regcomp.c (parse_dup_op): From glibc:
36099         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36100
36101         regcomp: fix typo in comment
36102         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36103         s/satisfy/satisfies/.
36104
36105         regcomp: sync from glibc: remove dead store
36106         * lib/regcomp.c (duplicate_node_closure): Remove useless
36107         search_duplicated_node call and dead store.
36108
36109         regcomp: sync from glibc; always use nl_langinfo
36110         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36111         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36112         * modules/regex (Depends-on): Add nl_langinfo.
36113
36114 2010-01-04  Eric Blake  <ebb9@byu.net>
36115
36116         fdopendir: fix configure test
36117         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36118
36119 2010-01-01  Bruno Haible  <bruno@clisp.org>
36120
36121         wchar: Remove unused configure check.
36122         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36123
36124 2010-01-01  Eric Blake  <ebb9@byu.net>
36125
36126         headers: make check of system header explicit
36127         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36128         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36129         ourselves.
36130         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36131         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36132         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36133         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36134         internals.
36135         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36136         missing.
36137         Suggested by Bruno Haible.
36138
36139 2010-01-01  Jim Meyering  <meyering@redhat.com>
36140
36141         ChangeLog: tweak to eliminate unnecessary copyright line
36142         * ChangeLog: Remove a copyright line that was mistakenly updated
36143         by today's update-copyright run.  Reported by Eric Blake.
36144
36145         test-update-copyright: don't let envvar setting cause test failure
36146         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36147
36148 2010-01-01  Bruno Haible  <bruno@clisp.org>
36149
36150         localename: Avoid gcc warning.
36151         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36152         function if it is not used.
36153
36154 2010-01-01  Jim Meyering  <meyering@redhat.com>
36155
36156         update nearly all FSF copyright year lists to include 2010
36157         Use the same procedure as for 2009, outlined in
36158         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36159
36160         version-etc: set COPYRIGHT_YEAR to 2010
36161         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36162
36163 2009-12-31  Eric Blake  <ebb9@byu.net>
36164
36165         doc: correct availability of cygwin 1.5.x getopt
36166         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36167         variables.
36168         * doc/posix-functions/opterr.texi (opterr): Likewise.
36169         * doc/posix-functions/optind.texi (optind): Likewise.
36170         * doc/posix-functions/optopt.texi (optopt): Likewise.
36171         * doc/posix-functions/tzname.texi (tzname): Likewise.
36172
36173         openat: update maintainer
36174         * modules/openat (Maintainer): Add myself.
36175
36176         utimens: avoid shadowing warning
36177         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36178         buffers into one, to avoid shadowing, as well as avoiding a
36179         redundant stat.
36180         Reported by Jim Meyering.
36181
36182         test-dup2: avoid compiler warning
36183         * tests/test-dup2.c (is_inheritable): Only define if used.
36184
36185 2010-01-01  Bruno Haible  <bruno@clisp.org>
36186
36187         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36188         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36189         defined, use wctomb instead of wcrtomb.
36190
36191 2010-01-01  Bruno Haible  <bruno@clisp.org>
36192
36193         iconv: Reject native Solaris iconv.
36194         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36195         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36196
36197 2009-12-31  Bruno Haible  <bruno@clisp.org>
36198
36199         * tests/test-signal.c (main): Remove test of 'SIG'.
36200
36201 2009-12-31  Bruno Haible  <bruno@clisp.org>
36202
36203         spawn: Fix incomplete fix.
36204         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36205         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36206         warnings for GNULIB_POSIXCHECK again.
36207         Reported by Eric Blake.
36208
36209 2009-12-31  Bruno Haible  <bruno@clisp.org>
36210
36211         Avoid namespace pollution on glibc systems.
36212         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36213         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36214         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36215         glibc systems.
36216
36217 2009-12-31  Bruno Haible  <bruno@clisp.org>
36218
36219         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36220         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36221         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36222         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36223         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36224         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36225         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36226
36227 2009-12-31  Bruno Haible  <bruno@clisp.org>
36228
36229         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36230         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36231         afterwards.
36232
36233 2009-12-31  Bruno Haible  <bruno@clisp.org>
36234
36235         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36236         SYS_UTSNAME_H.
36237
36238 2009-12-31  Bruno Haible  <bruno@clisp.org>
36239
36240         spawn: Fix misapplied patch.
36241         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36242         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36243         warnings for GNULIB_POSIXCHECK.
36244
36245 2009-12-31  Bruno Haible  <bruno@clisp.org>
36246
36247         times: Update after sys_times changed.
36248         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36249         * modules/times (Files): Add it.
36250         (configure.ac): Invoke gl_FUNC_TIMES.
36251
36252 2009-12-31  Bruno Haible  <bruno@clisp.org>
36253
36254         Use AC_C_INLINE where necessary.
36255         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36256         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36257         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36258         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36259         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36260         * m4/mbiter.m4 (gl_MBITER): Likewise.
36261         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36262         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36263         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36264         * modules/u64 (configure.ac): Likewise.
36265
36266 2009-12-31  Bruno Haible  <bruno@clisp.org>
36267
36268         Use AC_C_INLINE instead of module 'inline' where possible.
36269         * modules/inline (Description): Clarify purpose.
36270         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36271         * modules/count-one-bits (Depends-on): Remove inline.
36272         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36273         * modules/openat (Depends-on): Remove inline.
36274         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36275         instead of depending on module 'inline'.
36276         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36277         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36278         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36279         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36280         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36281         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36282         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36283         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36284         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36285         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36286         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36287         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36288         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36289         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36290         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36291         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36292         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36293         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36294         Likewise.
36295         * modules/unictype/property-ascii-hex-digit (Depends-on,
36296         configure.ac): Likewise.
36297         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36298         configure.ac): Likewise.
36299         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36300         configure.ac): Likewise.
36301         * modules/unictype/property-bidi-block-separator (Depends-on,
36302         configure.ac): Likewise.
36303         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36304         configure.ac): Likewise.
36305         * modules/unictype/property-bidi-common-separator (Depends-on,
36306         configure.ac): Likewise.
36307         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36308         Likewise.
36309         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36310         configure.ac): Likewise.
36311         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36312         configure.ac): Likewise.
36313         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36314         configure.ac): Likewise.
36315         * modules/unictype/property-bidi-european-digit (Depends-on,
36316         configure.ac): Likewise.
36317         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36318         configure.ac): Likewise.
36319         * modules/unictype/property-bidi-left-to-right (Depends-on,
36320         configure.ac): Likewise.
36321         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36322         configure.ac): Likewise.
36323         * modules/unictype/property-bidi-other-neutral (Depends-on,
36324         configure.ac): Likewise.
36325         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36326         Likewise.
36327         * modules/unictype/property-bidi-segment-separator (Depends-on,
36328         configure.ac): Likewise.
36329         * modules/unictype/property-bidi-whitespace (Depends-on,
36330         configure.ac): Likewise.
36331         * modules/unictype/property-combining (Depends-on, configure.ac):
36332         Likewise.
36333         * modules/unictype/property-composite (Depends-on, configure.ac):
36334         Likewise.
36335         * modules/unictype/property-currency-symbol (Depends-on,
36336         configure.ac): Likewise.
36337         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36338         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36339         Likewise.
36340         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36341         configure.ac): Likewise.
36342         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36343         Likewise.
36344         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36345         Likewise.
36346         * modules/unictype/property-extender (Depends-on, configure.ac):
36347         Likewise.
36348         * modules/unictype/property-format-control (Depends-on, configure.ac):
36349         Likewise.
36350         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36351         Likewise.
36352         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36353         Likewise.
36354         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36355         Likewise.
36356         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36357         Likewise.
36358         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36359         Likewise.
36360         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36361         Likewise.
36362         * modules/unictype/property-id-start (Depends-on, configure.ac):
36363         Likewise.
36364         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36365         Likewise.
36366         * modules/unictype/property-ids-binary-operator (Depends-on,
36367         configure.ac): Likewise.
36368         * modules/unictype/property-ids-trinary-operator (Depends-on,
36369         configure.ac): Likewise.
36370         * modules/unictype/property-ignorable-control (Depends-on,
36371         configure.ac): Likewise.
36372         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36373         Likewise.
36374         * modules/unictype/property-join-control (Depends-on, configure.ac):
36375         Likewise.
36376         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36377         Likewise.
36378         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36379         Likewise.
36380         * modules/unictype/property-logical-order-exception (Depends-on,
36381         configure.ac): Likewise.
36382         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36383         Likewise.
36384         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36385         * modules/unictype/property-non-break (Depends-on, configure.ac):
36386         Likewise.
36387         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36388         Likewise.
36389         * modules/unictype/property-numeric (Depends-on, configure.ac):
36390         Likewise.
36391         * modules/unictype/property-other-alphabetic (Depends-on,
36392         configure.ac): Likewise.
36393         * modules/unictype/property-other-default-ignorable-code-point
36394         (Depends-on, configure.ac): Likewise.
36395         * modules/unictype/property-other-grapheme-extend (Depends-on,
36396         configure.ac): Likewise.
36397         * modules/unictype/property-other-id-continue (Depends-on,
36398         configure.ac): Likewise.
36399         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36400         Likewise.
36401         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36402         Likewise.
36403         * modules/unictype/property-other-math (Depends-on, configure.ac):
36404         Likewise.
36405         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36406         Likewise.
36407         * modules/unictype/property-paired-punctuation (Depends-on,
36408         configure.ac): Likewise.
36409         * modules/unictype/property-paragraph-separator (Depends-on,
36410         configure.ac): Likewise.
36411         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36412         Likewise.
36413         * modules/unictype/property-pattern-white-space (Depends-on,
36414         configure.ac): Likewise.
36415         * modules/unictype/property-private-use (Depends-on, configure.ac):
36416         Likewise.
36417         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36418         Likewise.
36419         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36420         Likewise.
36421         * modules/unictype/property-radical (Depends-on, configure.ac):
36422         Likewise.
36423         * modules/unictype/property-sentence-terminal (Depends-on,
36424         configure.ac): Likewise.
36425         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36426         Likewise.
36427         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36428         * modules/unictype/property-terminal-punctuation (Depends-on,
36429         configure.ac): Likewise.
36430         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36431         Likewise.
36432         * modules/unictype/property-unassigned-code-value (Depends-on,
36433         configure.ac): Likewise.
36434         * modules/unictype/property-unified-ideograph (Depends-on,
36435         configure.ac): Likewise.
36436         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36437         Likewise.
36438         * modules/unictype/property-variation-selector (Depends-on,
36439         configure.ac): Likewise.
36440         * modules/unictype/property-white-space (Depends-on, configure.ac):
36441         Likewise.
36442         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36443         Likewise.
36444         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36445         Likewise.
36446         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36447         Likewise.
36448         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36449         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36450         Likewise.
36451
36452 2009-12-31  Bruno Haible  <bruno@clisp.org>
36453
36454         Remove unnecessary AC_C_INLINE invocation.
36455         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36456         since 2009-08-21.
36457
36458 2009-12-31  Jim Meyering  <meyering@redhat.com>
36459
36460         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36461         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36462         With this change, we can all remove the gpg_key_ID = ... definition
36463         from our respective cfg.mk files.
36464
36465         maint.mk: create announcement template in ~/, not in /tmp
36466         * top/maint.mk (emit_upload_commands): Adjust.
36467         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36468         Remove temporary file, .ci-msg.
36469
36470 2009-12-31  Eric Blake  <ebb9@byu.net>
36471
36472         link-warning: always build headers with link warnings
36473         * modules/arpa_inet (Makefile.am): Always build replacement
36474         header.
36475         * modules/ctype (Makefile.am): Likewise.
36476         * modules/dirent (Makefile.am): Likewise.
36477         * modules/inttypes (Makefile.am): Likewise.
36478         * modules/langinfo (Makefile.am): Likewise.
36479         * modules/locale (Makefile.am): Likewise.
36480         * modules/spawn (Makefile.am): Likewise.
36481         * modules/sys_file (Makefile.am): Likewise.
36482         * modules/sys_ioctl (Makefile.am): Likewise.
36483         * modules/sys_select (Makefile.am): Likewise.
36484         * modules/sys_socket (Makefile.am): Likewise.
36485         * modules/sys_times (Makefile.am): Likewise.
36486         * modules/sys_utsname (Makefile.am): Likewise.
36487         * modules/sys_wait (Makefile.am): Likewise.
36488         * modules/wchar (Makefile.am): Likewise.
36489         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36490         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36491         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36492         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36493         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36494         Likewise.
36495         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36496         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36497         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36498         Likewise.
36499         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36500         Likewise.
36501         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36502         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36503         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36504         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36505         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36506         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36507         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36508         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36509         (gl_WCHAR_H_DEFAULTS): Likewise.
36510
36511 2009-12-31  Eric Blake  <ebb9@byu.net>
36512
36513         signal, spawn: use link warnings
36514         * lib/signal.in.h (sigset_t): Make unconditional.
36515         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36516         (sigpending, sigprocmask, sigaction): Add link warnings.
36517         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36518         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36519         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36520         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36521         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36522         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36523         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36524         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36525         (posix_spawn_file_actions_destroy)
36526         (posix_spawn_file_actions_addopen)
36527         (posix_spawn_file_actions_addclose)
36528         (posix_spawn_file_actions_adddup2): Likewise.
36529         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36530         * tests/test-signal.c (main): Enhance test.
36531
36532         spawn: improve wrapper support
36533         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36534         (gl_SPAWN_H_DEFAULTS): New defaults.
36535         * modules/spawn (Makefile.am): Substitute them.
36536         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36537         Only declare if missing or broken.
36538
36539         sys_times, sys_utsname: use include_next
36540         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36541         header.
36542         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36543         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36544         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36545         * modules/sys_times (Depends-on): Add include_next.
36546         (Makefile.am): Substitute additional values.
36547         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36548         * lib/sys_times.in.h (includes): Include native header, if
36549         available.
36550         * lib/sys_utsname.in.h (includes): Likewise.
36551         * tests/test-sys_times.c (main): Enhance test.
36552
36553         fdutimensat: revert prior patch
36554         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36555         utimens.h.
36556         Reported by Bruno Haible.
36557
36558 2009-12-30  Eric Blake  <ebb9@byu.net>
36559
36560         sys_wait: drop link-warning dependency
36561         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36562         link-warning efforts.
36563         * lib/sys_wait.in.h: Likewise.
36564
36565         fdutimensat: remove bogus dependency
36566         * modules/fdutimensat (Depends-on): Drop inline.
36567
36568         unistd: fix typo
36569         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36570
36571 2009-12-30  Bruno Haible  <bruno@clisp.org>
36572
36573         Fix compilation error with Solaris cc.
36574         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36575         * lib/unicase/u16-is-invariant.c: Likewise.
36576         * lib/unicase/u32-is-invariant.c: Likewise.
36577         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36578
36579 2009-12-30  Bruno Haible  <bruno@clisp.org>
36580
36581         Fix test crash.
36582         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36583         locales.
36584         Reported by Simon Josefsson <simon@josefsson.org>.
36585
36586 2009-12-30  Bruno Haible  <bruno@clisp.org>
36587
36588         Fix compilation error on most platforms.
36589         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36590         Reported by Simon Josefsson <simon@josefsson.org>
36591         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36592
36593 2009-12-30  Eric Blake  <ebb9@byu.net>
36594
36595         futimens, utimensat: work around ntfs-3g bug
36596         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36597         a ctime bug is present, and expand workaround to cover ntfs-3g.
36598         * lib/utimens.c (fdutimens, lutimens): Likewise.
36599         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36600         (validate_timespec): Adjust return value.
36601         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36602         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36603         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36604
36605 2009-12-29  Eric Blake  <ebb9@byu.net>
36606
36607         link-warning: make usage consistent
36608         * modules/ctype (Depends-on): Add link-warning.
36609         (Makefile.am): Update rules accordingly.
36610         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36611         * modules/locale (Depends-on, Makefile.am): Likewise.
36612         * modules/sys_file (Makefile.am): Likewise.
36613         * modules/getopt-posix (Makefile.am): Delete unused link warning
36614         efforts.
36615         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36616         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36617         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36618         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36619
36620         stdio: remove unused variables
36621         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36622         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36623         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36624
36625         tests: test more substitute headers
36626         * modules/ctype-tests: New file.
36627         * modules/dirent-tests: Likewise.
36628         * modules/spawn-tests: Likewise.
36629         * modules/sys_file-tests: Likewise.
36630         * modules/sys_ioctl-tests: Likewise.
36631         * modules/sys_wait-tests: Likewise.
36632         * tests/test-ctype.c: Likewise.
36633         * tests/test-dirent.c: Likewise.
36634         * tests/test-spawn.c: Likewise.
36635         * tests/test-sys_file.c: Likewise.
36636         * tests/test-sys_ioctl.c: Likewise.
36637         * tests/test-sys_wait.c: Likewise.
36638         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36639         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36640         whether or not flock is in use.
36641
36642         tests: remove License section from module
36643         * modules/arpa_inet-tests: Remove unneeded section.
36644         * modules/byteswap-tests: Likewise.
36645         * modules/ceilf-tests: Likewise.
36646         * modules/ceill-tests: Likewise.
36647         * modules/crypto/des-tests: Likewise.
36648         * modules/crypto/gc-arcfour-tests: Likewise.
36649         * modules/crypto/gc-arctwo-tests: Likewise.
36650         * modules/crypto/gc-des-tests: Likewise.
36651         * modules/crypto/gc-hmac-md5-tests: Likewise.
36652         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36653         * modules/crypto/gc-md2-tests: Likewise.
36654         * modules/crypto/gc-md4-tests: Likewise.
36655         * modules/crypto/gc-md5-tests: Likewise.
36656         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36657         * modules/crypto/gc-rijndael-tests: Likewise.
36658         * modules/crypto/gc-sha1-tests: Likewise.
36659         * modules/crypto/gc-tests: Likewise.
36660         * modules/crypto/md2-tests: Likewise.
36661         * modules/crypto/md4-tests: Likewise.
36662         * modules/fcntl-h-tests: Likewise.
36663         * modules/floorf-tests: Likewise.
36664         * modules/floorl-tests: Likewise.
36665         * modules/frexp-nolibm-tests: Likewise.
36666         * modules/frexp-tests: Likewise.
36667         * modules/frexpl-nolibm-tests: Likewise.
36668         * modules/frexpl-tests: Likewise.
36669         * modules/getaddrinfo-tests: Likewise.
36670         * modules/inttypes-tests: Likewise.
36671         * modules/isfinite-tests: Likewise.
36672         * modules/isinf-tests: Likewise.
36673         * modules/ldexpl-tests: Likewise.
36674         * modules/locale-tests: Likewise.
36675         * modules/math-tests: Likewise.
36676         * modules/netdb-tests: Likewise.
36677         * modules/netinet_in-tests: Likewise.
36678         * modules/printf-frexp-tests: Likewise.
36679         * modules/printf-frexpl-tests: Likewise.
36680         * modules/priv-set-tests: Likewise.
36681         * modules/random_r-tests: Likewise.
36682         * modules/round-tests: Likewise.
36683         * modules/roundf-tests: Likewise.
36684         * modules/roundl-tests: Likewise.
36685         * modules/search-tests: Likewise.
36686         * modules/select-tests: Likewise.
36687         * modules/signal-tests: Likewise.
36688         * modules/stdbool-tests: Likewise.
36689         * modules/stddef-tests: Likewise.
36690         * modules/stdint-tests: Likewise.
36691         * modules/stdio-tests: Likewise.
36692         * modules/stdlib-tests: Likewise.
36693         * modules/string-tests: Likewise.
36694         * modules/strings-tests: Likewise.
36695         * modules/sys_select-tests: Likewise.
36696         * modules/sys_socket-tests: Likewise.
36697         * modules/sys_stat-tests: Likewise.
36698         * modules/sys_time-tests: Likewise.
36699         * modules/sys_utsname-tests: Likewise.
36700         * modules/sysexits-tests: Likewise.
36701         * modules/time-tests: Likewise.
36702         * modules/trunc-tests: Likewise.
36703         * modules/truncf-tests: Likewise.
36704         * modules/truncl-tests: Likewise.
36705         * modules/tsearch-tests: Likewise.
36706         * modules/unistd-tests: Likewise.
36707         * modules/wchar-tests: Likewise.
36708         * modules/wctype-tests: Likewise.
36709
36710         tests: fix license on several tests
36711         * tests/test-des.c: Update to GPLv3+.
36712         * tests/test-flock.c: Likewise.
36713         * tests/test-fsync.c: Likewise.
36714         * tests/test-futimens.h: Likewise.
36715         * tests/test-gc-arcfour.c: Likewise.
36716         * tests/test-gc-arctwo.c: Likewise.
36717         * tests/test-gc-des.c: Likewise.
36718         * tests/test-gc-hmac-md5.c: Likewise.
36719         * tests/test-gc-hmac-sha1.c: Likewise.
36720         * tests/test-gc-md2.c: Likewise.
36721         * tests/test-gc-md4.c: Likewise.
36722         * tests/test-gc-md5.c: Likewise.
36723         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36724         * tests/test-gc-rijndael.c: Likewise.
36725         * tests/test-gc-sha1.c: Likewise.
36726         * tests/test-gc.c: Likewise.
36727         * tests/test-getcwd.c: Likewise.
36728         * tests/test-link.c: Likewise.
36729         * tests/test-link.h: Likewise.
36730         * tests/test-lutimens.h: Likewise.
36731         * tests/test-md2.c: Likewise.
36732         * tests/test-md4.c: Likewise.
36733         * tests/test-mkdir.h: Likewise.
36734         * tests/test-rename.c: Likewise.
36735         * tests/test-rename.h: Likewise.
36736         * tests/test-safe-alloc.c: Likewise.
36737         * tests/test-utimens-common.h: Likewise.
36738         * tests/test-utimens.h: Likewise.
36739
36740         maint: sync license texts
36741         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36742         * doc/gpl-3.0.texi: Revert copyright year update.
36743         * doc/lgpl-3.0.texi: Likewise.
36744
36745 2009-12-29  Jim Meyering  <meyering@redhat.com>
36746
36747         update nearly all FSF copyright year lists to include 2009
36748         The files named by the following are exempted:
36749             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36750               test -f "$dst" && { echo "$dst"; continue; }
36751               test -d "$dst" || continue
36752               echo "$dst"/$(basename "$src")
36753             done > exempt
36754             git ls-files tests/unictype >> exempt
36755         In the remaining files, convert to all-interval notation if
36756         - there is already at least one year interval like 2000-2003
36757         - the file is maintained by me
36758         - the file is in lib/uni*/, where that style already prevails
36759         Otherwise, use update-copyright's default.
36760
36761 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36762         and Eric Blake  <ebb9@byu.net>
36763
36764         tests: don't require debug system() to pass
36765         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36766         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36767         * tests/test-unlink.h (test_unlink_func): Likewise.
36768         * tests/test-fstatat.c (main): ...into callers.
36769         * tests/test-lstat.c (main): Likewise.
36770         * tests/test-rmdir.c (main): Likewise.
36771         * tests/test-unlink.c (main): Likewise.
36772         * tests/test-unlinkat.c (main): Likewise.
36773         * tests/test-areadlink-with-size.c (main): Don't require a
36774         debug-only system call to pass, aiding cross-testing to mingw.
36775         * tests/test-areadlink.c (main): Likewise.
36776         * tests/test-areadlinkat-with-size.c (main): Likewise.
36777         * tests/test-areadlinkat.c (main): Likewise.
36778         * tests/test-canonicalize-lgpl.c (main): Likewise.
36779         * tests/test-canonicalize.c (main): Likewise.
36780         * tests/test-chown.c (main): Likewise.
36781         * tests/test-fchownat.c (main): Likewise.
36782         * tests/test-lchown.c (main): Likewise.
36783         * tests/test-fdutimensat.c (main): Likewise.
36784         * tests/test-futimens.c (main): Likewise.
36785         * tests/test-link.c (main): Likewise.
36786         * tests/test-linkat.c (main): Likewise.
36787         * tests/test-mkdir.c (main): Likewise.
36788         * tests/test-mkdirat.c (main): Likewise.
36789         * tests/test-mkfifo.c (main): Likewise.
36790         * tests/test-mkfifoat.c (main): Likewise.
36791         * tests/test-mknod.c (main): Likewise.
36792         * tests/test-readlink.c (main): Likewise.
36793         * tests/test-remove.c (main): Likewise.
36794         * tests/test-rename.c (main): Likewise.
36795         * tests/test-renameat.c (main): Likewise.
36796         * tests/test-symlink.c (main): Likewise.
36797         * tests/test-symlinkat.c (main): Likewise.
36798         * tests/test-utimens.c (main): Likewise.
36799         * tests/test-utimensat.c (main): Likewise.
36800
36801 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36802
36803         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36804         on $(UNUSED_PARAMETER_H) to avoid build failure.
36805
36806 2009-12-28  Jim Meyering  <meyering@redhat.com>
36807
36808         update-copyright: you may specify a max. line length other than 72
36809         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36810
36811         maint: use consistent FSF copyright line syntax
36812         * lib/posixtm.c: Add missing comma in FSF copyright line.
36813         * lib/posixtm.h: Likewise.
36814         * lib/getugroups.c: Add missing ", Inc.".
36815
36816         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36817         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36818         FSF copyright line.  Remove trailing blanks.
36819
36820 2009-12-28  Eric Blake  <ebb9@byu.net>
36821
36822         test-dup2: reduce dependencies
36823         * modules/cloexec (Configure.ac): Set witness.
36824         * modules/dup2-tests (Depends-on): Drop cloexec.
36825         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36826         not present.
36827         Suggested by Bruno Haible.
36828
36829 2009-12-26  Bruno Haible  <bruno@clisp.org>
36830
36831         Remove an unneeded dependency.
36832         * modules/fseterr (Depends-on): Remove dup2.
36833
36834 2009-12-26  Eric Blake  <ebb9@byu.net>
36835
36836         tests: use macros.h in more places
36837         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36838         (ASSERT_STREAM): Provide default of stderr.
36839         * tests/test-dirent-safer.c: Include macros.h, using alternate
36840         stream for assertions.
36841         * tests/test-dup-safer.c: Likewise.
36842         * tests/test-freopen-safer.c: Likewise.
36843         * tests/test-getopt.c: Likewise.
36844         * tests/test-openat-safer.c: Likewise.
36845         * tests/test-pipe.c: Likewise.
36846         * tests/test-popen-safer.c: Likewise.
36847         * modules/dirent-safer-tests (Files): Include macros.h.
36848         * modules/unistd-safer-tests (Files): Likewise.
36849         * modules/freopen-safer-tests (Files): Likewise.
36850         * modules/getopt-posix-tests (Files): Likewise.
36851         * modules/openat-safer-tests (Files): Likewise.
36852         * modules/pipe-tests (Files): Likewise.
36853
36854 2009-12-26  Bruno Haible  <bruno@clisp.org>
36855
36856         javacomp: Portability fix.
36857         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36858         that it also works on Solaris.
36859
36860 2009-12-26  Bruno Haible  <bruno@clisp.org>
36861
36862         localename: Fix storage allocation of gl_locale_name_thread's result.
36863         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36864         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36865         all platforms that have 'uselocale'.
36866         (gl_locale_name_thread_unsafe): New function, extracted from
36867         gl_locale_name_thread.
36868         (gl_locale_name_thread): Call struniq on all platforms that have
36869         'uselocale'.
36870         * tests/test-localename.c (test_locale_name_thread): Check that the
36871         resulting strings are permanently allocated.
36872         * modules/localename-tests (Depends-on): Add strdup.
36873
36874 2009-12-26  Bruno Haible  <bruno@clisp.org>
36875
36876         * tests/test-localename.c (categories): Fill in the strings.
36877
36878 2009-12-26  Jim Meyering  <meyering@redhat.com>
36879
36880         isdir: complete the removal of m4/isdir.m4
36881         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36882
36883         isdir: clean up, since at least grep still uses it
36884         * lib/isdir.c: Include "isdir.h".
36885         (S_ISDIR): Remove now-unneeded definition.
36886         * modules/isdir (Files): Add lib/isdir.h.
36887         * lib/isdir.h: New file, with declaration.
36888         * m4/isdir.m4: Remove file -- unneeded.
36889
36890 2009-12-25  Bruno Haible  <bruno@clisp.org>
36891
36892         selinux-h: Make generated .h files standalone.
36893         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36894         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36895         * lib/se-selinux.in.h: Likewise.
36896         * modules/selinux-h (Depends-on): Add unused-parameter.
36897         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36898         selinux/selinux.h and selinux/context.h.
36899         Suggested by Eric Blake.
36900
36901 2009-12-25  Bruno Haible  <bruno@clisp.org>
36902
36903         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36904         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36905         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36906         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36907         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36908
36909 2009-12-24  Bruno Haible  <bruno@clisp.org>
36910
36911         openat: Fix warning.
36912         * lib/openat-proc.c: Include <unistd.h>.
36913
36914 2009-12-24  Bruno Haible  <bruno@clisp.org>
36915
36916         New module 'unused-parameter'.
36917         * build-aux/unused-parameter.h: New file, extracted from earlier
36918         gnulib-common.m4.
36919         * modules/unused-parameter: New file.
36920         * lib/unistr.h: Include unused-parameter.h.
36921         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36922         _GL_UNUSED.
36923         * modules/unistr/base (Depends-on): Add unused-parameter.
36924
36925 2009-12-24  Bruno Haible  <bruno@clisp.org>
36926
36927         Add missing dependencies to 'extensions' module.
36928         * m4/extensions.m4: Add comment.
36929         * modules/accept4 (Depends-on): Add extensions.
36930         * modules/dup3 (Depends-on): Likewise.
36931         * modules/fcntl (Depends-on): Likewise.
36932         * modules/futimens (Depends-on): Likewise.
36933         * modules/mknod (Depends-on): Likewise.
36934         * modules/pipe2 (Depends-on): Likewise.
36935         * modules/stat-time (Depends-on): Likewise.
36936         * modules/strcasestr-simple (Depends-on): Likewise.
36937         * modules/strsignal (Depends-on): Likewise.
36938         * modules/utimensat (Depends-on): Likewise.
36939         * modules/localcharset (Depends-on): Likewise. Needed because of
36940         gl_FCNTL_O_FLAGS.
36941         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36942         AC_TYPE_MBSTATE_T.
36943         * modules/wcsnrtombs (Depends-on): Likewise.
36944         * modules/wcsrtombs (Depends-on): Likewise.
36945
36946 2009-12-24  Bruno Haible  <bruno@clisp.org>
36947
36948         binary-io: Avoid gcc warning due to SET_BINARY.
36949         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36950         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36951
36952 2009-12-24  Bruno Haible  <bruno@clisp.org>
36953
36954         Avoid future namespace pollution on glibc systems.
36955         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36956         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36957         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36958         glibc systems.
36959
36960 2009-12-24  Bruno Haible  <bruno@clisp.org>
36961
36962         Refactor common macros used in tests.
36963         * tests/macros.h: New file.
36964         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36965         and/or <stdlib.h>, if appropriate.
36966         (ASSERT, SIZEOF): Remove macros.
36967         * tests/test-areadlink-with-size.c: Likewise.
36968         * tests/test-areadlinkat.c: Likewise.
36969         * tests/test-areadlinkat-with-size.c: Likewise.
36970         * tests/test-argmatch.c: Likewise.
36971         * tests/test-argv-iter.c: Likewise.
36972         * tests/test-array-mergesort.c: Likewise.
36973         * tests/test-array_list.c: Likewise.
36974         * tests/test-array_oset.c: Likewise.
36975         * tests/test-avltree_list.c: Likewise.
36976         * tests/test-avltree_oset.c: Likewise.
36977         * tests/test-avltreehash_list.c: Likewise.
36978         * tests/test-base64.c: Likewise.
36979         * tests/test-binary-io.c: Likewise.
36980         * tests/test-bitrotate.c: Likewise.
36981         * tests/test-btowc.c: Likewise.
36982         * tests/test-byteswap.c: Likewise.
36983         * tests/test-c-ctype.c: Likewise.
36984         * tests/test-c-stack.c: Likewise.
36985         * tests/test-c-strcasecmp.c: Likewise.
36986         * tests/test-c-strcasestr.c: Likewise.
36987         * tests/test-c-strncasecmp.c: Likewise.
36988         * tests/test-c-strstr.c: Likewise.
36989         * tests/test-canonicalize-lgpl.c: Likewise.
36990         * tests/test-canonicalize.c: Likewise.
36991         * tests/test-carray_list.c: Likewise.
36992         * tests/test-ceilf1.c: Likewise.
36993         * tests/test-ceilf2.c: Likewise.
36994         * tests/test-ceill.c: Likewise.
36995         * tests/test-chown.c: Likewise.
36996         * tests/test-cloexec.c: Likewise.
36997         * tests/test-copy-acl.c: Likewise.
36998         * tests/test-copy-file.c: Likewise.
36999         * tests/test-count-one-bits.c: Likewise.
37000         * tests/test-dprintf-posix.c: Likewise.
37001         * tests/test-dup2.c: Likewise.
37002         * tests/test-dup3.c: Likewise.
37003         * tests/test-duplocale.c: Likewise.
37004         * tests/test-fbufmode.c: Likewise.
37005         * tests/test-fchdir.c: Likewise.
37006         * tests/test-fchownat.c: Likewise.
37007         * tests/test-fcntl-safer.c: Likewise.
37008         * tests/test-fcntl.c: Likewise.
37009         * tests/test-fdopendir.c: Likewise.
37010         * tests/test-fdutimensat.c: Likewise.
37011         * tests/test-fflush2.c: Likewise.
37012         * tests/test-file-has-acl.c: Likewise.
37013         * tests/test-filevercmp.c: Likewise.
37014         * tests/test-flock.c: Likewise.
37015         * tests/test-floorf1.c: Likewise.
37016         * tests/test-floorf2.c: Likewise.
37017         * tests/test-floorl.c: Likewise.
37018         * tests/test-fnmatch.c: Likewise.
37019         * tests/test-fopen.h: Likewise.
37020         * tests/test-fpending.c: Likewise.
37021         * tests/test-fprintf-posix.c: Likewise.
37022         * tests/test-fpurge.c: Likewise.
37023         * tests/test-freadable.c: Likewise.
37024         * tests/test-freadahead.c: Likewise.
37025         * tests/test-freading.c: Likewise.
37026         * tests/test-freadptr.c: Likewise.
37027         * tests/test-freadptr2.c: Likewise.
37028         * tests/test-freadseek.c: Likewise.
37029         * tests/test-freopen.c: Likewise.
37030         * tests/test-frexp.c: Likewise.
37031         * tests/test-frexpl.c: Likewise.
37032         * tests/test-fseek.c: Likewise.
37033         * tests/test-fseeko.c: Likewise.
37034         * tests/test-fstatat.c: Likewise.
37035         * tests/test-fstrcmp.c: Likewise.
37036         * tests/test-fsync.c: Likewise.
37037         * tests/test-ftell.c: Likewise.
37038         * tests/test-ftello.c: Likewise.
37039         * tests/test-func.c: Likewise.
37040         * tests/test-futimens.c: Likewise.
37041         * tests/test-fwritable.c: Likewise.
37042         * tests/test-fwriting.c: Likewise.
37043         * tests/test-getcwd.c: Likewise.
37044         * tests/test-getdate.c: Likewise.
37045         * tests/test-getdelim.c: Likewise.
37046         * tests/test-getdtablesize.c: Likewise.
37047         * tests/test-getgroups.c: Likewise.
37048         * tests/test-getline.c: Likewise.
37049         * tests/test-getndelim2.c: Likewise.
37050         * tests/test-glob.c: Likewise.
37051         * tests/test-hash.c: Likewise.
37052         * tests/test-i-ring.c: Likewise.
37053         * tests/test-iconv-utf.c: Likewise.
37054         * tests/test-iconv.c: Likewise.
37055         * tests/test-idpriv-drop.c: Likewise.
37056         * tests/test-idpriv-droptemp.c: Likewise.
37057         * tests/test-inet_ntop.c: Likewise.
37058         * tests/test-inet_pton.c: Likewise.
37059         * tests/test-isblank.c: Likewise.
37060         * tests/test-isfinite.c: Likewise.
37061         * tests/test-isinf.c: Likewise.
37062         * tests/test-isnan.c: Likewise.
37063         * tests/test-isnand.h: Likewise.
37064         * tests/test-isnanf.h: Likewise.
37065         * tests/test-isnanl.h: Likewise.
37066         * tests/test-lchown.c: Likewise.
37067         * tests/test-ldexpl.c: Likewise.
37068         * tests/test-link.c: Likewise.
37069         * tests/test-linkat.c: Likewise.
37070         * tests/test-linked_list.c: Likewise.
37071         * tests/test-linkedhash_list.c: Likewise.
37072         * tests/test-localename.c: Likewise.
37073         * tests/test-lseek.c: Likewise.
37074         * tests/test-lstat.c: Likewise.
37075         * tests/test-mbmemcasecmp.c: Likewise.
37076         * tests/test-mbmemcasecoll.c: Likewise.
37077         * tests/test-mbrtowc.c: Likewise.
37078         * tests/test-mbscasecmp.c: Likewise.
37079         * tests/test-mbscasestr1.c: Likewise.
37080         * tests/test-mbscasestr2.c: Likewise.
37081         * tests/test-mbscasestr3.c: Likewise.
37082         * tests/test-mbscasestr4.c: Likewise.
37083         * tests/test-mbschr.c: Likewise.
37084         * tests/test-mbscspn.c: Likewise.
37085         * tests/test-mbsinit.c: Likewise.
37086         * tests/test-mbsncasecmp.c: Likewise.
37087         * tests/test-mbsnrtowcs.c: Likewise.
37088         * tests/test-mbspbrk.c: Likewise.
37089         * tests/test-mbspcasecmp.c: Likewise.
37090         * tests/test-mbsrchr.c: Likewise.
37091         * tests/test-mbsrtowcs.c: Likewise.
37092         * tests/test-mbsspn.c: Likewise.
37093         * tests/test-mbsstr1.c: Likewise.
37094         * tests/test-mbsstr2.c: Likewise.
37095         * tests/test-mbsstr3.c: Likewise.
37096         * tests/test-memchr.c: Likewise.
37097         * tests/test-memchr2.c: Likewise.
37098         * tests/test-memcmp.c: Likewise.
37099         * tests/test-memmem.c: Likewise.
37100         * tests/test-memrchr.c: Likewise.
37101         * tests/test-mkdir.c: Likewise.
37102         * tests/test-mkdirat.c: Likewise.
37103         * tests/test-mkfifo.c: Likewise.
37104         * tests/test-mkfifoat.c: Likewise.
37105         * tests/test-mknod.c: Likewise.
37106         * tests/test-nanosleep.c: Likewise.
37107         * tests/test-nl_langinfo.c: Likewise.
37108         * tests/test-obstack-printf.c: Likewise.
37109         * tests/test-open.c: Likewise.
37110         * tests/test-openat.c: Likewise.
37111         * tests/test-pipe-filter-gi1.c: Likewise.
37112         * tests/test-pipe-filter-gi2-main.c: Likewise.
37113         * tests/test-pipe-filter-ii1.c: Likewise.
37114         * tests/test-pipe-filter-ii2-main.c: Likewise.
37115         * tests/test-pipe2.c: Likewise.
37116         * tests/test-popen.h: Likewise.
37117         * tests/test-posixtm.c: Likewise.
37118         * tests/test-pread.c: Likewise.
37119         * tests/test-printf-frexp.c: Likewise.
37120         * tests/test-printf-frexpl.c: Likewise.
37121         * tests/test-printf-posix.c: Likewise.
37122         * tests/test-priv-set.c: Likewise.
37123         * tests/test-quotearg.c: Likewise.
37124         * tests/test-random_r.c: Likewise.
37125         * tests/test-rawmemchr.c: Likewise.
37126         * tests/test-rbtree_list.c: Likewise.
37127         * tests/test-rbtree_oset.c: Likewise.
37128         * tests/test-rbtreehash_list.c: Likewise.
37129         * tests/test-readlink.c: Likewise.
37130         * tests/test-remove.c: Likewise.
37131         * tests/test-rename.c: Likewise.
37132         * tests/test-renameat.c: Likewise.
37133         * tests/test-rmdir.c: Likewise.
37134         * tests/test-round1.c: Likewise.
37135         * tests/test-roundf1.c: Likewise.
37136         * tests/test-roundl.c: Likewise.
37137         * tests/test-safe-alloc.c: Likewise.
37138         * tests/test-sameacls.c: Likewise.
37139         * tests/test-set-mode-acl.c: Likewise.
37140         * tests/test-setenv.c: Likewise.
37141         * tests/test-sigaction.c: Likewise.
37142         * tests/test-signbit.c: Likewise.
37143         * tests/test-sleep.c: Likewise.
37144         * tests/test-snprintf-posix.c: Likewise.
37145         * tests/test-snprintf.c: Likewise.
37146         * tests/test-sprintf-posix.c: Likewise.
37147         * tests/test-stat-time.c: Likewise.
37148         * tests/test-stat.c: Likewise.
37149         * tests/test-strcasestr.c: Likewise.
37150         * tests/test-strchrnul.c: Likewise.
37151         * tests/test-strerror.c: Likewise.
37152         * tests/test-striconv.c: Likewise.
37153         * tests/test-striconveh.c: Likewise.
37154         * tests/test-striconveha.c: Likewise.
37155         * tests/test-strsignal.c: Likewise.
37156         * tests/test-strstr.c: Likewise.
37157         * tests/test-strtod.c: Likewise.
37158         * tests/test-strverscmp.c: Likewise.
37159         * tests/test-symlink.c: Likewise.
37160         * tests/test-symlinkat.c: Likewise.
37161         * tests/test-trunc1.c: Likewise.
37162         * tests/test-trunc2.c: Likewise.
37163         * tests/test-truncf1.c: Likewise.
37164         * tests/test-truncf2.c: Likewise.
37165         * tests/test-truncl.c: Likewise.
37166         * tests/test-uname.c: Likewise.
37167         * tests/test-unlink.c: Likewise.
37168         * tests/test-unlinkat.c: Likewise.
37169         * tests/test-unsetenv.c: Likewise.
37170         * tests/test-usleep.c: Likewise.
37171         * tests/test-utimens.c: Likewise.
37172         * tests/test-utimensat.c: Likewise.
37173         * tests/test-vasnprintf-posix.c: Likewise.
37174         * tests/test-vasnprintf-posix2.c: Likewise.
37175         * tests/test-vasnprintf.c: Likewise.
37176         * tests/test-vasprintf-posix.c: Likewise.
37177         * tests/test-vasprintf.c: Likewise.
37178         * tests/test-vdprintf-posix.c: Likewise.
37179         * tests/test-vfprintf-posix.c: Likewise.
37180         * tests/test-vprintf-posix.c: Likewise.
37181         * tests/test-vsnprintf-posix.c: Likewise.
37182         * tests/test-vsnprintf.c: Likewise.
37183         * tests/test-vsprintf-posix.c: Likewise.
37184         * tests/test-wcrtomb.c: Likewise.
37185         * tests/test-wcsnrtombs.c: Likewise.
37186         * tests/test-wcsrtombs.c: Likewise.
37187         * tests/test-wctype.c: Likewise.
37188         * tests/test-wcwidth.c: Likewise.
37189         * tests/test-xfprintf-posix.c: Likewise.
37190         * tests/test-xmemdup0.c: Likewise.
37191         * tests/test-xprintf-posix.c: Likewise.
37192         * tests/test-xvasprintf.c: Likewise.
37193         * tests/unicase/test-locale-language.c: Likewise.
37194         * tests/unicase/test-mapping-part1.h: Likewise.
37195         * tests/unicase/test-predicate-part1.h: Likewise.
37196         * tests/unicase/test-u8-casecmp.c: Likewise.
37197         * tests/unicase/test-u8-casecoll.c: Likewise.
37198         * tests/unicase/test-u8-casefold.c: Likewise.
37199         * tests/unicase/test-u8-is-cased.c: Likewise.
37200         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37201         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37202         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37203         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37204         * tests/unicase/test-u8-tolower.c: Likewise.
37205         * tests/unicase/test-u8-totitle.c: Likewise.
37206         * tests/unicase/test-u8-toupper.c: Likewise.
37207         * tests/unicase/test-u16-casecmp.c: Likewise.
37208         * tests/unicase/test-u16-casecoll.c: Likewise.
37209         * tests/unicase/test-u16-casefold.c: Likewise.
37210         * tests/unicase/test-u16-is-cased.c: Likewise.
37211         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37212         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37213         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37214         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37215         * tests/unicase/test-u16-tolower.c: Likewise.
37216         * tests/unicase/test-u16-totitle.c: Likewise.
37217         * tests/unicase/test-u16-toupper.c: Likewise.
37218         * tests/unicase/test-u32-casecmp.c: Likewise.
37219         * tests/unicase/test-u32-casecoll.c: Likewise.
37220         * tests/unicase/test-u32-casefold.c: Likewise.
37221         * tests/unicase/test-u32-is-cased.c: Likewise.
37222         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37223         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37224         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37225         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37226         * tests/unicase/test-u32-tolower.c: Likewise.
37227         * tests/unicase/test-u32-totitle.c: Likewise.
37228         * tests/unicase/test-u32-toupper.c: Likewise.
37229         * tests/unicase/test-ulc-casecmp.c: Likewise.
37230         * tests/unicase/test-ulc-casecoll.c: Likewise.
37231         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37232         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37233         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37234         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37235         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37236         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37237         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37238         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37239         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37240         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37241         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37242         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37243         * tests/unictype/test-bidi_byname.c: Likewise.
37244         * tests/unictype/test-bidi_name.c: Likewise.
37245         * tests/unictype/test-bidi_of.c: Likewise.
37246         * tests/unictype/test-bidi_test.c: Likewise.
37247         * tests/unictype/test-block_list.c: Likewise.
37248         * tests/unictype/test-block_of.c: Likewise.
37249         * tests/unictype/test-block_test.c: Likewise.
37250         * tests/unictype/test-categ_and.c: Likewise.
37251         * tests/unictype/test-categ_and_not.c: Likewise.
37252         * tests/unictype/test-categ_byname.c: Likewise.
37253         * tests/unictype/test-categ_name.c: Likewise.
37254         * tests/unictype/test-categ_none.c: Likewise.
37255         * tests/unictype/test-categ_of.c: Likewise.
37256         * tests/unictype/test-categ_or.c: Likewise.
37257         * tests/unictype/test-categ_test_withtable.c: Likewise.
37258         * tests/unictype/test-combining.c: Likewise.
37259         * tests/unictype/test-decdigit.c: Likewise.
37260         * tests/unictype/test-digit.c: Likewise.
37261         * tests/unictype/test-mirror.c: Likewise.
37262         * tests/unictype/test-numeric.c: Likewise.
37263         * tests/unictype/test-pr_byname.c: Likewise.
37264         * tests/unictype/test-pr_test.c: Likewise.
37265         * tests/unictype/test-predicate-part1.h: Likewise.
37266         * tests/unictype/test-scripts.c: Likewise.
37267         * tests/unictype/test-sy_c_ident.c: Likewise.
37268         * tests/unictype/test-sy_java_ident.c: Likewise.
37269         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37270         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37271         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37272         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37273         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37274         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37275         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37276         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37277         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37278         * tests/uninorm/test-compat-decomposition.c: Likewise.
37279         * tests/uninorm/test-composition.c: Likewise.
37280         * tests/uninorm/test-decomposing-form.c: Likewise.
37281         * tests/uninorm/test-decomposition.c: Likewise.
37282         * tests/uninorm/test-u8-nfc.c: Likewise.
37283         * tests/uninorm/test-u8-nfd.c: Likewise.
37284         * tests/uninorm/test-u8-nfkc.c: Likewise.
37285         * tests/uninorm/test-u8-nfkd.c: Likewise.
37286         * tests/uninorm/test-u8-normcmp.c: Likewise.
37287         * tests/uninorm/test-u8-normcoll.c: Likewise.
37288         * tests/uninorm/test-u16-nfc.c: Likewise.
37289         * tests/uninorm/test-u16-nfd.c: Likewise.
37290         * tests/uninorm/test-u16-nfkc.c: Likewise.
37291         * tests/uninorm/test-u16-nfkd.c: Likewise.
37292         * tests/uninorm/test-u16-normcmp.c: Likewise.
37293         * tests/uninorm/test-u16-normcoll.c: Likewise.
37294         * tests/uninorm/test-u32-nfc.c: Likewise.
37295         * tests/uninorm/test-u32-nfd.c: Likewise.
37296         * tests/uninorm/test-u32-nfkc.c: Likewise.
37297         * tests/uninorm/test-u32-nfkd.c: Likewise.
37298         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37299         * tests/uninorm/test-u32-normcmp.c: Likewise.
37300         * tests/uninorm/test-u32-normcoll.c: Likewise.
37301         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37302         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37303         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37304         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37305         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37306         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37307         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37308         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37309         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37310         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37311         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37312         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37313         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37314         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37315         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37316         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37317         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37318         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37319         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37320         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37321         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37322         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37323         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37324         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37325         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37326         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37327         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37328         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37329         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37330         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37331         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37332         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37333         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37334         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37335         * tests/uniwidth/test-u8-width.c: Likewise.
37336         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37337         * tests/uniwidth/test-u16-width.c: Likewise.
37338         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37339         * tests/uniwidth/test-u32-width.c: Likewise.
37340         * tests/uniwidth/test-uc_width.c: Likewise.
37341         * tests/uniwidth/test-uc_width2.c: Likewise.
37342         * modules/acl-tests (Files): Add tests/macros.h.
37343         * modules/areadlink-tests (Files): Likewise.
37344         * modules/areadlink-with-size-tests (Files): Likewise.
37345         * modules/areadlinkat-tests (Files): Likewise.
37346         * modules/areadlinkat-with-size-tests (Files): Likewise.
37347         * modules/argmatch-tests (Files): Likewise.
37348         * modules/argv-iter-tests (Files): Likewise.
37349         * modules/array-list-tests (Files): Likewise.
37350         * modules/array-mergesort-tests (Files): Likewise.
37351         * modules/array-oset-tests (Files): Likewise.
37352         * modules/avltree-list-tests (Files): Likewise.
37353         * modules/avltree-oset-tests (Files): Likewise.
37354         * modules/avltreehash-list-tests (Files): Likewise.
37355         * modules/base64-tests (Files): Likewise.
37356         * modules/binary-io-tests (Files): Likewise.
37357         * modules/bitrotate-tests (Files): Likewise.
37358         * modules/btowc-tests (Files): Likewise.
37359         * modules/byteswap-tests (Files): Likewise.
37360         * modules/c-ctype-tests (Files): Likewise.
37361         * modules/c-stack-tests (Files): Likewise.
37362         * modules/c-strcase-tests (Files): Likewise.
37363         * modules/c-strcasestr-tests (Files): Likewise.
37364         * modules/c-strstr-tests (Files): Likewise.
37365         * modules/canonicalize-lgpl-tests (Files): Likewise.
37366         * modules/canonicalize-tests (Files): Likewise.
37367         * modules/carray-list-tests (Files): Likewise.
37368         * modules/ceilf-tests (Files): Likewise.
37369         * modules/ceill-tests (Files): Likewise.
37370         * modules/chown-tests (Files): Likewise.
37371         * modules/cloexec-tests (Files): Likewise.
37372         * modules/copy-file-tests (Files): Likewise.
37373         * modules/count-one-bits-tests (Files): Likewise.
37374         * modules/dprintf-posix-tests (Files): Likewise.
37375         * modules/dup2-tests (Files): Likewise.
37376         * modules/dup3-tests (Files): Likewise.
37377         * modules/duplocale-tests (Files): Likewise.
37378         * modules/fbufmode-tests (Files): Likewise.
37379         * modules/fchdir-tests (Files): Likewise.
37380         * modules/fcntl-safer-tests (Files): Likewise.
37381         * modules/fcntl-tests (Files): Likewise.
37382         * modules/fdopendir-tests (Files): Likewise.
37383         * modules/fdutimensat-tests (Files): Likewise.
37384         * modules/fflush-tests (Files): Likewise.
37385         * modules/filevercmp-tests (Files): Likewise.
37386         * modules/flock-tests (Files): Likewise.
37387         * modules/floorf-tests (Files): Likewise.
37388         * modules/floorl-tests (Files): Likewise.
37389         * modules/fnmatch-tests (Files): Likewise.
37390         * modules/fopen-safer-tests (Files): Likewise.
37391         * modules/fopen-tests (Files): Likewise.
37392         * modules/fpending-tests (Files): Likewise.
37393         * modules/fprintf-posix-tests (Files): Likewise.
37394         * modules/fpurge-tests (Files): Likewise.
37395         * modules/freadable-tests (Files): Likewise.
37396         * modules/freadahead-tests (Files): Likewise.
37397         * modules/freading-tests (Files): Likewise.
37398         * modules/freadptr-tests (Files): Likewise.
37399         * modules/freadseek-tests (Files): Likewise.
37400         * modules/freopen-tests (Files): Likewise.
37401         * modules/frexp-nolibm-tests (Files): Likewise.
37402         * modules/frexp-tests (Files): Likewise.
37403         * modules/frexpl-nolibm-tests (Files): Likewise.
37404         * modules/frexpl-tests (Files): Likewise.
37405         * modules/fseek-tests (Files): Likewise.
37406         * modules/fseeko-tests (Files): Likewise.
37407         * modules/fstrcmp-tests (Files): Likewise.
37408         * modules/fsync-tests (Files): Likewise.
37409         * modules/ftell-tests (Files): Likewise.
37410         * modules/ftello-tests (Files): Likewise.
37411         * modules/func-tests (Files): Likewise.
37412         * modules/futimens-tests (Files): Likewise.
37413         * modules/fwritable-tests (Files): Likewise.
37414         * modules/fwriting-tests (Files): Likewise.
37415         * modules/getcwd-tests (Files): Likewise.
37416         * modules/getdate-tests (Files): Likewise.
37417         * modules/getdelim-tests (Files): Likewise.
37418         * modules/getdtablesize-tests (Files): Likewise.
37419         * modules/getgroups-tests (Files): Likewise.
37420         * modules/getline-tests (Files): Likewise.
37421         * modules/getndelim2-tests (Files): Likewise.
37422         * modules/glob-tests (Files): Likewise.
37423         * modules/hash-tests (Files): Likewise.
37424         * modules/i-ring-tests (Files): Likewise.
37425         * modules/iconv-tests (Files): Likewise.
37426         * modules/iconv_open-utf-tests (Files): Likewise.
37427         * modules/idpriv-drop-tests (Files): Likewise.
37428         * modules/idpriv-droptemp-tests (Files): Likewise.
37429         * modules/inet_ntop-tests (Files): Likewise.
37430         * modules/inet_pton-tests (Files): Likewise.
37431         * modules/isblank-tests (Files): Likewise.
37432         * modules/isfinite-tests (Files): Likewise.
37433         * modules/isinf-tests (Files): Likewise.
37434         * modules/isnan-tests (Files): Likewise.
37435         * modules/isnand-nolibm-tests (Files): Likewise.
37436         * modules/isnand-tests (Files): Likewise.
37437         * modules/isnanf-nolibm-tests (Files): Likewise.
37438         * modules/isnanf-tests (Files): Likewise.
37439         * modules/isnanl-nolibm-tests (Files): Likewise.
37440         * modules/isnanl-tests (Files): Likewise.
37441         * modules/lchown-tests (Files): Likewise.
37442         * modules/ldexpl-tests (Files): Likewise.
37443         * modules/link-tests (Files): Likewise.
37444         * modules/linkat-tests (Files): Likewise.
37445         * modules/linked-list-tests (Files): Likewise.
37446         * modules/linkedhash-list-tests (Files): Likewise.
37447         * modules/localename-tests (Files): Likewise.
37448         * modules/lseek-tests (Files): Likewise.
37449         * modules/lstat-tests (Files): Likewise.
37450         * modules/mbmemcasecmp-tests (Files): Likewise.
37451         * modules/mbmemcasecoll-tests (Files): Likewise.
37452         * modules/mbrtowc-tests (Files): Likewise.
37453         * modules/mbscasecmp-tests (Files): Likewise.
37454         * modules/mbscasestr-tests (Files): Likewise.
37455         * modules/mbschr-tests (Files): Likewise.
37456         * modules/mbscspn-tests (Files): Likewise.
37457         * modules/mbsinit-tests (Files): Likewise.
37458         * modules/mbsncasecmp-tests (Files): Likewise.
37459         * modules/mbsnrtowcs-tests (Files): Likewise.
37460         * modules/mbspbrk-tests (Files): Likewise.
37461         * modules/mbspcasecmp-tests (Files): Likewise.
37462         * modules/mbsrchr-tests (Files): Likewise.
37463         * modules/mbsrtowcs-tests (Files): Likewise.
37464         * modules/mbsspn-tests (Files): Likewise.
37465         * modules/mbsstr-tests (Files): Likewise.
37466         * modules/memchr-tests (Files): Likewise.
37467         * modules/memchr2-tests (Files): Likewise.
37468         * modules/memcmp-tests (Files): Likewise.
37469         * modules/memmem-tests (Files): Likewise.
37470         * modules/memrchr-tests (Files): Likewise.
37471         * modules/mkdir-tests (Files): Likewise.
37472         * modules/mkfifo-tests (Files): Likewise.
37473         * modules/mkfifoat-tests (Files): Likewise.
37474         * modules/mknod-tests (Files): Likewise.
37475         * modules/nanosleep-tests (Files): Likewise.
37476         * modules/nl_langinfo-tests (Files): Likewise.
37477         * modules/obstack-printf-tests (Files): Likewise.
37478         * modules/open-tests (Files): Likewise.
37479         * modules/openat-tests (Files): Likewise.
37480         * modules/pipe-filter-gi-tests (Files): Likewise.
37481         * modules/pipe-filter-ii-tests (Files): Likewise.
37482         * modules/pipe2-tests (Files): Likewise.
37483         * modules/popen-safer-tests (Files): Likewise.
37484         * modules/popen-tests (Files): Likewise.
37485         * modules/posixtm-tests (Files): Likewise.
37486         * modules/pread-tests (Files): Likewise.
37487         * modules/printf-frexp-tests (Files): Likewise.
37488         * modules/printf-frexpl-tests (Files): Likewise.
37489         * modules/printf-posix-tests (Files): Likewise.
37490         * modules/priv-set-tests (Files): Likewise.
37491         * modules/quotearg-tests (Files): Likewise.
37492         * modules/random_r-tests (Files): Likewise.
37493         * modules/rawmemchr-tests (Files): Likewise.
37494         * modules/rbtree-list-tests (Files): Likewise.
37495         * modules/rbtree-oset-tests (Files): Likewise.
37496         * modules/rbtreehash-list-tests (Files): Likewise.
37497         * modules/readlink-tests (Files): Likewise.
37498         * modules/remove-tests (Files): Likewise.
37499         * modules/rename-tests (Files): Likewise.
37500         * modules/renameat-tests (Files): Likewise.
37501         * modules/rmdir-tests (Files): Likewise.
37502         * modules/round-tests (Files): Likewise.
37503         * modules/roundf-tests (Files): Likewise.
37504         * modules/roundl-tests (Files): Likewise.
37505         * modules/safe-alloc-tests (Files): Likewise.
37506         * modules/setenv-tests (Files): Likewise.
37507         * modules/sigaction-tests (Files): Likewise.
37508         * modules/signbit-tests (Files): Likewise.
37509         * modules/sleep-tests (Files): Likewise.
37510         * modules/snprintf-posix-tests (Files): Likewise.
37511         * modules/snprintf-tests (Files): Likewise.
37512         * modules/sprintf-posix-tests (Files): Likewise.
37513         * modules/stat-tests (Files): Likewise.
37514         * modules/stat-time-tests (Files): Likewise.
37515         * modules/strcasestr-tests (Files): Likewise.
37516         * modules/strchrnul-tests (Files): Likewise.
37517         * modules/strerror-tests (Files): Likewise.
37518         * modules/striconv-tests (Files): Likewise.
37519         * modules/striconveh-tests (Files): Likewise.
37520         * modules/striconveha-tests (Files): Likewise.
37521         * modules/strsignal-tests (Files): Likewise.
37522         * modules/strstr-tests (Files): Likewise.
37523         * modules/strtod-tests (Files): Likewise.
37524         * modules/strverscmp-tests (Files): Likewise.
37525         * modules/symlink-tests (Files): Likewise.
37526         * modules/symlinkat-tests (Files): Likewise.
37527         * modules/trunc-tests (Files): Likewise.
37528         * modules/truncf-tests (Files): Likewise.
37529         * modules/truncl-tests (Files): Likewise.
37530         * modules/uname-tests (Files): Likewise.
37531         * modules/unicase/cased-tests (Files): Likewise.
37532         * modules/unicase/ignorable-tests (Files): Likewise.
37533         * modules/unicase/locale-language-tests (Files): Likewise.
37534         * modules/unicase/tolower-tests (Files): Likewise.
37535         * modules/unicase/totitle-tests (Files): Likewise.
37536         * modules/unicase/toupper-tests (Files): Likewise.
37537         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37538         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37539         * modules/unicase/u8-casefold-tests (Files): Likewise.
37540         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37541         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37542         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37543         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37544         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37545         * modules/unicase/u8-tolower-tests (Files): Likewise.
37546         * modules/unicase/u8-totitle-tests (Files): Likewise.
37547         * modules/unicase/u8-toupper-tests (Files): Likewise.
37548         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37549         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37550         * modules/unicase/u16-casefold-tests (Files): Likewise.
37551         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37552         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37553         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37554         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37555         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37556         * modules/unicase/u16-tolower-tests (Files): Likewise.
37557         * modules/unicase/u16-totitle-tests (Files): Likewise.
37558         * modules/unicase/u16-toupper-tests (Files): Likewise.
37559         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37560         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37561         * modules/unicase/u32-casefold-tests (Files): Likewise.
37562         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37563         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37564         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37565         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37566         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37567         * modules/unicase/u32-tolower-tests (Files): Likewise.
37568         * modules/unicase/u32-totitle-tests (Files): Likewise.
37569         * modules/unicase/u32-toupper-tests (Files): Likewise.
37570         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37571         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37572         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37573         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37574         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37575         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37576         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37577         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37578         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37579         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37580         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37581         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37582         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37583         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37584         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37585         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37586         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37587         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37588         * modules/unictype/block-list-tests (Files): Likewise.
37589         * modules/unictype/block-of-tests (Files): Likewise.
37590         * modules/unictype/block-test-tests (Files): Likewise.
37591         * modules/unictype/category-C-tests (Files): Likewise.
37592         * modules/unictype/category-Cc-tests (Files): Likewise.
37593         * modules/unictype/category-Cf-tests (Files): Likewise.
37594         * modules/unictype/category-Cn-tests (Files): Likewise.
37595         * modules/unictype/category-Co-tests (Files): Likewise.
37596         * modules/unictype/category-Cs-tests (Files): Likewise.
37597         * modules/unictype/category-L-tests (Files): Likewise.
37598         * modules/unictype/category-Ll-tests (Files): Likewise.
37599         * modules/unictype/category-Lm-tests (Files): Likewise.
37600         * modules/unictype/category-Lo-tests (Files): Likewise.
37601         * modules/unictype/category-Lt-tests (Files): Likewise.
37602         * modules/unictype/category-Lu-tests (Files): Likewise.
37603         * modules/unictype/category-M-tests (Files): Likewise.
37604         * modules/unictype/category-Mc-tests (Files): Likewise.
37605         * modules/unictype/category-Me-tests (Files): Likewise.
37606         * modules/unictype/category-Mn-tests (Files): Likewise.
37607         * modules/unictype/category-N-tests (Files): Likewise.
37608         * modules/unictype/category-Nd-tests (Files): Likewise.
37609         * modules/unictype/category-Nl-tests (Files): Likewise.
37610         * modules/unictype/category-No-tests (Files): Likewise.
37611         * modules/unictype/category-P-tests (Files): Likewise.
37612         * modules/unictype/category-Pc-tests (Files): Likewise.
37613         * modules/unictype/category-Pd-tests (Files): Likewise.
37614         * modules/unictype/category-Pe-tests (Files): Likewise.
37615         * modules/unictype/category-Pf-tests (Files): Likewise.
37616         * modules/unictype/category-Pi-tests (Files): Likewise.
37617         * modules/unictype/category-Po-tests (Files): Likewise.
37618         * modules/unictype/category-Ps-tests (Files): Likewise.
37619         * modules/unictype/category-S-tests (Files): Likewise.
37620         * modules/unictype/category-Sc-tests (Files): Likewise.
37621         * modules/unictype/category-Sk-tests (Files): Likewise.
37622         * modules/unictype/category-Sm-tests (Files): Likewise.
37623         * modules/unictype/category-So-tests (Files): Likewise.
37624         * modules/unictype/category-Z-tests (Files): Likewise.
37625         * modules/unictype/category-Zl-tests (Files): Likewise.
37626         * modules/unictype/category-Zp-tests (Files): Likewise.
37627         * modules/unictype/category-Zs-tests (Files): Likewise.
37628         * modules/unictype/category-and-not-tests (Files): Likewise.
37629         * modules/unictype/category-and-tests (Files): Likewise.
37630         * modules/unictype/category-byname-tests (Files): Likewise.
37631         * modules/unictype/category-name-tests (Files): Likewise.
37632         * modules/unictype/category-none-tests (Files): Likewise.
37633         * modules/unictype/category-of-tests (Files): Likewise.
37634         * modules/unictype/category-or-tests (Files): Likewise.
37635         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37636         * modules/unictype/combining-class-tests (Files): Likewise.
37637         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37638         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37639         * modules/unictype/ctype-blank-tests (Files): Likewise.
37640         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37641         * modules/unictype/ctype-digit-tests (Files): Likewise.
37642         * modules/unictype/ctype-graph-tests (Files): Likewise.
37643         * modules/unictype/ctype-lower-tests (Files): Likewise.
37644         * modules/unictype/ctype-print-tests (Files): Likewise.
37645         * modules/unictype/ctype-punct-tests (Files): Likewise.
37646         * modules/unictype/ctype-space-tests (Files): Likewise.
37647         * modules/unictype/ctype-upper-tests (Files): Likewise.
37648         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37649         * modules/unictype/decimal-digit-tests (Files): Likewise.
37650         * modules/unictype/digit-tests (Files): Likewise.
37651         * modules/unictype/mirror-tests (Files): Likewise.
37652         * modules/unictype/numeric-tests (Files): Likewise.
37653         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37654         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37655         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37656         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37657         Likewise.
37658         * modules/unictype/property-bidi-block-separator-tests (Files):
37659         Likewise.
37660         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37661         Likewise.
37662         * modules/unictype/property-bidi-common-separator-tests (Files):
37663         Likewise.
37664         * modules/unictype/property-bidi-control-tests (Files): Likewise.
37665         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
37666         Likewise.
37667         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
37668         Likewise.
37669         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
37670         Likewise.
37671         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
37672         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
37673         Likewise.
37674         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
37675         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
37676         Likewise.
37677         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
37678         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
37679         * modules/unictype/property-bidi-segment-separator-tests (Files):
37680         Likewise.
37681         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
37682         * modules/unictype/property-byname-tests (Files): Likewise.
37683         * modules/unictype/property-combining-tests (Files): Likewise.
37684         * modules/unictype/property-composite-tests (Files): Likewise.
37685         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37686         * modules/unictype/property-dash-tests (Files): Likewise.
37687         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37688         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37689         Likewise.
37690         * modules/unictype/property-deprecated-tests (Files): Likewise.
37691         * modules/unictype/property-diacritic-tests (Files): Likewise.
37692         * modules/unictype/property-extender-tests (Files): Likewise.
37693         * modules/unictype/property-format-control-tests (Files): Likewise.
37694         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37695         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37696         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37697         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37698         * modules/unictype/property-hyphen-tests (Files): Likewise.
37699         * modules/unictype/property-id-continue-tests (Files): Likewise.
37700         * modules/unictype/property-id-start-tests (Files): Likewise.
37701         * modules/unictype/property-ideographic-tests (Files): Likewise.
37702         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37703         * modules/unictype/property-ids-trinary-operator-tests (Files):
37704         Likewise.
37705         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37706         * modules/unictype/property-iso-control-tests (Files): Likewise.
37707         * modules/unictype/property-join-control-tests (Files): Likewise.
37708         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37709         * modules/unictype/property-line-separator-tests (Files): Likewise.
37710         * modules/unictype/property-logical-order-exception-tests (Files):
37711         Likewise.
37712         * modules/unictype/property-lowercase-tests (Files): Likewise.
37713         * modules/unictype/property-math-tests (Files): Likewise.
37714         * modules/unictype/property-non-break-tests (Files): Likewise.
37715         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37716         * modules/unictype/property-numeric-tests (Files): Likewise.
37717         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37718         * modules/unictype/property-other-default-ignorable-code-point-tests
37719         (Files): Likewise.
37720         * modules/unictype/property-other-grapheme-extend-tests (Files):
37721         Likewise.
37722         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37723         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37724         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37725         * modules/unictype/property-other-math-tests (Files): Likewise.
37726         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37727         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37728         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37729         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37730         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37731         * modules/unictype/property-private-use-tests (Files): Likewise.
37732         * modules/unictype/property-punctuation-tests (Files): Likewise.
37733         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37734         * modules/unictype/property-radical-tests (Files): Likewise.
37735         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37736         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37737         * modules/unictype/property-space-tests (Files): Likewise.
37738         * modules/unictype/property-terminal-punctuation-tests (Files):
37739         Likewise.
37740         * modules/unictype/property-test-tests (Files): Likewise.
37741         * modules/unictype/property-titlecase-tests (Files): Likewise.
37742         * modules/unictype/property-unassigned-code-value-tests (Files):
37743         Likewise.
37744         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37745         * modules/unictype/property-uppercase-tests (Files): Likewise.
37746         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37747         * modules/unictype/property-white-space-tests (Files): Likewise.
37748         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37749         * modules/unictype/property-xid-start-tests (Files): Likewise.
37750         * modules/unictype/property-zero-width-tests (Files): Likewise.
37751         * modules/unictype/scripts-tests (Files): Likewise.
37752         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37753         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37754         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37755         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37756         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37757         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37758         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37759         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37760         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37761         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37762         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37763         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37764         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37765         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37766         * modules/uninorm/composition-tests (Files): Likewise.
37767         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37768         * modules/uninorm/decomposition-tests (Files): Likewise.
37769         * modules/uninorm/filter-tests (Files): Likewise.
37770         * modules/uninorm/nfc-tests (Files): Likewise.
37771         * modules/uninorm/nfd-tests (Files): Likewise.
37772         * modules/uninorm/nfkc-tests (Files): Likewise.
37773         * modules/uninorm/nfkd-tests (Files): Likewise.
37774         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37775         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37776         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37777         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37778         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37779         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37780         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37781         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37782         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37783         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37784         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37785         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37786         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37787         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37788         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37789         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37790         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37791         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37792         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37793         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37794         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37795         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37796         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37797         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37798         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37799         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37800         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37801         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37802         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37803         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37804         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37805         * modules/uniwidth/u8-width-tests (Files): Likewise.
37806         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37807         * modules/uniwidth/u16-width-tests (Files): Likewise.
37808         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37809         * modules/uniwidth/u32-width-tests (Files): Likewise.
37810         * modules/uniwidth/width-tests (Files): Likewise.
37811         * modules/unlink-tests (Files): Likewise.
37812         * modules/unsetenv-tests (Files): Likewise.
37813         * modules/usleep-tests (Files): Likewise.
37814         * modules/utimens-tests (Files): Likewise.
37815         * modules/utimensat-tests (Files): Likewise.
37816         * modules/vasnprintf-posix-tests (Files): Likewise.
37817         * modules/vasnprintf-tests (Files): Likewise.
37818         * modules/vasprintf-posix-tests (Files): Likewise.
37819         * modules/vasprintf-tests (Files): Likewise.
37820         * modules/vdprintf-posix-tests (Files): Likewise.
37821         * modules/vfprintf-posix-tests (Files): Likewise.
37822         * modules/vprintf-posix-tests (Files): Likewise.
37823         * modules/vsnprintf-posix-tests (Files): Likewise.
37824         * modules/vsnprintf-tests (Files): Likewise.
37825         * modules/vsprintf-posix-tests (Files): Likewise.
37826         * modules/wcrtomb-tests (Files): Likewise.
37827         * modules/wcsnrtombs-tests (Files): Likewise.
37828         * modules/wcsrtombs-tests (Files): Likewise.
37829         * modules/wctype-tests (Files): Likewise.
37830         * modules/wcwidth-tests (Files): Likewise.
37831         * modules/xmemdup0-tests (Files): Likewise.
37832         * modules/xprintf-posix-tests (Files): Likewise.
37833         * modules/xvasprintf-tests (Files): Likewise.
37834
37835 2009-12-24  Eric Blake  <ebb9@byu.net>
37836
37837         test-nanosleep: fix typo
37838         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37839         patch.
37840         Reported by Bruno Haible.
37841
37842 2009-12-24  Bruno Haible  <bruno@clisp.org>
37843
37844         Reduce namespace pollution on glibc systems.
37845         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37846         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37847         systems.
37848         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37849         <getopt.h> on glibc systems.
37850         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37851         systems.
37852         * lib/fcntl.c: Include <unistd.h> here instead.
37853
37854 2009-12-24  Bruno Haible  <bruno@clisp.org>
37855
37856         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37857
37858 2009-12-24  Eric Blake  <ebb9@byu.net>
37859
37860         tests: add signature checks
37861         * tests/signature.h (SIGNATURE_CHECK): New file.
37862         * modules/atexit-tests (Files): Use it.
37863         * modules/btowc-tests (Files): Likewise.
37864         * modules/canonicalize-lgpl-tests (Files): Likewise.
37865         * modules/ceilf-tests (Files): Likewise.
37866         * modules/ceill-tests (Files): Likewise.
37867         * modules/chown-tests (Files): Likewise.
37868         * modules/dprintf-posix-tests (Files): Likewise.
37869         * modules/dup2-tests (Files): Likewise.
37870         * modules/dup3-tests (Files): Likewise.
37871         * modules/duplocale-tests (Files): Likewise.
37872         * modules/fchdir-tests (Files): Likewise.
37873         * modules/fcntl-tests (Files): Likewise.
37874         * modules/fdopendir-tests (Files): Likewise.
37875         * modules/fflush-tests (Files): Likewise.
37876         * modules/flock-tests (Files): Likewise.
37877         * modules/floorf-tests (Files): Likewise.
37878         * modules/floorl-tests (Files): Likewise.
37879         * modules/fnmatch-tests (Files): Likewise.
37880         * modules/fopen-tests (Files): Likewise.
37881         * modules/fprintf-posix-tests (Files): Likewise.
37882         * modules/freopen-tests (Files): Likewise.
37883         * modules/frexp-nolibm-tests (Files): Likewise.
37884         * modules/frexp-tests (Files): Likewise.
37885         * modules/frexpl-nolibm-tests (Files): Likewise.
37886         * modules/frexpl-tests (Files): Likewise.
37887         * modules/fseek-tests (Files): Likewise.
37888         * modules/fseeko-tests (Files): Likewise.
37889         * modules/fsync-tests (Files): Likewise.
37890         * modules/ftell-tests (Files): Likewise.
37891         * modules/ftello-tests (Files): Likewise.
37892         * modules/futimens-tests (Files): Likewise.
37893         * modules/getaddrinfo-tests (Files): Likewise.
37894         * modules/getcwd-tests (Files): Likewise.
37895         * modules/getdelim-tests (Files): Likewise.
37896         * modules/getdtablesize-tests (Files): Likewise.
37897         * modules/getgroups-tests (Files): Likewise.
37898         * modules/gethostname-tests (Files): Likewise.
37899         * modules/getline-tests (Files): Likewise.
37900         * modules/getopt-posix-tests (Files): Likewise.
37901         * modules/gettimeofday-tests (Files): Likewise.
37902         * modules/glob-tests (Files): Likewise.
37903         * modules/iconv-tests (Files): Likewise.
37904         * modules/inet_ntop-tests (Files): Likewise.
37905         * modules/inet_pton-tests (Files): Likewise.
37906         * modules/isblank-tests (Files): Likewise.
37907         * modules/lchown-tests (Files): Likewise.
37908         * modules/ldexpl-tests (Files): Likewise.
37909         * modules/link-tests (Files): Likewise.
37910         * modules/linkat-tests (Files): Likewise.
37911         * modules/lseek-tests (Files): Likewise.
37912         * modules/lstat-tests (Files): Likewise.
37913         * modules/mbrtowc-tests (Files): Likewise.
37914         * modules/mbsinit-tests (Files): Likewise.
37915         * modules/mbsnrtowcs-tests (Files): Likewise.
37916         * modules/mbsrtowcs-tests (Files): Likewise.
37917         * modules/memchr-tests (Files): Likewise.
37918         * modules/memcmp-tests (Files): Likewise.
37919         * modules/memmem-tests (Files): Likewise.
37920         * modules/memrchr-tests (Files): Likewise.
37921         * modules/mkdir-tests (Files): Likewise.
37922         * modules/mkfifo-tests (Files): Likewise.
37923         * modules/mkfifoat-tests (Files): Likewise.
37924         * modules/mknod-tests (Files): Likewise.
37925         * modules/nanosleep-tests (Files): Likewise.
37926         * modules/nl_langinfo-tests (Files): Likewise.
37927         * modules/obstack-printf-tests (Files): Likewise.
37928         * modules/open-tests (Files): Likewise.
37929         * modules/openat-tests (Files): Likewise.
37930         * modules/perror-tests (Files): Likewise.
37931         * modules/pipe2-tests (Files): Likewise.
37932         * modules/poll-tests (Files): Likewise.
37933         * modules/popen-tests (Files): Likewise.
37934         * modules/posix_spawn-tests (Files): Likewise.
37935         * modules/posix_spawnp-tests (Files): Likewise.
37936         * modules/pread-tests (Files): Likewise.
37937         * modules/printf-posix-tests (Files): Likewise.
37938         * modules/pty-tests (Files): Likewise.
37939         * modules/random_r-tests (Files): Likewise.
37940         * modules/rawmemchr-tests (Files): Likewise.
37941         * modules/readlink-tests (Files): Likewise.
37942         * modules/remove-tests (Files): Likewise.
37943         * modules/rename-tests (Files): Likewise.
37944         * modules/renameat-tests (Files): Likewise.
37945         * modules/rmdir-tests (Files): Likewise.
37946         * modules/round-tests (Files): Likewise.
37947         * modules/roundf-tests (Files): Likewise.
37948         * modules/roundl-tests (Files): Likewise.
37949         * modules/select-tests (Files): Likewise.
37950         * modules/setenv-tests (Files): Likewise.
37951         * modules/sigaction-tests (Files): Likewise.
37952         * modules/sleep-tests (Files): Likewise.
37953         * modules/snprintf-posix-tests (Files): Likewise.
37954         * modules/snprintf-tests (Files): Likewise.
37955         * modules/sprintf-posix-tests (Files): Likewise.
37956         * modules/stat-tests (Files): Likewise.
37957         * modules/strcasestr-tests (Files): Likewise.
37958         * modules/strchrnul-tests (Files): Likewise.
37959         * modules/strerror-tests (Files): Likewise.
37960         * modules/strsignal-tests (Files): Likewise.
37961         * modules/strstr-tests (Files): Likewise.
37962         * modules/strtod-tests (Files): Likewise.
37963         * modules/strverscmp-tests (Files): Likewise.
37964         * modules/symlink-tests (Files): Likewise.
37965         * modules/symlinkat-tests (Files): Likewise.
37966         * modules/times-tests (Files): Likewise.
37967         * modules/trunc-tests (Files): Likewise.
37968         * modules/truncf-tests (Files): Likewise.
37969         * modules/truncl-tests (Files): Likewise.
37970         * modules/tsearch-tests (Files): Likewise.
37971         * modules/uname-tests (Files): Likewise.
37972         * modules/unlink-tests (Files): Likewise.
37973         * modules/unsetenv-tests (Files): Likewise.
37974         * modules/usleep-tests (Files): Likewise.
37975         * modules/utimensat-tests (Files): Likewise.
37976         * modules/vasprintf-tests (Files): Likewise.
37977         * modules/vdprintf-posix-tests (Files): Likewise.
37978         * modules/vfprintf-posix-tests (Files): Likewise.
37979         * modules/vprintf-posix-tests (Files): Likewise.
37980         * modules/vsnprintf-posix-tests (Files): Likewise.
37981         * modules/vsnprintf-tests (Files): Likewise.
37982         * modules/vsprintf-posix-tests (Files): Likewise.
37983         * modules/wcrtomb-tests (Files): Likewise.
37984         * modules/wcsnrtombs-tests (Files): Likewise.
37985         * modules/wcsrtombs-tests (Files): Likewise.
37986         * modules/wcwidth-tests (Files): Likewise.
37987         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37988         * tests/test-isinf.c (isinf): Likewise.
37989         * tests/test-isnan.c (isnan): Likewise.
37990         * tests/test-signbit.c (signbit): Likewise.
37991         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37992         declaration, either as macro or with correct signature.
37993         (select): Ensure function under test is declared with correct
37994         signature in correct header.
37995         * tests/test-atexit.c (atexit): Likewise.
37996         * tests/test-btowc.c (btowc): Likewise.
37997         * tests/test-canonicalize-lgpl.c (realpath)
37998         (canonicalize_file_name): Likewise.
37999         * tests/test-ceilf1.c (ceilf): Likewise.
38000         * tests/test-ceill.c (ceill): Likewise.
38001         * tests/test-chown.c (chown): Likewise.
38002         * tests/test-dprintf-posix.c (dprintf): Likewise.
38003         * tests/test-dup2.c (dup2): Likewise.
38004         * tests/test-dup3.c (dup3): Likewise.
38005         * tests/test-duplocale.c (duplocale): Likewise.
38006         * tests/test-fchdir.c (fchdir): Likewise.
38007         * tests/test-fchownat.c (fchownat): Likewise.
38008         * tests/test-fcntl.c (fcntl): Likewise.
38009         * tests/test-fdopendir.c (fdopendir): Likewise.
38010         * tests/test-fflush.c (fflush): Likewise.
38011         * tests/test-flock.c (flock): Likewise.
38012         * tests/test-floorf1.c (floorf): Likewise.
38013         * tests/test-floorl.c (floorl): Likewise.
38014         * tests/test-fnmatch.c (fnmatch): Likewise.
38015         * tests/test-fopen.c (fopen): Likewise.
38016         * tests/test-fprintf-posix.c (fprintf): Likewise.
38017         * tests/test-freopen.c (freopen): Likewise.
38018         * tests/test-frexp.c (frexp): Likewise.
38019         * tests/test-frexpl.c (frexpl): Likewise.
38020         * tests/test-fseek.c (fseek): Likewise.
38021         * tests/test-fseeko.c (fseeko): Likewise.
38022         * tests/test-fstatat.c (fstatat): Likewise.
38023         * tests/test-fsync.c (fsync): Likewise.
38024         * tests/test-ftell.c (ftell): Likewise.
38025         * tests/test-ftello.c (ftello): Likewise.
38026         * tests/test-futimens.c (futimens): Likewise.
38027         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38028         (gai_strerror): Likewise.
38029         * tests/test-getcwd.c (getcwd): Likewise.
38030         * tests/test-getdelim.c (getdelim): Likewise.
38031         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38032         * tests/test-getgroups.c (getgroups): Likewise.
38033         * tests/test-gethostname.c (gethostname): Likewise.
38034         * tests/test-getline.c (getline): Likewise.
38035         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38036         Likewise.
38037         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38038         * tests/test-glob.c (glob, globfree): Likewise.
38039         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38040         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38041         * tests/test-inet_pton.c (inet_pton): Likewise.
38042         * tests/test-isblank.c (isblank): Likewise.
38043         * tests/test-lchown.c (lchown): Likewise.
38044         * tests/test-ldexpl.c (ldexpl): Likewise.
38045         * tests/test-link.c (link): Likewise.
38046         * tests/test-linkat.c (linkat): Likewise.
38047         * tests/test-lseek.c (lseek): Likewise.
38048         * tests/test-lstat.c (lstat): Likewise.
38049         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38050         * tests/test-mbsinit.c (mbsinit): Likewise.
38051         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38052         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38053         * tests/test-memchr.c (memchr): Likewise.
38054         * tests/test-memcmp.c (memcmp): Likewise.
38055         * tests/test-memmem.c (memmem): Likewise.
38056         * tests/test-memrchr.c (memrchr): Likewise.
38057         * tests/test-mkdir.c (mkdir): Likewise.
38058         * tests/test-mkdirat.c (mkdirat): Likewise.
38059         * tests/test-mkfifo.c (mkfifo): Likewise.
38060         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38061         * tests/test-mknod.c (mknod): Likewise.
38062         * tests/test-nanosleep.c (nanosleep): Likewise.
38063         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38064         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38065         Likewise.
38066         * tests/test-open.c (open): Likewise.
38067         * tests/test-openat.c (openat): Likewise.
38068         * tests/test-perror.c (perror): Likewise.
38069         * tests/test-pipe2.c (pipe2): Likewise.
38070         * tests/test-poll.c (poll): Likewise.
38071         * tests/test-popen.c (popen, pclose): Likewise.
38072         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38073         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38074         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38075         (posix_spawn_file_actions_destroy)
38076         (posix_spawn_file_actions_addclose)
38077         (posix_spawn_file_actions_addopen)
38078         (posix_spawn_file_actions_adddup2): Likewise.
38079         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38080         * tests/test-pread.c (pread): Likewise.
38081         * tests/test-printf-posix.c (printf): Likewise.
38082         * tests/test-pty.c (openpty, forkpty): Likewise.
38083         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38084         (random_r): Likewise.
38085         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38086         * tests/test-readlink.c (readlink): Likewise.
38087         * tests/test-remove.c (remove): Likewise.
38088         * tests/test-rename.c (rename): Likewise.
38089         * tests/test-renameat.c (renameat): Likewise.
38090         * tests/test-rmdir.c (rmdir): Likewise.
38091         * tests/test-round1.c (round): Likewise.
38092         * tests/test-roundf1.c (roundf): Likewise.
38093         * tests/test-roundl.c (roundl): Likewise.
38094         * tests/test-setenv.c (setenv): Likewise.
38095         * tests/test-sigaction.c (sigaction): Likewise.
38096         * tests/test-sleep.c (sleep): Likewise.
38097         * tests/test-snprintf.c (snprintf): Likewise.
38098         * tests/test-sprintf-posix.c (sprintf): Likewise.
38099         * tests/test-stat.c (stat): Likewise.
38100         * tests/test-stpncpy.c (stpncpy): Likewise.
38101         * tests/test-strcasestr.c (strcasestr): Likewise.
38102         * tests/test-strchrnul.c (strchrnul): Likewise.
38103         * tests/test-strerror.c (strerror): Likewise.
38104         * tests/test-strsignal.c (strsignal): Likewise.
38105         * tests/test-strstr.c (strstr): Likewise.
38106         * tests/test-strtod.c (strtod): Likewise.
38107         * tests/test-strverscmp.c (strverscmp): Likewise.
38108         * tests/test-symlink.c (symlink): Likewise.
38109         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38110         * tests/test-times.c (times): Likewise.
38111         * tests/test-trunc1.c (trunc): Likewise.
38112         * tests/test-truncf1.c (truncf): Likewise.
38113         * tests/test-truncl.c (truncl): Likewise.
38114         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38115         Likewise.
38116         * tests/test-uname.c (uname): Likewise.
38117         * tests/test-unlink.c (unlink): Likewise.
38118         * tests/test-unlinkat.c (unlinkat): Likewise.
38119         * tests/test-unsetenv.c (unsetenv): Likewise.
38120         * tests/test-usleep.c (usleep): Likewise.
38121         * tests/test-utimensat.c (utimensat): Likewise.
38122         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38123         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38124         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38125         * tests/test-vprintf-posix.c (vprintf): Likewise.
38126         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38127         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38128         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38129         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38130         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38131         * tests/test-wcwidth.c (wcwidth): Likewise.
38132
38133         build: pull in conditional headers during GNULIB_POSIXCHECK
38134         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38135         definitions from any conditionally-included headers.
38136         * lib/stdlib.in.h (includes): Likewise.
38137         * lib/unistd.in.h (includes): Likewise.
38138
38139 2009-12-24  Bruno Haible  <bruno@clisp.org>
38140
38141         * tests/test-argv-iter.c: Include header file being tested immediately
38142         after config.h.
38143         * tests/test-base64.c: Likewise.
38144         * tests/test-flock.c: Likewise.
38145         * tests/test-fsync.c: Likewise.
38146         * tests/test-getdate.c: Likewise.
38147         * tests/test-getndelim2.c: Likewise.
38148         * tests/test-isfinite.c: Likewise.
38149         * tests/test-isinf.c: Likewise.
38150         * tests/test-strerror.c: Likewise.
38151         * tests/test-strsignal.c: Likewise.
38152
38153 2009-12-23  Eric Blake  <ebb9@byu.net>
38154
38155         unistd: work around cygwin bug
38156         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38157         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38158         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38159
38160 2009-12-23  Bruno Haible  <bruno@clisp.org>
38161
38162         localename: More tests.
38163         * tests/test-localename.c (SIZEOF): New macro.
38164         (categories): New variable.
38165         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38166         test_locale_name_default): Add test w.r.t. thread locale.
38167         (test_locale_name_thread): New function.
38168         (main): Invoke it.
38169
38170         localename: Make aware of thread locale.
38171         * lib/localename.h (gl_locale_name_thread): New declaration.
38172         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38173         behaviour with respect to thread locale.
38174         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38175         <langinfo.h>, glthread/lock.h.
38176         (SIZE_BITS): New macro.
38177         (string_hash): New function.
38178         (struct hash_node): New type.
38179         (HASH_TABLE_SIZE): New macro.
38180         (struniq_hash_table, struniq_lock): New variables.
38181         (struniq): New function.
38182         (gl_locale_name_thread): New function.
38183         (gl_locale_name): Invoke it.
38184         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38185         * modules/localename (Depends-on): Add lock.
38186         Reported by Mike Gran <spk121@yahoo.com>.
38187
38188 2009-12-23  Eric Blake  <ebb9@byu.net>
38189
38190         va-args: new module
38191         * modules/va-args: New file.
38192         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38193         * MODULES.html.sh (Core language properties): Mention it.
38194
38195         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38196         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38197         named alias for __attribute__((__unused__)).
38198         * lib/chown.c: Update client.
38199         * lib/fchmodat.c: Likewise.
38200         * lib/fts.c: Likewise.
38201         * lib/getdate.y: Likewise.
38202         * lib/getgroups.c: Likewise.
38203         * lib/getopt.c: Likewise.
38204         * lib/getugroups.c: Likewise.
38205         * lib/mkdir.c: Likewise.
38206         * lib/mkfifo.c: Likewise.
38207         * lib/mkfifoat.c: Likewise.
38208         * lib/mknod.c: Likewise.
38209         * lib/mknodat.c: Likewise.
38210         * lib/readlink.c: Likewise.
38211         * lib/se-context.in.h: Likewise.
38212         * lib/se-selinux.in.h: Likewise.
38213         * lib/sockets.c: Likewise.
38214         * lib/symlink.c: Likewise.
38215         * lib/symlinkat.c: Likewise.
38216         * lib/unicodeio.c: Likewise.
38217         * lib/unistr.h: Likewise.
38218         * tests/test-areadlink.c: Likewise.
38219         * tests/test-areadlinkat.c: Likewise.
38220         * tests/test-filenamecat.c: Likewise.
38221         * tests/test-fseeko.c: Likewise.
38222         * tests/test-ftello.c: Likewise.
38223         * tests/test-getdate.c: Likewise.
38224         * tests/test-getgroups.c: Likewise.
38225         * tests/test-gethostname.c: Likewise.
38226         * tests/test-quotearg.c: Likewise.
38227         * tests/test-version-etc.c: Likewise.
38228         * tests/test-xalloc-die.c: Likewise.
38229         * tests/test-xfprintf-posix.c: Likewise.
38230         * tests/test-xprintf-posix.c: Likewise.
38231         * tests/test-xvasprintf.c: Likewise.
38232
38233         tests: avoid compiler warnings
38234         * tests/test-fcntl.c (main): Delete unused parameters.
38235         * tests/test-freopen-safer.c (main): Likewise.
38236         * tests/test-xalloc-die.c (main): Mark unused parameters.
38237         * tests/test-fseeko.c (main): Likewise.
38238         * tests/test-ftello.c (main): Likewise.
38239         * tests/test-nanosleep.c (main): Avoid declaration warning.
38240         * tests/test-sleep.c (main): Likewise.
38241         * tests/test-unsetenv.c (main): Silence warning about string
38242         literal.
38243         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38244
38245 2009-12-23  Bruno Haible  <bruno@clisp.org>
38246
38247         * tests/test-localename.c (test_locale_name): New function, extracted
38248         from main. Also test mixed situations.
38249         (test_locale_name_posix, test_locale_name_environ,
38250         test_locale_name_default): New functions.
38251         (main): Invoke them all.
38252         * modules/localename-tests (configure.ac): Test for newlocale.
38253
38254 2009-12-23  Bruno Haible  <bruno@clisp.org>
38255
38256         unistd: Ensure getcwd gets declared before being overridden.
38257         * lib/unistd.in.h: Conditionally include <io.h>.
38258
38259 2009-12-22  Bruno Haible  <bruno@clisp.org>
38260
38261         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38262         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38263         (gl_WCHAR_H): Invoke it.
38264         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38265         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38266         Reported by Karl Berry <karl@freefriends.org>.
38267
38268 2009-12-22  Eric Blake  <ebb9@byu.net>
38269
38270         math, unistd: avoid redundant includes
38271         * lib/math.in.h (isnan): No need to re-include <math.h>.
38272         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38273
38274         getsubopt: work around cygwin bug
38275         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38276         avoid conflicting with system getsubopt.
38277         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38278         bug.
38279
38280         getopt: synchronize from glibc
38281         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38282         parameter order.  Adjust all callers.
38283         (_getopt_internal_r, main): Adjust quoting in error messages.
38284         Drop considerations for outdated POSIX 1003.2 error message.
38285         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38286         callers.
38287         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38288
38289         test-getopt: test stderr behavior
38290         * modules/getopt-posix-tests (Depends-on): Add dup2.
38291         * tests/test-getopt.c (ASSERT): Avoid stderr.
38292         (main): Move stderr to a temporary file.
38293         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38294         Instead, add parameter to inform caller if output occurred.
38295         (test_getopt): Adjust all existing tests to expect silence, and
38296         add new tests of leading ":".
38297         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38298         glibc shortcomings with leading "-:" or "+:" in optstring.
38299         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38300         Likewise.
38301         * doc/posix-functions/getopt.texi (getopt): Likewise.
38302
38303         test-getopt: enhance test
38304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38305         supports optind=0.
38306         * tests/test-getopt.c (OPTIND_MIN): Move...
38307         * tests/test-getopt.h (OPTIND_MIN): ...here.
38308         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38309         Require that optind=0 works, since modern BSD supports it in
38310         addition to optreset, and since coreutils expects it.
38311         (test_getopt_long_only): New test.
38312         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38313         glibc shortcomings with 'W;', and enforcement of optind=0.
38314         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38315         Likewise.
38316
38317 2009-12-21  Bruno Haible  <bruno@clisp.org>
38318
38319         localename: Improvements for MacOS X and Cygwin.
38320         * lib/localename.h (gl_locale_name_environ): New declaration.
38321         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38322         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38323         (gl_locale_name_posix): Invoke it.
38324         (gl_locale_name_default): Add comments. Use Windows native API also on
38325         Cygwin.
38326
38327 2009-12-21  Bruno Haible  <bruno@clisp.org>
38328
38329         Update list of Win32 locale ids.
38330         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38331         (LANG_SAMI): Renamed from LANG_SAAMI.
38332         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38333         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38334         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38335         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38336         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38337         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38338         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38339         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38340         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38341         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38342         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38343         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38344         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38345         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38346         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38347         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38348         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38349         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38350         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38351         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38352         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38353         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38354         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38355         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38356         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38357         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38358         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38359         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38360         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38361         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38362         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38363         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38364         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38365         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38366         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38367         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38368         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38369         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38370         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38371         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38372         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38373         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38374         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38375         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38376         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38377         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38378         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38379         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38380         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38381         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38382         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38383         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38384         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38385         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38386         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38387         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38388         Add more languages and countries for Sami, Sorbian. Add more countries
38389         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38390         for Pashto. Change country for Syriac, Tswana.
38391
38392 2009-12-21  Eric Blake  <ebb9@byu.net>
38393
38394         test-utimens: avoid spurious failure
38395         * tests/test-chown.h (nap): Factor...
38396         * tests/nap.h: ...into new file.
38397         * tests/test-lchown.h (nap): Avoid duplication.
38398         * tests/test-utimens-common.h (nap): Use shared implementation,
38399         necessary on file systems with 1-second resolution.
38400         * modules/chown-tests (Files): Include new file.
38401         * modules/fdutimensat-tests (Files): Likewise.
38402         * modules/futimens-tests (Files): Likewise.
38403         * modules/lchown-tests (Files): Likewise.
38404         * modules/openat-tests (Files): Likewise.
38405         * modules/utimens-tests (Files): Likewise.
38406         * modules/utimensat-tests (Files): Likewise.
38407
38408 2009-12-19  Eric Blake  <ebb9@byu.net>
38409
38410         futimens, utimensat: work around Linux bug
38411         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38412         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38413         * lib/utimensat.c (rpl_utimensat): Work around it.
38414         * lib/futimens.c (rpl_futimens): Adjust comment.
38415
38416         utimens: work around Linux ctime bug
38417         * lib/utimens.c (detect_ctime_bug): New helper function.
38418         (update_timespec): Differentiate between workaround needed for
38419         this bug vs. what is needed for systems that lack utimensat.
38420         (fdutimens, lutimens): Work around bug.
38421
38422         utimens: check for ctime update
38423         * tests/test-utimens-common.h (check_ctime): Define.
38424         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38425         * tests/test-futimens.h (test_futimens): Likewise.
38426         * tests/test-lutimens.h (test_lutimens): Likewise.
38427         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38428         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38429
38430 2009-12-19  Bruno Haible  <bruno@clisp.org>
38431
38432         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38433         * tests/test-dprintf-posix2.sh: New file.
38434         * tests/test-dprintf-posix2.c: New file.
38435         * modules/dprintf-posix-tests (Files): Add them.
38436         (configure.ac): Check for getrlimit and setrlimit.
38437         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38438
38439 2009-12-19  Bruno Haible  <bruno@clisp.org>
38440
38441         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38442         * tests/test-fprintf-posix3.sh: New file.
38443         * tests/test-fprintf-posix3.c: New file.
38444         * modules/fprintf-posix-tests (Files): Add them.
38445         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38446
38447 2009-12-19  Eric Blake  <ebb9@byu.net>
38448
38449         dirfd: fix prototype
38450         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38451         * lib/dirfd.c (dirfd): Likewise.
38452
38453         canonicalize: reduce memory usage
38454         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38455         allocation to size.
38456         Reported by Solar Designer <solar@openwall.com>.
38457
38458 2009-12-19  Bruno Haible  <bruno@clisp.org>
38459
38460         New module attribute 'Applicability'.
38461         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38462         * gnulib-tool: New option --extract-applicability.
38463         (func_usage): Document it.
38464         (sed_extract_prog): Recognize it.
38465         (func_get_applicability): New function.
38466         (func_import): Generalize handling of 'link-warning' module.
38467         * modules/link-warning (Applicability): New section.
38468         * modules/arg-nonnull (Applicability): New section.
38469         Repoted by Simon Josefsson <simon@josefsson.org>.
38470
38471 2009-12-19  Bruno Haible  <bruno@clisp.org>
38472
38473         fflush: tweak
38474         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38475         * lib/fseeko.c (rpl_fseeko): Likewise.
38476
38477 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38478
38479         * lib/gl_list.h: Fix typo in comment.
38480
38481 2009-12-16  Eric Blake  <ebb9@byu.net>
38482
38483         fcntl: use to simplify other modules
38484         * modules/cloexec (Depends-on): Add fcntl.
38485         * modules/fchdir (Depends-on): Likewise.
38486         * modules/fd-safer-flag (Depends-on): Likewise.
38487         * modules/unistd-safer (Depends-on): Likewise.
38488         * modules/dup3 (configure.ac): Set module indicator.
38489         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38490         missing.
38491         * lib/fchdir.c (_gl_register_dup): Fix comment.
38492         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38493         * lib/dup-safer.c (dup_safer): Likewise.
38494         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38495         * lib/dup3.c (dup3): Likewise.
38496         * tests/test-fchdir.c (main): Enhance test.
38497         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38498
38499         fcntl: port portions of fcntl to mingw
38500         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38501         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38502         replacement for mingw.
38503         * modules/fcntl (Description): Update.
38504         (Depends-on): Add dup2.
38505         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38506         * modules/fcntl-h (Makefile.am): Substitute it.
38507         * lib/fcntl.in.h (fcntl): Update declaration.
38508         (F_DUPFD, F_GETFD): New macros, when needed.
38509         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38510         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38511         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38512         we now guarantee.
38513
38514         fcntl: work around cygwin bug in F_DUPFD
38515         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38516         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38517         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38518         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38519         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38520
38521         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38522         * modules/fcntl (Files): List new files.
38523         (configure.ac): Run a test.
38524         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38525         * lib/fcntl.c (rpl_fcntl): Likewise.
38526         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38527         (gl_FCNTL_H): Always replace fcntl.h.
38528         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38529         * lib/fcntl.in.h (fcntl): Declare replacement.
38530         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38531         needed, plus a witness.
38532         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38533         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38534         * tests/test-fcntl.c: New file.
38535         * modules/fcntl-tests: Likewise.
38536
38537         binary-io: avoid potential compilation warning
38538         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38539         directives.
38540
38541         fflush: avoid compilation error on NetBSD
38542         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38543         between off_t and fpos_t, since the latter is sometimes a struct.
38544         * lib/fseeko.c (rpl_fseeko): Likewise.
38545         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38546
38547 2009-12-15  Eric Blake  <ebb9@byu.net>
38548
38549         fcntl-h, stdio, sys_ioctl: fix declarations
38550         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38551         function must not take arguments.
38552         * lib/sys_ioctl.in.h (ioctl): Likewise.
38553         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38554         (open): Add a link warning.
38555
38556 2009-12-15  Jim Meyering  <meyering@redhat.com>
38557
38558         areadlink, areadlink-with-size: relax license to LGPLv2+
38559         * modules/areadlink (License): Relax to LGPLv2+.
38560         * modules/areadlink-with-size (License): Likewise.
38561
38562 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38563             Bruno Haible  <bruno@clisp.org>
38564
38565         *printf: Fix memory leak.
38566         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38567         * lib/vfprintf.c (vfprintf): Likewise.
38568         * lib/dprintf.c (dprintf): Likewise.
38569         * lib/vdprintf.c (vdprintf): Likewise.
38570
38571 2009-12-14  Eric Blake  <ebb9@byu.net>
38572
38573         accept4: adjust module dependencies
38574         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38575
38576         utimens: one more try at avoiding compiler warning
38577         * lib/utimens.c (lutimens): Lower scope of result.
38578
38579 2009-12-13  Bruno Haible  <bruno@clisp.org>
38580
38581         Move the malloc checking from module 'list' to new module 'xlist'.
38582         * modules/xlist: New file.
38583         * lib/gl_xlist.h: New file.
38584         * lib/gl_xlist.c: New file.
38585         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38586         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38587         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38588         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38589         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38590         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38591         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38592         gl_sortedlist_nx_add): New declarations.
38593         (struct gl_list_implementation): Rename and change methods accordingly.
38594         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38595         (gl_list_nx_create): Renamed from gl_list_create.
38596         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38597         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38598         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38599         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38600         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38601         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38602         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38603         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38604         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38605         gl_list_create_empty.
38606         (gl_list_nx_create): Renamed from gl_list_create.
38607         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38608         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38609         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38610         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38611         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38612         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38613         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38614         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38615         * lib/gl_array_list.c: Don't include xalloc.h.
38616         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38617         NULL upon out-of-memory.
38618         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38619         out-of-memory.
38620         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38621         Change return type to 'int'.
38622         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38623         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38624         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38625         upon out-of-memory.
38626         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38627         upon out-of-memory.
38628         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38629         upon out-of-memory.
38630         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38631         upon out-of-memory.
38632         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38633         out-of-memory.
38634         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38635         Update.
38636         (gl_array_list_implementation): Update.
38637         * lib/gl_carray_list.c: Don't include xalloc.h.
38638         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38639         Return NULL upon out-of-memory.
38640         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38641         out-of-memory.
38642         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38643         Change return type to 'int'.
38644         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38645         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38646         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38647         upon out-of-memory.
38648         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38649         upon out-of-memory.
38650         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38651         out-of-memory.
38652         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38653         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38654         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38655         Update.
38656         (gl_carray_list_implementation): Update.
38657         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38658         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38659         gl_linked_create_empty. Return NULL upon out-of-memory.
38660         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38661         out-of-memory.
38662         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
38663         Change return type to 'int'. Return -1 upon out-of-memory.
38664         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
38665         out-of-memory.
38666         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
38667         upon out-of-memory.
38668         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
38669         upon out-of-memory.
38670         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
38671         NULL upon out-of-memory.
38672         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
38673         upon out-of-memory.
38674         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
38675         out-of-memory.
38676         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
38677         Update.
38678         * lib/gl_linked_list.c: Don't include xalloc.h.
38679         (gl_linked_list_implementation): Update.
38680         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
38681         (add_to_bucket): Change return type to 'int'.
38682         (gl_linkedhash_list_implementation): Update.
38683         * lib/gl_anytree_list1.h (free_subtree): New function.
38684         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38685         gl_tree_create_empty. Return NULL upon out-of-memory.
38686         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38687         Change return type to 'int'. Return -1 upon out-of-memory.
38688         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38689         out-of-memory.
38690         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38691         (gl_tree_remove_node): New function, moved here from
38692         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38693         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38694         Update.
38695         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38696         malloc, not xmalloc. Return NULL upon out-of-memory.
38697         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38698         out-of-memory.
38699         (gl_tree_remove_node_from_tree): New function, extracted from
38700         gl_tree_remove_node.
38701         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38702         upon out-of-memory.
38703         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38704         out-of-memory.
38705         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38706         upon out-of-memory.
38707         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38708         upon out-of-memory.
38709         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38710         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38711         not xmalloc. Return NULL upon out-of-memory.
38712         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38713         out-of-memory.
38714         (gl_tree_remove_node_from_tree): New function, extracted from
38715         gl_tree_remove_node.
38716         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38717         upon out-of-memory.
38718         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38719         out-of-memory.
38720         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38721         upon out-of-memory.
38722         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38723         upon out-of-memory.
38724         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38725         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38726         gl_anytree_list1.h before gl_anyavltree_list2.h.
38727         (gl_avltree_list_implementation): Update.
38728         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38729         gl_anytree_list1.h before gl_anyavltree_list2.h.
38730         (gl_rbtree_list_implementation): Update.
38731         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38732         Change return type to 'int'. Return -1 upon out-of-memory. Use
38733         __builtin_expect.
38734         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38735         (gl_avltreehash_list_implementation): Update.
38736         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38737         (gl_rbtreehash_list_implementation): Update.
38738         * modules/array-list (Depends-on): Remove xalloc.
38739         * modules/carray-list (Depends-on): Likewise.
38740         * modules/linked-list (Depends-on): Likewise.
38741         * modules/linkedhash-list (Depends-on): Likewise.
38742         * modules/avltree-list (Depends-on): Likewise.
38743         * modules/rbtree-list (Depends-on): Likewise.
38744         * modules/avltreehash-list (Depends-on): Likewise.
38745         * modules/rbtreehash-list (Depends-on): Likewise.
38746
38747         * modules/xsublist: New file.
38748         * lib/gl_xsublist.h: New file.
38749         * lib/gl_xsublist.c: New file.
38750         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38751         (gl_sublist_nx_create): New declaration.
38752         * lib/gl_sublist.c: Don't include xalloc.h.
38753         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38754         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38755         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38756         Change return type to 'int'. Return -1 upon out-of-memory.
38757         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38758         upon out-of-memory.
38759         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38760         NULL upon out-of-memory.
38761         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38762         upon out-of-memory.
38763         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38764         NULL upon out-of-memory.
38765         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38766         NULL upon out-of-memory.
38767         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38768         upon out-of-memory.
38769         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38770         (gl_sublist_list_implementation): Update.
38771         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38772         upon out-of-memory.
38773         * modules/sublist (Depends-on): Remove xalloc.
38774
38775         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38776         * tests/test-carray_list.c: Likewise.
38777         * tests/test-linked_list.c: Likewise.
38778         * tests/test-linkedhash_list.c: Likewise.
38779         * tests/test-avltree_list.c: Likewise.
38780         * tests/test-rbtree_list.c: Likewise.
38781         * tests/test-avltreehash_list.c: Likewise.
38782         * tests/test-rbtreehash_list.c: Likewise.
38783         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38784         * modules/carray-list-tests (Makefile.am): Likewise.
38785         * modules/linked-list-tests (Makefile.am): Likewise.
38786         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38787         * modules/avltree-list-tests (Makefile.am): Likewise.
38788         * modules/rbtree-list-tests (Makefile.am): Likewise.
38789         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38790         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38791
38792         * NEWS: Mention the changes.
38793
38794         * lib/clean-temp.c: Include gl_xlist.h.
38795         * modules/clean-temp (Depends-on): Add xlist.
38796
38797         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38798         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38799
38800         * tests/test-array_oset.c: Include gl_xlist.h.
38801         * modules/array-oset-tests (Depends-on): Add xlist.
38802
38803         Reported by José E. Marchesi <jemarch@gnu.org>.
38804
38805 2009-12-13  Bruno Haible  <bruno@clisp.org>
38806
38807         Move the malloc checking from module 'oset' to new module 'xoset'.
38808         * modules/xoset: New file.
38809         * lib/gl_xoset.h: New file.
38810         * lib/gl_xoset.c: New file.
38811         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38812         declarations.
38813         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38814         (struct gl_oset_implementation): Rename and change methods accordingly.
38815         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38816         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38817         'int'. Mark as __warn_unused_result__.
38818         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38819         gl_oset_create_empty.
38820         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38821         'int'.
38822         * lib/gl_array_oset.c: Don't include xalloc.h.
38823         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38824         malloc, not xmalloc.
38825         (grow): Change return type to 'int'. Don't call xalloc_die.
38826         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38827         to 'int'.
38828         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38829         'int'.
38830         (gl_array_oset_implementation): Update.
38831         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38832         gl_tree_create_empty.
38833         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38834         'int'.
38835         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38836         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38837         xmalloc.
38838         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38839         not xmalloc.
38840         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38841         xmalloc.
38842         (gl_avltree_oset_implementation): Update.
38843         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38844         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38845         xmalloc.
38846         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38847         not xmalloc.
38848         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38849         xmalloc.
38850         (gl_rbtree_oset_implementation): Update.
38851         * modules/array-oset (Depends-on): Remove xalloc.
38852         * modules/avltree-oset (Depends-on): Likewise.
38853         * modules/rbtree-oset (Depends-on): Likewise.
38854         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38855         * tests/test-avltree_oset.c: Likewise.
38856         * tests/test-rbtree_oset.c: Likewise.
38857         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38858         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38859         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38860         * NEWS: Mention the change.
38861
38862 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38863
38864         maint.mk: allow a project to override release-prep commands
38865         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38866         commands into a new rule.
38867         (release-prep): New rule.
38868         (release-prep-hook): New overridable variable.
38869
38870 2009-12-13  Bruno Haible  <bruno@clisp.org>
38871
38872         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38873
38874 2009-12-13  Jim Meyering  <meyering@redhat.com>
38875
38876         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38877         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38878
38879 2009-12-12  Bruno Haible  <bruno@clisp.org>
38880
38881         duplocale: Tweak.
38882         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38883
38884 2009-12-12  Karl Berry  <karl@gnu.org>
38885
38886         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38887
38888 2009-12-12  Bruno Haible  <bruno@clisp.org>
38889
38890         * m4/po.m4: Undo incorrect untabification.
38891
38892 2009-12-12  Bruno Haible  <bruno@clisp.org>
38893
38894         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38895         * modules/c-strtod (Depends-on): Add locale.
38896         * modules/c-strtold (Depends-on): Likewise.
38897
38898 2009-12-12  Bruno Haible  <bruno@clisp.org>
38899
38900         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38901
38902 2009-12-11  Eric Blake  <ebb9@byu.net>
38903
38904         setenv: relax requirement in light of POSIX ruling
38905         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38906         not NULL.
38907         * tests/test-setenv.c (main): Relax test.
38908         * tests/test-unsetenv.c (main): Likewise.
38909         * doc/posix-functions/setenv.texi (setenv): Document this.
38910         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38911
38912 2009-12-11  Bruno Haible  <bruno@clisp.org>
38913
38914         New module 'fd-safer-flag'.
38915         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38916         * lib/dup-safer.c (dup_safer_flag): Remove function.
38917         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38918         * lib/fd-safer.c (fd_safer_flag): Remove function.
38919         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38920         * modules/cloexec (configure.ac): Drop indicator macro.
38921         * modules/fd-safer-flag: New file.
38922         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38923         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38924         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38925
38926 2009-12-11  Bruno Haible  <bruno@clisp.org>
38927
38928         Tests for module 'nl_langinfo'.
38929         * modules/nl_langinfo-tests: New file.
38930         * tests/test-nl_langinfo.sh: New file.
38931         * tests/test-nl_langinfo.c: New file.
38932
38933         New module 'nl_langinfo'.
38934         * lib/nl_langinfo.c: New file.
38935         * m4/nl_langinfo.m4: New file.
38936         * modules/nl_langinfo: New file.
38937         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38938
38939 2009-12-11  Bruno Haible  <bruno@clisp.org>
38940
38941         Tests for module 'langinfo'.
38942         * modules/langinfo-tests: New file.
38943         * tests/test-langinfo.c: New file.
38944
38945         New module 'langinfo'.
38946         * lib/langinfo.in.h: New file.
38947         * m4/langinfo_h.m4: New file.
38948         * modules/langinfo: New file.
38949         * doc/posix-headers/langinfo.texi: Mention the new module.
38950
38951 2009-12-11  Bruno Haible  <bruno@clisp.org>
38952
38953         * lib/config.charset: Untabify.
38954
38955 2009-12-11  Bruno Haible  <bruno@clisp.org>
38956
38957         * modules/unistd-safer (configure.ac): Drop indicator macro.
38958
38959 2009-12-11  Bruno Haible  <bruno@clisp.org>
38960
38961         Move pipe2-safer code to its own file.
38962         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38963         * lib/pipe-safer.c (pipe2_safer): Remove function.
38964         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38965         (Makefile.am): Add it to lib_SOURCES.
38966
38967 2009-12-10  Bruno Haible  <bruno@clisp.org>
38968
38969         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38970
38971 2009-12-10  Bruno Haible  <bruno@clisp.org>
38972
38973         Declare which arguments expect non-NULL values, for GCC and clang.
38974         * build-aux/arg-nonnull.h: New file.
38975         * modules/arg-nonnull: New file.
38976         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38977         (inet_ntop, inet_pton): Use it.
38978         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38979         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38980         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38981         (open, openat): Use it.
38982         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38983         (fnmatch): Use it.
38984         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38985         (getopt, getopt_long, getopt_long_only): Use it.
38986         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38987         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38988         Use it.
38989         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38990         (iconv_open): Use it.
38991         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38992         (strtoimax, strtoumax): Use it.
38993         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
38994         (duplocale): Use it.
38995         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
38996         (frexp, frexpl): Use it.
38997         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
38998         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
38999         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39000         (tsearch, tfind, tdelete, twalk): Use it.
39001         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39002         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39003         sigpending): Use it.
39004         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39005         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39006         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39007         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39008         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39009         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39010         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39011         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39012         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39013         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39014         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39015         Use it.
39016         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39017         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39018         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39019         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39020         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39021         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39022         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39023         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39024         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39025         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39026         strtoull, unsetenv): Use it.
39027         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39028         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39029         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39030         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39031         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39032         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39033         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39034         (strcasecmp, strncasecmp): Use it.
39035         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39036         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39037         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39038         rpl_setsockopt): Use it.
39039         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39040         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39041         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39042         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39043         (gettimeofday): Use it.
39044         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39045         (times): Use it.
39046         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39047         (uname): Use it.
39048         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39049         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39050         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39051         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39052         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39053         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39054         unlinkat, write): Use it.
39055         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39056         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39057         * lib/argv-iter.h: Include arg-nonnull.h.
39058         (_ATTRIBUTE_NONNULL_): Remove macro.
39059         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39060         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39061         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39062         optimization.
39063         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39064         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39065         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39066         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39067         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39068         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39069         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39070         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39071         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39072         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39073         * modules/dirent (Depends-on): Add arg-nonnull.
39074         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39075         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39076         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39077         * modules/fnmatch (Depends-on): Add arg-nonnull.
39078         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39079         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39080         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39081         * modules/glob (Depends-on): Add arg-nonnull.
39082         (Makefile.am): Insert arg-nonnull.h into glob.h.
39083         * modules/iconv_open (Depends-on): Add arg-nonnull.
39084         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39085         * modules/inttypes (Depends-on): Add arg-nonnull.
39086         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39087         * modules/locale (Depends-on): Add arg-nonnull.
39088         (Makefile.am): Insert arg-nonnull.h into locale.h.
39089         * modules/math (Depends-on): Add arg-nonnull.
39090         (Makefile.am): Insert arg-nonnull.h into math.h.
39091         * modules/netdb (Depends-on): Add arg-nonnull.
39092         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39093         * modules/search (Depends-on): Add arg-nonnull.
39094         (Makefile.am): Insert arg-nonnull.h into search.h.
39095         * modules/signal (Depends-on): Add arg-nonnull.
39096         (Makefile.am): Insert arg-nonnull.h into signal.h.
39097         * modules/spawn (Depends-on): Add arg-nonnull.
39098         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39099         * modules/stdio (Depends-on): Add arg-nonnull.
39100         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39101         * modules/stdlib (Depends-on): Add arg-nonnull.
39102         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39103         * modules/string (Depends-on): Add arg-nonnull.
39104         (Makefile.am): Insert arg-nonnull.h into string.h.
39105         * modules/strings (Depends-on): Add arg-nonnull.
39106         (Makefile.am): Insert arg-nonnull.h into strings.h.
39107         * modules/sys_socket (Depends-on): Add arg-nonnull.
39108         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39109         * modules/sys_stat (Depends-on): Add arg-nonnull.
39110         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39111         * modules/sys_time (Depends-on): Add arg-nonnull.
39112         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39113         * modules/sys_times (Depends-on): Add arg-nonnull.
39114         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39115         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39116         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39117         * modules/time (Depends-on): Add arg-nonnull.
39118         (Makefile.am): Insert arg-nonnull.h into time.h.
39119         * modules/unistd (Depends-on): Add arg-nonnull.
39120         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39121         * modules/wchar (Depends-on): Add arg-nonnull.
39122         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39123         * modules/argv-iter (Depends-on): Add arg-nonnull.
39124         * tests/test-canonicalize.c (null_ptr): New function.
39125         (main): Use it.
39126         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39127         (main): Use it.
39128         * tests/test-memmem.c (null_ptr): New function.
39129         (main): Use it.
39130         Reported by Jim Meyering.
39131
39132 2009-12-10  Bruno Haible  <bruno@clisp.org>
39133
39134         Use spaces for indentation, not tabs.
39135         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39136         * m4/*.m4: Untabify.
39137         * build-aux/*.h: Untabify.
39138         * tests/**/*.[hc]: Untabify.
39139         * README: New section "Indent with spaces, not TABs", based on
39140         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39141         * NEWS: Mention the change.
39142
39143 2009-12-10  Bruno Haible  <bruno@clisp.org>
39144
39145         pty test: Fix link error.
39146         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39147         test_pty_LDADD.
39148
39149 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39150
39151         * modules/pty: New file.
39152         * modules/pty-tests: New file.
39153         * m4/pty.m4: New file.
39154         * tests/test-pty.c: New file.
39155         * doc/glibc-headers/pty.texi: Modified.
39156         * doc/glibc-functions/forkpty.texi: Modified.
39157         * doc/glibc-functions/openpty.texi: Modified.
39158
39159 2009-12-10  Bruno Haible  <bruno@clisp.org>
39160
39161         Avoid syntax error in C++ mode.
39162         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39163
39164 2009-12-10  Bruno Haible  <bruno@clisp.org>
39165
39166         Use sed with option -e.
39167         * gnulib-tool (func_version, func_emit_copyright_notice,
39168         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39169         option -e to sed.
39170         * modules/link-warning (Makefile.am): Likewise.
39171
39172 2009-12-10  Jim Meyering  <meyering@redhat.com>
39173
39174         mgetgroups: do not write bytes beyond end of malloc'd buffer
39175         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39176         username, we call getgroups with a one-element-shorter buffer,
39177         but still told it the length was original, max_n_groups.
39178
39179 2009-12-09  Eric Blake  <ebb9@byu.net>
39180
39181         cloexec: relax license
39182         * modules/cloexec (Maintainer): Add myself.
39183         (License): Use LGPL, not GPL.
39184
39185         link-warning: optimize generation
39186         * modules/link-warning (Makefile.am): Reduce process usage.
39187
39188 2009-12-09  Bruno Haible  <bruno@clisp.org>
39189
39190         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39191         workaround was added on 2009-11-17.
39192
39193 2009-12-09  Jim Meyering  <meyering@redhat.com>
39194             Bruno Haible  <bruno@clisp.org>
39195
39196         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39197         * modules/link-warning (Makefile.am): Make the comment-removing sed
39198         command more robust in the face of bootstrap-prepended comment lines.
39199
39200 2009-12-09  Bruno Haible  <bruno@clisp.org>
39201
39202         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39203         most one group.
39204
39205 2009-12-09  Simon Josefsson <simon@josefsson.org>
39206             Bruno Haible  <bruno@clisp.org>
39207
39208         * build-aux/link-warning.h: Add copyright notice.
39209         * modules/link-warning (Makefile.am): Generate link-warning.h from
39210         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39211         * NEWS: Mention change in link-warning module.
39212         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39213         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39214         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39215         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39216         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39217         * modules/math (Makefile.am): Add dependency to math.h.
39218         * modules/search (Makefile.am): Add dependency to search.h.
39219         * modules/signal (Makefile.am): Add dependency to signal.h.
39220         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39221         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39222         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39223         * modules/string (Makefile.am): Add dependency to string.h.
39224         * modules/strings (Makefile.am): Add dependency to strings.h.
39225         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39226         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39227         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39228         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39229         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39230         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39231         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39232         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39233         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39234
39235 2009-12-09  Bruno Haible  <bruno@clisp.org>
39236
39237         fchdir: Optimize away rpl_fstat when possible.
39238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39239         REPLACE_OPEN_DIRECTORY.
39240         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39241
39242 2009-12-09  Bruno Haible  <bruno@clisp.org>
39243
39244         * lib/fchdir.c: Update comment.
39245
39246 2009-12-09  Bruno Haible  <bruno@clisp.org>
39247
39248         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39249
39250 2009-12-08  Eric Blake  <ebb9@byu.net>
39251
39252         fchdir: avoid memory leak on re-registration.
39253         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39254
39255 2009-12-08  Jim Meyering  <meyering@redhat.com>
39256
39257         init.sh: avoid Solaris 10 /bin/sh portability problem
39258         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39259         sourced script:
39260           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39261           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39262           bar
39263         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39264         and two tests used that idiom.
39265         * tests/init.sh: Update suggested usage comments.
39266         (path_prepend_): New function, to be used in place
39267         of the --src-path=DIR option.
39268         (setup_): Move PATH-prepending code into path_prepend_.
39269         * tests/test-pread.sh: Adapt to new usage.
39270         * tests/test-xalloc-die.sh: Likewise.
39271
39272 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39273
39274         * doc/gnulib.texi (Glibc pty.h): Add.
39275         * doc/glibc-functions/forkpty.texi: Add.
39276         * doc/glibc-functions/openpty.texi: Add.
39277         Suggested by Bruno Haible.
39278
39279 2009-12-08  Eric Blake  <ebb9@byu.net>
39280
39281         fchdir: fix logic bugs
39282         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39283         * tests/test-fchdir.c (main): Enhance test.
39284         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39285         is in use.
39286
39287         dup2: fix logic bugs
39288         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39289         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39290         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39291         exists.
39292         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39293
39294 2009-12-07  Eric Blake  <ebb9@byu.net>
39295
39296         unlink: fix m4 detection
39297         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39298
39299         unistd-safer: add unit test
39300         * modules/unistd-safer-tests: New file.
39301         * tests/test-dup-safer.c: Likewise.
39302         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39303         * tests/test-dup2.c (setmode): Likewise.
39304         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39305
39306         cloexec: preserve text vs. binary across dup_cloexec
39307         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39308         mode.
39309         * modules/dup2-tests (Depends-on): Add binary-io.
39310         * modules/cloexec-tests (Depends-on): Likewise.
39311         * tests/test-dup2.c (setmode, is_mode): New helpers.
39312         (main): Add tests that translation mode is preserved.
39313         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39314         Reported by Bruno Haible.
39315
39316         mgetgroups: reduce duplicate listings
39317         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39318         resulting array.
39319         * tests/test-chown.h (test_chown): Simplify client.
39320         * tests/test-lchown.h (test_lchown): Likewise.
39321
39322 2009-12-06  Bruno Haible  <bruno@clisp.org>
39323
39324         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39325         value.
39326
39327 2009-12-06  Bruno Haible  <bruno@clisp.org>
39328
39329         * lib/progname.c: Include stdio.h, stdlib.h.
39330         (set_program_name): Reject a NULL argument.
39331
39332 2009-12-05  Eric Blake  <ebb9@byu.net>
39333
39334         pipe2-safer: new module
39335         * modules/pipe2-safer: New file.
39336         * lib/unistd-safer.h (pipe2_safer): New prototype.
39337         * lib/unistd--.h (pipe2): New wrapper.
39338         * lib/pipe-safer.c (pipe2_safer): New function.
39339         * modules/pipe (Depends-on): Add pipe2-safer.
39340         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39341
39342         stdlib-safer: preserve cloexec flag for mkostemp[s]
39343         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39344         fd_safer_flag.
39345
39346         unistd-safer: allow preservation of cloexec status via flag
39347         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39348         prototypes.
39349         * lib/dup-safer.c (dup_safer_flag): New function.
39350         * lib/fd-safer.c (fd_safer_flag): Likewise.
39351         * modules/cloexec (configure.ac): Set witness.
39352
39353         test-dup2: enhance test
39354         * modules/dup2-tests (Depends-on): Add cloexec.
39355         * tests/test-dup2.c (main): Enhance test.
39356
39357         cloexec: add dup_cloexec
39358         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39359         header and comments.
39360         * lib/cloexec.c (set_cloexec_flag): Add comments.
39361         (dup_cloexec): New function, with mingw implementation borrowed
39362         from...
39363         * lib/w32spawn.h (dup_noinherit): ...here.
39364         * modules/execute (Depends-on): Add cloexec.
39365         * modules/pipe (Depends-on): Likewise.
39366         * modules/cloexec (Depends-on): Add dup2.
39367         * modules/cloexec-tests (Files): New file.
39368         * tests/test-cloexec.c: Likewise.
39369
39370         test-xalloc-die: fix test for mingw
39371         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39372         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39373         directory and .exe suffix off argv[0] output.
39374
39375         test-fseeko: fix test for mingw
39376         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39377         than undefining fseek, so test will pass on mingw.
39378
39379 2009-12-05  Bruno Haible  <bruno@clisp.org>
39380
39381         * lib/progname.h (set_program_name): Clarify specification.
39382         * lib/progname.c (set_program_name): Likewise.
39383         Reported by Jim Meyering.
39384
39385 2009-12-05  Jim Meyering  <meyering@redhat.com>
39386
39387         maint.mk: backslash-escape parens in default regexp
39388         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39389         backslash-escape the literal parentheses.
39390
39391         maint.mk: news-date-check: use grep -E
39392         * top/maint.mk (today): Define a Make variable, not a...
39393         (news-date-check): ...shell variable.
39394         (news-date-regexp): Use the Make variable.
39395         Use grep's -E option.  Change the failing diagnostic to mention
39396         the variable, $(news-date-regexp).
39397
39398 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39399
39400         maintainer-makefile: allow customization of NEWS entry format
39401         * top/maint.mk (news-date-regexp): New overridable variable.
39402         (news-date-check): Use it.
39403
39404 2009-12-04  Eric Blake  <ebb9@byu.net>
39405
39406         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39407         * lib/mgetgroups.h (xgetgroups): New prototype.
39408         * lib/mgetgroups.c (xgetgroups): New wrapper.
39409         (mgetgroups): Handle ENOSYS.
39410         * modules/mgetgroups (Depends-on): Add realloc.
39411         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39412
39413         mgetgroups: avoid argument promotion issues with -1
39414         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39415         for invalid gid_t.
39416         * tests/test-chown.h (getegid, test_chown): Likewise.
39417         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39418
39419 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39420
39421         exclude: Fix header file problems.
39422         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39423
39424 2009-12-01  Jim Meyering  <meyering@redhat.com>
39425
39426         fts: fts_open: do not let an empty string cause immediate failure
39427         This is required in support of GNU rm, for which the command
39428         "rm A '' B" must process and remove both A and B, in spite of
39429         the empty string argument.
39430         * lib/fts.c (fts_open): Do not let the presence of an empty string
39431         cause fts_open to fail immediately.  Most fts-using tools must be
39432         able to process all arguments, in order, and can be expected to
39433         diagnose such arguments themselves.
39434
39435 2009-11-30  Eric Blake  <ebb9@byu.net>
39436
39437         utimens: fix compilation error
39438         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39439         Declare variable at right scope.
39440
39441 2009-11-29  Jim Meyering  <meyering@redhat.com>
39442
39443         bootstrap: handle perl-5.11's changed --version output
39444         * build-aux/bootstrap (get_version): Handle perl separately,
39445         since perl-5.11's --version output is different.
39446
39447 2009-11-28  Jim Meyering  <meyering@redhat.com>
39448
39449         userspec: depend on the inttostr module, too
39450         * modules/userspec (Depends-on): Add inttostr.
39451
39452         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39453         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39454         number of MAXUID when it evaluates to (uid_t) -1.
39455         Likewise for group ID.  Reported by Matt McCutchen in
39456         <http://savannah.gnu.org/bugs/?28113>
39457
39458         userspec: reformat to use spaces, not TABs
39459         * lib/userspec.c: Expand TABs to spaces.
39460         Add Emacs' "indent-tabs-mode: nil" hint.
39461
39462 2009-11-27  Eric Blake  <ebb9@byu.net>
39463
39464         getopt-gnu: flush out another BSD bug
39465         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39466         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39467         flush out BSD bug.
39468         * tests/test-getopt.h (test_getopt): End lists with NULL.
39469         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39470         (test_getopt_long_posix): Enhance test.
39471         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39472         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39473         getopt-gnu.
39474         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39475         Likewise.
39476
39477 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39478
39479         * modules/idpriv-droptemp-tests (Notice): Fix text.
39480
39481 2009-11-27  Jim Meyering  <meyering@redhat.com>
39482
39483         test-xalloc-die: avoid spurious failure due to libtool argv difference
39484         In a libtool-enabled project, this test would fail due to a difference
39485         in the emitted program name, e.g.,
39486         -test-xalloc-die: memory exhausted
39487         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39488         Use program to avoid that.
39489         * modules/xalloc-die-tests (Depends-on): Add progname.
39490         * tests/test-xalloc-die.c: Include progname.h".
39491         (program_name): Remove decl.
39492         (main): Call set_program_name.
39493         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39494
39495 2009-11-26  Richard Jones  <rjones@redhat.com>
39496
39497         w32sock: leave win32 error in place.
39498         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39499
39500 2009-11-26  Eric Blake  <ebb9@byu.net>
39501
39502         init.sh: suggest to use skip_ and fail_ functions in comments
39503         * tests/init.sh: Add a sentence.
39504
39505 2009-11-25  Bruno Haible  <bruno@clisp.org>
39506
39507         init.sh: add documentation in comments
39508         * tests/init.sh: Add some developer and user documentation.
39509
39510 2009-11-26  Jim Meyering  <meyering@redhat.com>
39511
39512         init.sh: accommodate even those who specify bogus srcdir manually
39513         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39514         configure-time tests to be sanitized, so that there is no need to
39515         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39516         (with no double quotes) suffices.  However, since tests may be
39517         invoked manually, and since you may explicitly set srcdir to the
39518         name of a directory containing spaces, do quote its uses here.
39519         * tests/test-pread.sh: Likewise.
39520         Suggested by Bruno Haible.
39521
39522         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39523         * tests/test-pread.sh: Write no data into the pipe, because
39524         test-pread actually reads none.  This avoids a diagnostic,
39525         "bash: echo: write error: Broken pipe", that arises in the unusual
39526         event something is ignoring SIGPIPE, and might be interpreted
39527         as some sort of failure.  Reported by Bruno Haible.
39528
39529 2009-11-25  Jim Meyering  <meyering@redhat.com>
39530
39531         test-pread: cover failure with ESPIPE and EINVAL
39532         * tests/test-pread.c (main): Test for failure, too.
39533         * tests/test-pread.sh: Invoke with stdin on a pipe.
39534         Suggested by Eric Blake.
39535
39536         pread: improvement and fix
39537         * modules/pread (Depends-on): Depend on lseek, for portability to
39538         e.g., mingw.  Suggested by Eric Blake.
39539         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39540
39541         unistd.in.h: correct declaration of pread
39542         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39543         Reported by Richard W.M. Jones.
39544
39545         test-pread.sh: distribute the test script
39546         * modules/pread-tests (Files): Include test-pread.sh.
39547
39548         test-pread.sh: clean up
39549         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39550         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39551         That is unnecessary, since it's always ".".
39552         Suggestion from Eric Blake.
39553
39554         test-pread.sh: make executable
39555         * tests/test-pread.sh: Set executable bit.
39556         Reported by Eric Blake.
39557
39558         correct typo in test-pread.sh
39559         * tests/test-pread.sh: Add #! line.
39560
39561         test pread
39562         * tests/test-pread.c: New file.
39563         * tests/test-pread.sh: Likewise.
39564         * modules/pread-tests: Likewise.
39565
39566         pread: new module
39567         * modules/pread: New file.
39568         * lib/unistd.in.h (pread): Define/declare.
39569         * lib/pread.c (pread): New file.
39570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39571         * modules/unistd (Makefile.am): Substitute witnesses.
39572         * doc/posix-functions/pread.texi (pread): Update.
39573         * MODULES.html.sh: Add pread.
39574
39575 2009-11-25  Jim Meyering  <meyering@redhat.com>
39576
39577         tests/init.sh: new file to be used via most *.sh tests
39578         * tests/init.sh: New file.
39579
39580 2009-11-25  Eric Blake  <ebb9@byu.net>
39581
39582         utimens: work around older Linux failure with symlinks
39583         * lib/utimens.c (lutimensat_works_really): New variable.
39584         (fdutimens, lutimens): Use it to manage kernels that support
39585         nanosecond times on files, but not on symlinks.
39586         Reported by Ondřej Vašík.
39587
39588         utimes: fix configure grammar
39589         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39590
39591 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39592
39593         regex: Fix fastmap for multibyte character ranges.
39594         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39595         characters when a multibyte character range is included.
39596
39597 2009-11-22  Andy Wingo  <wingo@pobox.com>
39598
39599         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39600         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39601
39602 2009-11-24  Bruno Haible  <bruno@clisp.org>
39603
39604         doc: Most *_l functions exist in MacOS X 10.5.
39605         * doc/posix-functions/duplocale.texi: Update platforms list.
39606         * doc/posix-functions/freelocale.texi: Likewise.
39607         * doc/posix-functions/newlocale.texi: Likewise.
39608         * doc/posix-functions/uselocale.texi: Likewise.
39609         * doc/posix-functions/isalnum_l.texi: Likewise.
39610         * doc/posix-functions/isalpha_l.texi: Likewise.
39611         * doc/posix-functions/isblank_l.texi: Likewise.
39612         * doc/posix-functions/iscntrl_l.texi: Likewise.
39613         * doc/posix-functions/isdigit_l.texi: Likewise.
39614         * doc/posix-functions/isgraph_l.texi: Likewise.
39615         * doc/posix-functions/islower_l.texi: Likewise.
39616         * doc/posix-functions/isprint_l.texi: Likewise.
39617         * doc/posix-functions/ispunct_l.texi: Likewise.
39618         * doc/posix-functions/isspace_l.texi: Likewise.
39619         * doc/posix-functions/isupper_l.texi: Likewise.
39620         * doc/posix-functions/iswalnum_l.texi: Likewise.
39621         * doc/posix-functions/iswalpha_l.texi: Likewise.
39622         * doc/posix-functions/iswblank_l.texi: Likewise.
39623         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39624         * doc/posix-functions/iswctype_l.texi: Likewise.
39625         * doc/posix-functions/iswdigit_l.texi: Likewise.
39626         * doc/posix-functions/iswgraph_l.texi: Likewise.
39627         * doc/posix-functions/iswlower_l.texi: Likewise.
39628         * doc/posix-functions/iswprint_l.texi: Likewise.
39629         * doc/posix-functions/iswpunct_l.texi: Likewise.
39630         * doc/posix-functions/iswspace_l.texi: Likewise.
39631         * doc/posix-functions/iswupper_l.texi: Likewise.
39632         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39633         * doc/posix-functions/isxdigit_l.texi: Likewise.
39634         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39635         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39636         * doc/posix-functions/strcoll_l.texi: Likewise.
39637         * doc/posix-functions/strfmon_l.texi: Likewise.
39638         * doc/posix-functions/strftime_l.texi: Likewise.
39639         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39640         * doc/posix-functions/strxfrm_l.texi: Likewise.
39641         * doc/posix-functions/tolower_l.texi: Likewise.
39642         * doc/posix-functions/toupper_l.texi: Likewise.
39643         * doc/posix-functions/towctrans_l.texi: Likewise.
39644         * doc/posix-functions/towlower_l.texi: Likewise.
39645         * doc/posix-functions/towupper_l.texi: Likewise.
39646         * doc/posix-functions/wcscoll_l.texi: Likewise.
39647         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39648         * doc/posix-functions/wctrans_l.texi: Likewise.
39649         * doc/posix-functions/wctype_l.texi: Likewise.
39650         * doc/glibc-functions/strptime_l.texi: Likewise.
39651         * doc/glibc-functions/strtod_l.texi: Likewise.
39652         * doc/glibc-functions/strtof_l.texi: Likewise.
39653         * doc/glibc-functions/strtol_l.texi: Likewise.
39654         * doc/glibc-functions/strtold_l.texi: Likewise.
39655         * doc/glibc-functions/strtoll_l.texi: Likewise.
39656         * doc/glibc-functions/strtoul_l.texi: Likewise.
39657         * doc/glibc-functions/strtoull_l.texi: Likewise.
39658         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39659         * doc/glibc-functions/wcstod_l.texi: Likewise.
39660         * doc/glibc-functions/wcstof_l.texi: Likewise.
39661         * doc/glibc-functions/wcstol_l.texi: Likewise.
39662         * doc/glibc-functions/wcstold_l.texi: Likewise.
39663         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39664         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39665         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39666
39667 2009-11-24  Bruno Haible  <bruno@clisp.org>
39668
39669         duplocale: Fix logic bug.
39670         * lib/duplocale.c: Don't include <langinfo.h>.
39671         (_NL_LOCALE_NAME): Remove macro.
39672         (rpl_duplocale): Use setlocale instead of nl_langinfo.
39673         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
39674
39675 2009-11-23  Jim Meyering  <meyering@redhat.com>
39676
39677         test-update-copyright: don't hard-code /usr/bin/perl
39678         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
39679         perl to print the current year.  Gilles Espinasse reported that
39680         the replaced use of perl was hard-coded as /usr/bin/perl.
39681
39682 2009-11-23  Bruno Haible  <bruno@clisp.org>
39683
39684         duplocale: Add support for glibc 2.3.x.
39685         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39686
39687 2009-11-22  Bruno Haible  <bruno@clisp.org>
39688
39689         vasnprintf: Tiny optimization.
39690         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39691         MacOS X.
39692
39693 2009-11-22  Bruno Haible  <bruno@clisp.org>
39694
39695         Tests for module 'duplocale'.
39696         * modules/duplocale-tests: New file.
39697         * tests/test-duplocale.c: New file.
39698
39699         New module 'duplocale'.
39700         * m4/duplocale.m4: New file.
39701         * lib/locale.in.h (duplocale): New declaration.
39702         * lib/duplocale.c: New file.
39703         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39704         gl_LOCALE_H_DEFAULTS): New macros.
39705         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39706         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39707         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39708         REPLACE_DUPLOCALE.
39709         * modules/duplocale: New file.
39710         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39711
39712 2009-11-22  Bruno Haible  <bruno@clisp.org>
39713
39714         * modules/locale-tests (configure.ac): Test for newlocale function.
39715         * tests/test-locale.c: When the system has extended locale functions,
39716         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39717
39718         locale: Make locale_t available when possible.
39719         * lib/locale.in.h: Include <xlocale.h> when it exists.
39720         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39721         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39722         * modules/locale (Depends-on): Add extensions.
39723         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39724         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39725
39726 2009-11-22  Bruno Haible  <bruno@clisp.org>
39727
39728         Add comments.
39729         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39730         invocation.
39731         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39732         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39733         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39734
39735 2009-11-22  Bruno Haible  <bruno@clisp.org>
39736
39737         error: account for the possibility of freopen (stdout).
39738         * lib/error.c: Include <unistd.h>.
39739         (flush_stdout): New function, extracted from error and error_at_line.
39740         Determine stdout's fd dynamically.
39741         (error, error_at_line): Invoke flush_stdout.
39742         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39743         * modules/error (Depends-on): Add unistd.
39744
39745 2009-11-22  Bruno Haible  <bruno@clisp.org>
39746
39747         diffseq: Add comment.
39748         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39749
39750 2009-11-22  Jim Meyering  <meyering@redhat.com>
39751
39752         c-stack: avoid defining an unused static function
39753         * lib/c-stack.c (find_stack_direction): Do not define this function
39754         when it will not be used.
39755
39756         diffseq: avoid spurious gcc warnings
39757         * lib/diffseq.h (IF_LINT2): Define.
39758         (compareseq): Use it to initialize two members of "part".
39759         This avoids two used-uninitialized warnings.
39760
39761 2009-11-21  Jim Meyering  <meyering@redhat.com>
39762
39763         c-stack: avoid "ignoring return value of `write'" warning
39764         * lib/c-stack.c: Include "ignore-value.h".
39765         (die): Explicitly ignore each write return value.
39766         * modules/c-stack (Depends-on): Add ignore-value.
39767
39768 2009-11-21  Bruno Haible  <bruno@clisp.org>
39769
39770         diffseq: reduce scope of variable 'best'.
39771         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39772         variable, earlier used for two different purposes.
39773
39774 2009-11-21  Jim Meyering  <meyering@redhat.com>
39775
39776         diffseq: remove useless assignment to "best"
39777         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39778         assignment.  At that point "best" is already guaranteed to be zero.
39779
39780 2009-11-20  Eric Blake  <ebb9@byu.net>
39781
39782         build: mention ftp redirector in release announcements
39783         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39784         values that used to come from cfg.mk; mention FTP redirect URL.
39785         * build-aux/announce-gen: Mention the mirror list.
39786         Suggested by Karl Berry.
39787
39788         nanosleep: improve port to mingw
39789         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39790         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39791         LIB_NANOSLEEP, but only when needed.
39792         * modules/select (Link): Document LIBSOCKET.
39793         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39794         enough.
39795
39796         nanosleep: work around cygwin bug
39797         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39798         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39799         bug.
39800         (getnow): Delete, not needed.
39801         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39802         LIB_CLOCK_GETTIME.
39803         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39804         clock-time, gettime.
39805         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39806         bug.
39807         * modules/nanosleep-tests: New test.
39808         * tests/test-nanosleep.c: New file.
39809
39810         sleep: work around cygwin bug
39811         * lib/sleep.c (rpl_sleep): Work around the bug.
39812         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39813         (gl_PREREQ_SLEEP): Delete unused macro.
39814         * modules/sleep (Depends-on): Add verify.
39815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39816         * modules/unistd (Makefile.am): Substitute witness.
39817         * lib/unistd.in.h (sleep): Update prototype.
39818         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39819         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39820         * modules/sleep-tests (Depends-on): Check for alarm.
39821
39822 2009-11-20  Jim Meyering  <meyering@redhat.com>
39823
39824         maint.mk: improve sc_prohibit_magic_number_exit
39825         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39826         so it does not match uses like System.exit(1).
39827         Add comments showing how to correct all offenders.
39828
39829 2009-11-19  Eric Blake  <ebb9@byu.net>
39830
39831         xalloc-die-tests: add missing library
39832         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39833
39834         test-xvasprintf: silence compiler warnings
39835         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39836         empty string from gcc.
39837
39838 2009-11-19  Jim Meyering  <meyering@redhat.com>
39839
39840         xfreopen: new module, from coreutils
39841         * modules/xfreopen: New module.
39842         * lib/xfreopen.c: New file.
39843         * lib/xfreopen.h: New file.
39844         * MODULES.html.sh (File stream based Input/Output"): Add it.
39845
39846 2009-11-19  Eric Blake  <ebb9@byu.net>
39847
39848         manywarnings: depend on warnings
39849         * modules/manywarnings (Depends-on): Add warnings.
39850
39851         build: avoid compiler warnings
39852         * lib/select.c (rpl_select): Delete unused variable.
39853         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39854
39855 2009-11-18  Eric Blake  <ebb9@byu.net>
39856
39857         tests: avoid false negative with --with-packager
39858         * tests/test-version-etc.sh: Discard packager information.
39859         * tests/test-argp-version-etc-1.sh: Likewise.
39860         Reported by Mike Frysinger.
39861
39862         utimens: fix regression on Solaris
39863         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39864         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39865         can only change fd timestamps via futimesat.  Instead, use an
39866         additional witness macro to avoid BSD bug.
39867         Reported by Jim Meyering.
39868
39869 2009-11-17  Eric Blake  <ebb9@byu.net>
39870
39871         usleep: use it to simplify tests
39872         * modules/stat-time-tests (Depends-on): Add usleep.
39873         (configure.ac): Drop usleep check.
39874         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39875         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39876         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39877         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39878         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39879         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39880         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39881         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39882         Likewise.
39883         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39884         * tests/test-lchown.h (nap): Likewise.
39885         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39886         * tests/test-stat-time.c (nap): Likewise.
39887         * tests/test-utimens-common.h (nap): Update comments.
39888
39889         usleep: new module
39890         * modules/usleep: New file.
39891         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39892         * lib/usleep.c (usleep): Likewise.
39893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39894         * modules/unistd (Makefile.am): Substitute witnesses.
39895         * lib/unistd.in.h (usleep): Add declaration.
39896         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39897         * MODULES.html.sh (Date and time): Likewise.
39898         * modules/usleep-tests (Depends-on): New test.
39899         * tests/test-usleep.c: New file.
39900
39901         chown: work around OpenBSD bug
39902         * lib/chown.c (rpl_chown): Work around the bug.
39903         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39904         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39905         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39906         * modules/chown (Depends-on): Add stdbool.
39907         * modules/lchown (Depends-on): Likewise.
39908         * doc/posix-functions/chown.texi (chown): Document the bug.
39909         * doc/posix-functions/lchown.texi (lchown): Likewise.
39910         * tests/test-lchown.h (test_chown): Relax test.
39911
39912         mkstemp: avoid conflict with C++ keyword template
39913         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39914         * lib/mkostemp.c (mkostemp): Likewise.
39915         * lib/mkostemps.c (mkostemps): Likewise.
39916         * lib/mkstemp.c (mkstemp): Likewise.
39917         * lib/mkstemps.c (mkstemps): Likewise.
39918
39919         xalloc-die-tests: optimize
39920         * tests/test-xalloc-die.sh: Reduce number of processes.
39921
39922 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39923
39924         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39925         patch from ludo@gnu.org (Ludovic Courtès).
39926
39927 2009-11-17  Jim Meyering  <meyering@redhat.com>
39928
39929         version-etc: use proper license string
39930         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39931         * modules/version-etc-fsf: Likewise.
39932
39933 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39934
39935         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39936         printed to stdout.  Deal with EOL differences.
39937
39938 2009-11-17  Eric Blake  <ebb9@byu.net>
39939
39940         unsetenv: work around Solaris bug
39941         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39942         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39943         Reported by Jim Meyering.
39944
39945         vasnprintf: avoid compiler warnings
39946         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39947         variables.
39948         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39949
39950 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39951
39952         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39953         settings since xalloc-die is no longer the self test,
39954         xalloc-die.sh is.
39955
39956 2009-11-17  Jim Meyering  <meyering@redhat.com>
39957
39958         test-xalloc-die.sh: make the code agree with the commit log
39959         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39960         at the end, just in case you happen to have a test-xalloc-die
39961         program in some other PATH directory.
39962
39963         test-xalloc-die.sh: fix a portability bug
39964         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39965         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39966         Otherwise, argv[0] (as often seen in diagnostics) would be too
39967         system-dependent, sometimes with, and sometimes without the leading "./".
39968
39969         version-etc-fsf: relax license to LGPLv3+
39970         * modules/version-etc-fsf (License): Relax license.
39971
39972 2009-11-16  Eric Blake  <ebb9@byu.net>
39973
39974         xalloc-die-tests: avoid printing null pointer
39975         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39976         shell script.
39977         * tests/test-xalloc-die.c (program_name): Declare.
39978         * tests/test-xalloc-die.sh (tmpfiles): New file.
39979
39980         setenv, unsetenv: work around various bugs
39981         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39982         (setenv) [HAVE_SETENV]: Work around bugs.
39983         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39984         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39985         for bugs.
39986         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39987         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39989         * modules/stdlib (Makefile.am): Update substitutions.
39990         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39991         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39992         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39993         * modules/setenv-tests: New test.
39994         * modules/unsetenv-tests: Likewise.
39995         * tests/test-setenv.c: New file.
39996         * tests/test-unsetenv.c: Likewise.
39997
39998 2009-11-16  Jim Meyering  <meyering@redhat.com>
39999
40000         version-etc: relax license to LGPLv3+
40001         * modules/version-etc (License): Relax license.
40002
40003         better AC_REQUIRE expanded-before-required-warning avoidance
40004         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40005         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40006         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40007         which is no longer needed.
40008
40009 2009-11-16  Eric Blake  <ebb9@byu.net>
40010
40011         test-freading: clean up temporary file
40012         * tests/test-freading.c (main): Remove file on success, and use
40013         ASSERT more liberally.
40014         Reported by Jim Meyering.
40015
40016 2009-11-16  Jim Meyering  <meyering@redhat.com>
40017
40018         avoid new AC_REQUIRE expanded-before-required warnings
40019         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40020         merely using it.
40021         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40022         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40023
40024 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40025
40026         * tests/test-xalloc-die.c: New file.
40027         * modules/xalloc-die-tests: New file.
40028         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40029         XFAIL_TESTS so it can be appended by modules.
40030
40031 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40032
40033         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40034         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40035
40036 2009-11-14  Eric Blake  <ebb9@byu.net>
40037
40038         fnmatch: avoid compiler warning
40039         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40040         to silence compiler warning about mismatch signedness in ?:.
40041         Reported by Robert Millan.
40042
40043         intprops: add double-inclusion guard
40044         * lib/intprops.h: Allow idempotent includes.
40045         Suggested by Bruce Korb.
40046
40047         openat: detect Solaris fchownat bug
40048         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40049         penalizing glibc chownat when only lchownat is broken.
40050         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40051         trailing slash bugs.
40052         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40053         * modules/openat-tests (Files): Include more files.
40054         (Depends-on): Add mgetgroups, sleep, stat-time.
40055         (configure.ac): Add additional checks.
40056         (Makefile.am): Build new test.
40057         * tests/test-fchownat.c: New file.
40058
40059         lchown: detect Solaris and FreeBSD bug
40060         * lib/lchown.c (rpl_lchown): Work around bug.
40061         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40063         * modules/unistd (Makefile.am): Populate it.
40064         * lib/unistd.in.h (lchown): Update declaration.
40065         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40066         * modules/lchown-tests: New file.
40067         * tests/test-lchown.h (test_lchown): Likewise.
40068         * tests/test-lchown.c (main): Likewise.
40069
40070         chown: detect Solaris and FreeBSD bug
40071         * lib/chown.c (rpl_chown): Work around bug.
40072         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40073         (gl_PREREQ_CHOWN): Delete.
40074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40075         * modules/unistd (Makefile.am): Populate it.
40076         * lib/unistd.in.h (chown): Update declaration.
40077         * lib/lchown.c (chown): Update client.
40078         * modules/lchown (Depends-on): Add lstat.
40079         * doc/posix-functions/chown.texi (chown): Document the bug.
40080         * doc/posix-functions/getgroups.texi (getgroups): Document
40081         getgroups pitfall.
40082         * modules/chown-tests: New file.
40083         * tests/test-chown.h (test_chown): Likewise.
40084         * tests/test-chown.c (main): Likewise.
40085
40086 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40087
40088         gnulib-tool: correctly detect absence of m4 directories
40089         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40090
40091 2009-11-14  Jim Meyering  <meyering@redhat.com>
40092
40093         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40094         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40095
40096 2009-11-14  John W. Eaton  <jwe@gnu.org>
40097
40098         strftime.h: wrap function declaration in extern "C" block
40099         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40100
40101 2009-11-13  Eric Blake  <ebb9@byu.net>
40102
40103         getgroups: avoid compiler warning
40104         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40105
40106         getgroups: work around FreeBSD bug
40107         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40108         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40109         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40110         * tests/test-getgroups.c (main): Fix buffer overrun.
40111
40112         getgroups: avoid compilation failure
40113         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40114         * modules/getgroups (Depends-on): Add stdint.
40115
40116 2009-11-13  Jim Meyering  <meyering@redhat.com>
40117
40118         test-getgroups: avoid compilation failure
40119         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40120
40121 2009-11-13  Eric Blake  <ebb9@byu.net>
40122
40123         mgetgroups: new module, taken from coreutils
40124         * modules/mgetgroups: New file.
40125         * lib/mgetgroups.h: Likewise.
40126         * lib/mgetgroups.c (mgetgroups): Likewise.
40127         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40128         * MODULES.html.sh (Users and groups): Mention it.
40129
40130         getgroups: don't expose GETGROUPS_T to user
40131         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40132         an element at a time if GETGROUPS_T is wrong size.
40133         * lib/getugroups.h (getugroups): Change signature.
40134         * lib/unistd.in.h (getgroups): Likewise.
40135         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40136         signature needs fixing.
40137         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40138         AC_TYPE_GETGROUPS.
40139         * modules/group-member (Depends-on): Add getgroups.
40140         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40141         (group_member): Rely on getgroups replacement.
40142         * lib/getugroups.c (getugroups): Use gid_t.
40143         * tests/test-getgroups.c (main): Likewise.
40144         * NEWS: Mention the signature change.
40145         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40146         problem with signature.
40147         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40148         GETGROUPS_T is still useful for setgroups.
40149
40150         getgroups, getugroups: provide stubs for mingw
40151         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40152         * lib/getugroups.c (getugroups): Likewise.
40153         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40154         function.  Modernize replacement scheme.
40155         (gl_PREREQ_GETGROUPS): Delete.
40156         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40157         * modules/getgroups (configure.ac): Declare witness.
40158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40159         * modules/unistd (Depends-on): Substitute witness.
40160         * lib/unistd.in.h (getgroups): Declare replacement.
40161
40162         getgroups: avoid calling exit
40163         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40164         drop xalloc.
40165         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40166         dependencies.
40167         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40168         exiting, in the rare case of malloc failure.
40169
40170         getgroups: fix logic error
40171         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40172         has more than 20 groups.
40173         * modules/getgroups-tests: New test.
40174         * tests/test-getgroups.c: New file.
40175
40176 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40177
40178         * tests/test-base64.c: Improve.
40179
40180 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40181
40182         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40183         Blake <ebb9@byu.net>.
40184
40185 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40186
40187         * tests/test-xvasprintf.c: Add %s%s related checks.
40188
40189 2009-11-12  Eric Blake  <ebb9@byu.net>
40190
40191         version-etc: match standards.texi style
40192         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40193         and use <> only for URLs.
40194
40195 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40196
40197         fts: do not fail on a submount during traversal
40198         * lib/fts.c (fts_build): Read the stat info again after opening
40199         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40200         Original report at http://bugzilla.redhat.com/501848.
40201
40202 2009-11-12  Jim Meyering  <meyering@redhat.com>
40203
40204         bootstrap: sync from coreutils
40205         * build-aux/bootstrap (bootstrap_epilogue): New function.
40206         Use git_modules_config in one more place.  This make bootstrap's
40207         --gnulib-srcdir option more useful for testing.
40208
40209         bootstrap: generalize autoheader check
40210         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40211         AC_CONFIG_HEADERS.
40212
40213 2009-11-11  Eric Blake  <ebb9@byu.net>
40214
40215         mkfifoat: use new modules for Solaris and BSD bugs
40216         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40217         * lib/mkfifoat.c (mknodat): Split...
40218         * lib/mknodat.c (mknodat): ...into new file.
40219         * modules/mkfifoat (Files): Ship new file.
40220         (Depends-on): Add mkfifo, mknod.
40221         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40222         (Depends-on): Add symlink.
40223         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40224         redundant with test_mkfifo.h.
40225         (do_mkfifoat, do_mknodat): New helpers.
40226
40227         mknod: new module
40228         * modules/mknod: New file.
40229         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40230         * lib/mknod.c (mknod): Likewise.
40231         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40232         defaults.
40233         * modules/sys_stat (Makefile.am): Substitute them.
40234         * lib/sys_stat.in.h (mknod): Declare replacement.
40235         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40236         Document it.
40237         * doc/posix-functions/mknod.texi (mknod): Likewise.
40238         * modules/mknod-tests: New test.
40239         * tests/test-mknod.c: Likewise.
40240
40241         mkfifo: new module
40242         * modules/mkfifo: New file.
40243         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40244         * lib/mkfifo.c (mkfifo): Likewise.
40245         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40246         defaults.
40247         * modules/sys_stat (Makefile.am): Substitute them.
40248         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40249         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40250         Document it.
40251         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40252         * modules/mkfifo-tests: New test.
40253         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40254         from test-mkfifoat.c.
40255         * tests/test-mkfifo.c: New file.
40256
40257         readlink: detect FreeBSD bug
40258         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40259         slash on symlink.
40260         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40261         * tests/test-readlink.h (test_readlink): Enhance test.
40262
40263         symlink: detect FreeBSD bug
40264         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40265         slash on symlink.
40266         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40267         * tests/test-symlink.h (test_symlink): Enhance test.
40268
40269 2009-11-10  Eric Blake  <ebb9@byu.net>
40270
40271         link: detect FreeBSD bug
40272         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40273         symlink.
40274         * doc/posix-functions/link.texi (link): Document the bug.
40275         * tests/test-link.h (test_link): Enhance test.
40276         * tests/test-linkat.c (main): Update caller.
40277
40278         unlink, remove: detect FreeBSD bug
40279         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40280         slash on symlink.
40281         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40282         * doc/posix-functions/remove.texi (remove): Likewise.
40283         * tests/test-unlink.h (test_unlink): Enhance test.
40284         * tests/test-remove.c (main): Likewise.
40285
40286 2009-11-09  Eric Blake  <ebb9@byu.net>
40287
40288         rename: detect FreeBSD bug
40289         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40290         slash on symlink.
40291         * modules/renameat-tests (Depends-on): Add filenamecat.
40292         * tests/test-rename.h (test_rename): Allow one more errno.
40293         * tests/test-renameat.c (main): Likewise.
40294         * doc/posix-functions/rename.texi (rename): Document the bug.
40295
40296         open: detect FreeBSD bug
40297         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40298         symlink.
40299         * doc/posix-functions/open.texi (open): Document the bug.
40300         * doc/posix-functions/utimes.texi (utimes): Likewise.
40301         * tests/test-open.h (test_open): Add parameters, and test symlink
40302         handling.
40303         * tests/test-open.c (main): Adjust caller.
40304         * tests/test-fcntl-safer.c (main): Likewise.
40305         * modules/open-tests (Depends-on): Add stdbool, symlink.
40306         * modules/fcntl-safer-tests (Depends-on): Likewise.
40307         * tests/test-openat.c (main): Add test-open tests.
40308
40309         stat: detect FreeBSD bug
40310         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40311         symlink.
40312         * doc/posix-functions/stat.texi (stat): Document the bug.
40313         * tests/test-stat.h (test_stat_func): Add argument.
40314         * tests/test-stat.c (main): Adjust caller.
40315         * tests/test-fstatat.c (main): Likewise.
40316         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40317         Reported by Jim Meyering.
40318
40319 2009-11-09  James Youngman  <jay@gnu.org>
40320
40321         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40322         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40323
40324 2009-11-08  Jim Meyering  <meyering@redhat.com>
40325
40326         utimens: remove invalid futimesat call
40327         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40328         It used the file descriptor of the target file as the DIR_FD
40329         parameter and NULL as the file name.  That caused failure with
40330         errno == EFAULT on FreeBSD-8.0-rc2
40331
40332 2009-11-07  Eric Blake  <ebb9@byu.net>
40333
40334         fflush, freadseek: use fseeko, not fseek
40335         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40336         (clear_ungetc_buffer): Avoid potential problems on large files.
40337         * lib/freadseek.c (freadseek): Likewise.
40338         * modules/freadseek (Depends-on): Add fseeko.
40339         * modules/fseek (configure.ac): Set a witness.
40340         * tests/test-fflush.c (main): Use fseeko.
40341         * tests/test-fpurge.c (fseek): Disable link warning.
40342         * tests/test-freadable.c (fseek): Likewise.
40343         * tests/test-freading.c (fseek): Likewise.
40344         * tests/test-fseeko.c (fseek): Likewise.
40345         * tests/test-ftell.c (fseek): Likewise.
40346         * tests/test-ftello.c (fseek): Likewise.
40347         * tests/test-fwritable.c (fseek): Likewise.
40348         * tests/test-fwriting.c (fseek): Likewise.
40349
40350 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40351
40352         * modules/memchr (Depends-on): Drop getpagesize dependency.
40353
40354 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40355
40356         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40357         Reported by Ludovic Courtès.
40358         * build-aux/pmccabe2html: Improve example usage.
40359         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40360
40361 2009-11-06  Jim Meyering  <meyering@redhat.com>
40362
40363         do-release-commit-and-tag: New module.
40364         Automate the release-commit and tag process.
40365         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40366         * modules/do-release-commit-and-tag: New file.
40367         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40368
40369 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40370
40371         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40372         because test-select.c uses inet_pton.
40373
40374 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40375
40376         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40377         GETADDRINFO_LIB.  Bump serial number.
40378         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40379         Suggested by Eric Blake <ebb9@byu.net>.
40380
40381 2009-11-05  Eric Blake  <ebb9@byu.net>
40382
40383         strtod: detect darwin bug
40384         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40385         Reported by Leo Davis.
40386
40387         freopen-safer: new module
40388         * modules/freopen-safer: New module.
40389         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40390         * lib/freopen-safer.c (freopen_safer): New file.
40391         * lib/stdio-safer.h (freopen_safer): New declaration.
40392         * lib/stdio--.h (freopen): New override.
40393         * MODULES.html.sh (File stream based Input/Output): Mention it.
40394         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40395         freopen-safer module.
40396         * doc/posix-functions/stderr.texi (stderr): Likewise.
40397         * doc/posix-functions/stdin.texi (stdin): Likewise.
40398         * doc/posix-functions/stdout.texi (stdout): Likewise.
40399         * modules/freopen-safer-tests: New test.
40400         * tests/test-reopen-safer.c: New file.
40401
40402 2009-11-05  Jim Meyering  <meyering@redhat.com>
40403
40404         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40405         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40406
40407 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40408
40409         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40410
40411 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40412
40413         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40414
40415 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40416
40417         Fix link error.
40418         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40419         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40420
40421 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40422
40423         * tests/test-func.c: Also test value of __func__.
40424
40425 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40426
40427         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40428         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40429
40430 2009-11-05  Bruno Haible  <bruno@clisp.org>
40431
40432         Fix link error.
40433         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40434         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40435         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40436
40437 2009-11-05  Bruno Haible  <bruno@clisp.org>
40438
40439         Tests for module 'inet_pton'.
40440         * modules/inet_pton-tests: New file.
40441         * tests/test-inet_pton.c: New file.
40442
40443 2009-11-05  Bruno Haible  <bruno@clisp.org>
40444
40445         Tests for module 'inet_ntop'.
40446         * modules/inet_ntop-tests: New file.
40447         * tests/test-inet_ntop.c: New file.
40448
40449 2009-11-04  Eric Blake  <ebb9@byu.net>
40450
40451         stdlib-safer: wrap all mkstemp variants
40452         * modules/mkostemp (configure.ac): Set witness.
40453         * modules/mkostemps (configure.ac): Likewise.
40454         * modules/mkstemps (configure.ac): Likewise.
40455         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40456         (mkstemps_safer): Wrap more functions.
40457         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40458         wrapping.
40459         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40460         (mkstemps_safer): Implement the wrappers.
40461
40462         mkstemps, mkostemps: new modules
40463         * modules/mkostemps: New module.
40464         * modules/mkstemps: Likewise.
40465         * lib/mkostemps.c (mkostemps): New file.
40466         * lib/mkstemps.c (mkstemps): Likewise.
40467         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40468         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40469         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40470         * modules/stdlib (Makefile.am): Substitute them.
40471         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40472         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40473         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40474         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40475         * MODULES.html.sh (File system functions): Mention them.
40476
40477         tempname: resync from glibc
40478         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40479         same values for __GT_FILE as glibc.  Abort even when assertions
40480         are disabled.
40481         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40482         match its value otherwise.  Allow idempotent inclusion.
40483         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40484         * lib/mkostemp.c (mkostemp): Likewise.
40485         * lib/mkstemp.c (mkstemp): Likewise.
40486         * lib/tmpfile.c (tmpfile): Likewise.
40487         * NEWS: Document this.
40488
40489         utimens: fix use of futimens on older Linux
40490         * lib/utimens.c (fdutimens): Use updated, rather than original,
40491         timespec to avoid bug in older Linux kernel.
40492         Reported by Simon Josefsson.
40493
40494 2009-11-04  Bruno Haible  <bruno@clisp.org>
40495
40496         Make num_processors more flexible and consistent.
40497         * lib/nproc.h (enum nproc_query): New type.
40498         (num_processors): Add a 'query' argument.
40499         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40500         (num_processors): Add a 'query' argument. Test the value of the
40501         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40502         mingw, count the number of CPUs available for the current process.
40503         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40504         Check for sched_getaffinity and sched_getaffinity_np.
40505         * modules/nproc (Depends-on): Add c-ctype, extensions.
40506         * NEWS: Mention the change.
40507
40508 2009-11-03  Bruno Haible  <bruno@clisp.org>
40509
40510         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40511
40512 2009-11-03  Jim Meyering  <meyering@redhat.com>
40513
40514         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40515         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40516         if it is defined.
40517
40518 2009-11-02  Eric Blake  <ebb9@byu.net>
40519
40520         mktime, timegm: share common declaration
40521         * lib/mktime-internal.h: New file.
40522         * lib/mktime.c: Use it rather than open-coding a declaration.
40523         * lib/timegm.c: Likewise.
40524         * modules/mktime (Files): Ship it.
40525         * modules/timegm (Files): Likewise.
40526         Suggested by Bruno Haible.
40527
40528         test-update-copyright: update test to match script changes
40529         * tests/test-update-copyright.sh: Avoid hard-coding perl
40530         location.  Don't update *.bak created by earlier runs.
40531
40532 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40533             Simon Josefsson  <simon@josefsson.org>
40534             Bruno Haible  <bruno@clisp.org>
40535
40536         Fix link error on Solaris 8.
40537         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40538         also in libnsl. Define also INET_PTON_LIB.
40539         * modules/inet_pton (Link): New section.
40540
40541 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40542             Bruno Haible  <bruno@clisp.org>
40543
40544         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40545         * modules/inet_ntop (Link): New section.
40546         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40547
40548 2009-11-02  Eric Blake  <ebb9@byu.net>
40549
40550         maint: avoid compiler warnings in m4 macros
40551         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40552         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40553
40554 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40555
40556         * m4/pmccabe2html.m4: Remove file.
40557         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40558         function.  Change maintainer.
40559         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40560         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40561         Courtès).
40562
40563 2009-10-31  Eric Blake  <ebb9@byu.net>
40564
40565         fseeko: fix m4 regression
40566         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40567         regression from 2009-10-27.
40568         Reported by Ralf Wildenhues.
40569
40570 2009-10-31  Jim Meyering  <meyering@redhat.com>
40571
40572         inttostr: aesthetics and improved (compile-time) safety
40573         Define inttype_is_signed rather than inttype_is_unsigned,
40574         since the sole use is via "#if inttype_is_signed".
40575         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40576         inttype_is_unsigned.
40577         * lib/offtostr.c (inttype_is_signed): Likewise.
40578         * lib/uinttostr.c (inttype_is_signed): Likewise.
40579         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40580         * lib/inttostr.c (inttostr): Use verify to cross-check the
40581         inttype_is_signed value and the signedness of the actual type.
40582         * modules/inttostr (Depends-on): Add verify.
40583
40584 2009-10-30  Eric Blake  <ebb9@byu.net>
40585
40586         build: avoid compiler warnings
40587         * lib/fchmodat.c (lchmod): Mark unused variables.
40588         * lib/getopt.c (_getopt_initialize): Likewise.
40589         * lib/mktime.c (__mktime_internal): Provide prototype.
40590         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40591         older gcc that do not understand #pragma GCC diagnostic.
40592         * lib/uinttostr.c (inttype_is_unsigned): Define.
40593         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40594
40595 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40596
40597         stat: fix compilation on AIX
40598         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40599         only see struct stat64.
40600
40601 2009-10-30  Eric Blake  <ebb9@byu.net>
40602
40603         exclude: make more robust
40604         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40605         rather than masking a coding bug.
40606         Suggested by Bruno Haible.
40607
40608 2009-10-30  Jim Meyering  <meyering@redhat.com>
40609
40610         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40611         Rather than putting #!/usr/bin/perl on the first line,
40612         start with a variant of what's recommended by "man perlrun" that
40613         invokes the first "perl" program from your shell's search path.
40614         * build-aux/gitlog-to-changelog: Replace #!... as above.
40615         Add a "Local Variables" perl mode setting.
40616         Prompted by a patch from Ludovic Courtès.
40617         Improved by Eric Blake.
40618         * build-aux/useless-if-before-free: Likewise.
40619         * build-aux/announce-gen: Likewise.
40620         * build-aux/update-copyright: Likewise.
40621
40622 2009-10-29  Eric Blake  <ebb9@byu.net>
40623
40624         filenamecat-lgpl: adjust clients
40625         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40626         filenamecat.
40627         * modules/renameat (Depends-on): Likewise.
40628
40629         filenamecat: split into filenamecat-lgpl
40630         * modules/filenamecat-lgpl: New module.
40631         * modules/filenamecat (Files): Move library-safe files into
40632         filenamecat-lgpl.
40633         (Depends-on): Add filenamecat-lgpl.
40634         (configure.ac): Declare witness.
40635         * lib/filenamecat.h (file_name_concat): Only declare when using
40636         GPL module.
40637         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40638         Move...
40639         * lib/filenamecat-lgpl.c: ...into new file.
40640         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40641         (gl_FILE_NAME_CONCAT): Use it.
40642         * MODULES.html.sh (File system functions): Mention new module.
40643
40644         argp: avoid memory leak
40645         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40646         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40647         base_name, since the latter malloc()s and can call exit().
40648         Leak introduced 2006-07-03.
40649
40650         dirname-lgpl: adjust clients that don't need full dirname
40651         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40652         * modules/filenamecat (Depends-on): Likewise.
40653         * modules/linkat (Depends-on): Likewise.
40654         * modules/mkancesdirs (Depends-on): Likewise.
40655         * modules/mkdir (Depends-on): Likewise.
40656         * modules/openat (Depends-on): Likewise.
40657         * modules/savewd (Depends-on): Likewise.
40658         * modules/rename (Depends-on): Likewise.
40659         (License): Relax license.
40660         * modules/mkdir-tests (Depends-on): Drop progname.
40661         (Makefile.am): Delete unneeded LDADD.
40662         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
40663
40664         dirname: split into dirname-lgpl
40665         * modules/dirname-lgpl: New module.
40666         * modules/dirname (Files): Move library-safe files into
40667         dirname-lgpl.
40668         (Depends-on): Add dirname-lgpl.
40669         (configure.ac): Declare witness.
40670         * modules/double-slash-root (License): Relax license.
40671         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
40672         module.
40673         * lib/dirname.c (dir_len, mdir_name): Move...
40674         * lib/dirname-lgpl.c: ...into new file.
40675         * lib/basename.c (last_component, base_len): Move...
40676         * lib/basename-lgpl.c: ...into new file.
40677         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
40678         (gl_DIRNAME): Use it.
40679         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
40680         Mention new module.
40681         * modules/dirname-tests (Depends-on): Add progname.
40682         * tests/test-dirname.c (program_name): Delete.
40683
40684         mkdir: make safe for libraries
40685         * modules/mkdir (Depends-on): Drop xalloc.
40686         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40687         exit.
40688
40689         tests: avoid some compiler warnings
40690         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40691         literals.
40692         * tests/test-memchr.c (main): Avoid type mismatch.
40693         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40694         * tests/test-base64.c (main): Likewise.
40695         * tests/test-getdelim.c (main): Likewise.
40696         * tests/test-gethostname.c (main): Likewise.
40697         * tests/test-getline.c (main): Likewise.
40698         * tests/test-netinet_in.c (main): Likewise.
40699         * tests/test-select.c (open_server_socket, main): Likewise.
40700         * tests/test-select-stdin.c (main): Likewise.
40701         * tests/test-sockets.c (main): Likewise.
40702         * tests/test-strsignal.c (main): Likewise.
40703         * tests/test-sys_select.c (main): Likewise.
40704         * tests/test-sys_socket.c (main): Likewise.
40705         * tests/test-u64.c (main): Likewise.
40706         * tests/test-xfprintf-posix.c (main): Likewise.
40707         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40708
40709         sockets: avoid compiler warning
40710         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40711
40712         maint: detect usage(1) and other suspicious exits
40713         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40714
40715 2009-10-29  Jim Meyering  <meyering@redhat.com>
40716
40717         timespec: long-to-int truncation could make timespec_cmp malfunction
40718         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40719         a multiple of 2^32 nanoseconds as no difference.
40720
40721 2009-10-28  Jim Meyering  <meyering@redhat.com>
40722
40723         fprintftime: wrap macro code argument in "do {...} while(0)"
40724         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40725         cpy macro must be a statement that can be followed by a semicolon.
40726         Now that the else clause contains a comment and is hence longer
40727         than one line, I require curly braces.  That in turn requires
40728         that we wrap this code block in the standard do...while(0).
40729
40730         fprintftime: remove stray semicolon from previous change
40731         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40732
40733         fprintftime: avoid a warning about ignored fwrite return value
40734         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40735         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40736         that is unsafe.
40737         * modules/fprintftime (Depends-on): Add ignore-value.
40738
40739         exclude: avoid an unwarranted warning
40740         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40741
40742 2009-10-27  Eric Blake  <ebb9@byu.net>
40743
40744         fseek: avoid compilation failure when fflush is replaced
40745         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40746         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40747         module is in use.
40748         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40749         module is not in use; since REPLACE_FSEEK worked otherwise.
40750         (GNULIB_FTELLO): Likewise for ftell.
40751         Reported by Ian Beckwith and others.
40752
40753 2009-10-27  Bruno Haible  <bruno@clisp.org>
40754
40755         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40756         Reported by Jim Meyering.
40757
40758 2009-10-27  Jim Meyering  <jim@meyering.net>
40759             Bruno Haible  <bruno@clisp.org>
40760
40761         Avoid warning despite dropping the return value of fwrite.
40762         * lib/unicodeio.c: Include ignore-value.h.
40763         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40764         * modules/unicodeio (Depends-on): Add ignore-value.
40765
40766 2009-10-26  Eric Blake  <ebb9@byu.net>
40767
40768         areadlinkat: fix fallback path
40769         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40770         pointer and zero.
40771
40772 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40773
40774         Use a better IO block size for modern systems
40775         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40776         * lib/md2.c: Likewise.
40777         * lib/md4.c: Likewise.
40778         * lib/md5.c: Likewise.
40779         * lib/sha1.c: Likewise.
40780         * lib/sha256.c: Likewise.
40781         * lib/sha512.c: Likewise.
40782
40783 2009-10-22  Eric Blake  <ebb9@byu.net>
40784
40785         tests: avoid several compiler warnings
40786         * tests/test-getcwd.c (main): Avoid buffer underflow.
40787         * tests/test-getdate.c (main): String literals are not safe with
40788         putenv, so use setenv.  Declare unused argument.
40789         * modules/getdate-tests (Depends-on): Add setenv.
40790         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40791         problems with string literals in char *.
40792         * tests/test-hash.c (main): Avoid shadowing declaration.
40793         (insert_new): Treat string literals as char const *.
40794         * tests/test-getopt.h (test_getopt): Likewise.
40795         (getopt_loop): Alter types to minimize casting elsewhere.
40796         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40797         (test_getopt_long_posix): Likewise.
40798         (do_getopt_long): Add wrapper to minimize casting.
40799         * tests/test-atexit.c (clear_temp_file): Use void.
40800         * tests/test-areadlink-with-size.c (main): Declare unused
40801         arguments.
40802         * tests/test-areadlink.c (main): Likewise.
40803         * tests/test-areadlinkat-with-size.c (main): Likewise.
40804         * tests/test-areadlinkat.c (main): Likewise.
40805         * tests/test-canonicalize-lgpl.c (main): Likewise.
40806         * tests/test-canonicalize.c (main): Likewise.
40807         * tests/test-dirent-safer.c (main): Likewise.
40808         * tests/test-dirname.c (main): Likewise.
40809         * tests/test-dup2.c (main): Likewise.
40810         * tests/test-fchdir.c (main): Likewise.
40811         * tests/test-fcntl-h.c (main): Likewise.
40812         * tests/test-fcntl-safer.c (main): Likewise.
40813         * tests/test-fdopendir.c (main): Likewise.
40814         * tests/test-fdutimensat.c (main): Likewise.
40815         * tests/test-fflush.c (main): Likewise.
40816         * tests/test-filenamecat.c (main): Likewise.
40817         * tests/test-filevercmp.c (main): Likewise.
40818         * tests/test-fopen-safer.c (main): Likewise.
40819         * tests/test-fopen.c (main): Likewise.
40820         * tests/test-fpending.c (main): Likewise.
40821         * tests/test-fpurge.c (main): Likewise.
40822         * tests/test-freading.c (main): Likewise.
40823         * tests/test-fstatat.c (main): Likewise.
40824         * tests/test-fsync.c (main): Likewise.
40825         * tests/test-futimens.c (main): Likewise.
40826         * tests/test-getndelim2.c (main): Likewise.
40827         * tests/test-gettimeofday.c (main): Likewise.
40828         * tests/test-getopt.c (main): Likewise.
40829         * tests/test-i-ring.c (main): Likewise.
40830         * tests/test-inttypes.c (main): Likewise.
40831         * tests/test-link.c (main): Likewise.
40832         * tests/test-lstat.c (main): Likewise.
40833         * tests/test-math.c (main): Likewise.
40834         * tests/test-md5.c (main): Likewise.
40835         * tests/test-memchr2.c (main): Likewise.
40836         * tests/test-memrchr.c (main): Likewise.
40837         * tests/test-mkdir.c (main): Likewise.
40838         * tests/test-mkdirat.c (main): Likewise.
40839         * tests/test-mkfifoat.c (main): Likewise.
40840         * tests/test-open.c (main): Likewise.
40841         * tests/test-openat-safer.c (main): Likewise.
40842         * tests/test-openat.c (main): Likewise.
40843         * tests/test-quotearg.c (main): Likewise.
40844         * tests/test-rawmemchr.c (main): Likewise.
40845         * tests/test-readlink.c (main): Likewise.
40846         * tests/test-remove.c (main): Likewise.
40847         * tests/test-rename.c (main): Likewise.
40848         * tests/test-renameat.c (main): Likewise.
40849         * tests/test-rmdir.c (main): Likewise.
40850         * tests/test-sha1.c (main): Likewise.
40851         * tests/test-signal.c (main): Likewise.
40852         * tests/test-sigaction.c (main): Likewise.
40853         * tests/test-stat.c (main): Likewise.
40854         * tests/test-stat-time.c (main): Likewise.
40855         * tests/test-stddef.c (main): Likewise.
40856         * tests/test-stdint.c (main): Likewise.
40857         * tests/test-stdio.c (main): Likewise.
40858         * tests/test-stdlib.c (main): Likewise.
40859         * tests/test-strchrnul.c (main): Likewise.
40860         * tests/test-strerror.c (main): Likewise.
40861         * tests/test-string.c (main): Likewise.
40862         * tests/test-strtod.c (main): Likewise.
40863         * tests/test-strverscmp.c (main): Likewise.
40864         * tests/test-symlink.c (main): Likewise.
40865         * tests/test-symlinkat.c (main): Likewise.
40866         * tests/test-sys_stat.c (main): Likewise.
40867         * tests/test-sys_time.c (main): Likewise.
40868         * tests/test-time.c (main): Likewise.
40869         * tests/test-unistd.c (main): Likewise.
40870         * tests/test-unlink.c (main): Likewise.
40871         * tests/test-unlinkat.c (main): Likewise.
40872         * tests/test-utimens.c (main): Likewise.
40873         * tests/test-utimensat.c (main): Likewise.
40874         * tests/test-version-etc.c (main): Likewise.
40875         * tests/test-wchar.c (main): Likewise.
40876         * tests/test-wctype.c (main): Likewise.
40877         * tests/test-xprintf-posix.c (main): Likewise.
40878         * tests/test-posixtm.c (main): Likewise.
40879         (STREQ): Delete unused macro.
40880         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40881         shadowed variables.
40882         * tests/test-memchr.c (main): Likewise.
40883
40884 2009-10-21  Eric Blake  <ebb9@byu.net>
40885
40886         areadlinkat: avoid failure on older glibc
40887         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40888         rather than mis-comparing 0 against FUNC_RESULT of char*.
40889
40890 2009-10-21  Bruno Haible  <bruno@clisp.org>
40891
40892         * modules/stpncpy (License): Relicense under LGPLv2+.
40893         Reported by David Lutterkort <lutter@redhat.com>.
40894
40895 2009-10-20  Eric Blake  <ebb9@byu.net>
40896
40897         utimensat: work around Solaris 9 bug
40898         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40899         has trailing slash bugs.
40900         * tests/test-lutimens.h (test_lutimens): Enhance test.
40901         * tests/test-utimens.h (test_utimens): Likewise.
40902         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40903         * doc/posix-functions/utimes.texi (utimes): Likewise.
40904         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40905         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40906         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40907         * doc/posix-functions/futimens.texi (futimens): Likewise.
40908
40909         fdutimensat: new module
40910         * modules/fdutimensat: New file.
40911         * lib/fdutimensat.c (fdutimensat): Likewise.
40912         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40913         * MODULES.html.sh (File system functions): Mention module.
40914         * modules/fdutimensat-tests: New test.
40915         * tests/test-fdutimensat.c: Likewise.
40916
40917         doc: regenerate INSTALL
40918         * doc/INSTALL: Reflect recent autoconf update.
40919         * doc/INSTALL.ISO: Likewise.
40920         * doc/INSTALL.UTF-8: Likewise.
40921
40922 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40923
40924         acl: warn if ACL support is not detected
40925         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40926
40927 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40928
40929         * lib/nproc.h: Add extern "C" block for C++.
40930
40931 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40932             Bruno Haible  <bruno@clisp.org>
40933
40934         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40935         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40936         * doc/posix-functions/isalpha.texi: Likewise.
40937         * doc/posix-functions/isblank.texi: Likewise.
40938         * doc/posix-functions/iscntrl.texi: Likewise.
40939         * doc/posix-functions/isdigit.texi: Likewise.
40940         * doc/posix-functions/isgraph.texi: Likewise.
40941         * doc/posix-functions/islower.texi: Likewise.
40942         * doc/posix-functions/isprint.texi: Likewise.
40943         * doc/posix-functions/ispunct.texi: Likewise.
40944         * doc/posix-functions/isspace.texi: Likewise.
40945         * doc/posix-functions/isupper.texi: Likewise.
40946         * doc/posix-functions/isxdigit.texi: Likewise.
40947
40948 2009-10-18  Bruno Haible  <bruno@clisp.org>
40949
40950         Tests for module 'isblank'.
40951         * modules/isblank-tests: New file.
40952         * tests/test-isblank.c: New file.
40953
40954         New module 'isblank'.
40955         * lib/isblank.c: New file.
40956         * m4/isblank.m4: New file.
40957         * modules/isblank: New file.
40958         * doc/posix-functions/isblank.texi: Mention the new module.
40959
40960 2009-10-18  Bruno Haible  <bruno@clisp.org>
40961
40962         New module 'ctype'.
40963         * lib/ctype.in.h: New file.
40964         * m4/ctype.m4: New file.
40965         * modules/ctype: New file.
40966         * doc/posix-headers/ctype.texi: Mention the new module.
40967
40968 2009-10-18  Jim Meyering  <meyering@redhat.com>
40969
40970         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40971         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40972         right after its initialization, rather than farther down.
40973         Keeping these in close proximity makes it easier to ensure
40974         that each such variable is initialized.  E.g.,
40975
40976             LIB_CLOCK_GETTIME=
40977             AC_SUBST([LIB_CLOCK_GETTIME])
40978
40979         This change also increments these serial numbers.
40980         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40981         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40983
40984 2009-10-18  Bruno Haible  <bruno@clisp.org>
40985
40986         Don't let environment variables perturb build.
40987         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40988         (gl_PREREQ_GETHRXTIME): ... not here.
40989
40990 2009-10-18  Bruno Haible  <bruno@clisp.org>
40991
40992         Avoid symlink attack in localcharset module.
40993         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
40994         (O_NOFOLLOW): Define fallback.
40995         (get_charset_aliases): Don't open the file if it is a symbolic link.
40996         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
40997         gl_FCNTL_H.
40998         (gl_FCNTL_H): Require it.
40999         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41000         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41001         Reported by Fergal Glynn <fglynn@veracode.com>.
41002
41003 2009-10-18  Bruno Haible  <bruno@clisp.org>
41004
41005         Implement nproc for mingw.
41006         * lib/nproc.c: Include <windows.h>
41007         (num_processors): On native Windows platforms, try GetSystemInfo.
41008
41009 2009-10-18  Bruno Haible  <bruno@clisp.org>
41010
41011         Implement nproc for IRIX.
41012         * lib/nproc.c: Include <sys/sysmp.h>.
41013         (num_processors): On IRIX systems, try sysmp.
41014         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41015
41016 2009-10-18  Bruno Haible  <bruno@clisp.org>
41017
41018         Implement nproc for HP-UX.
41019         * lib/nproc.c: Include <sys/pstat.h>
41020         (num_processors): On HP-UX systems, try pstat_getdynamic.
41021         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41022         pstat_getdynamic.
41023
41024 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41025             Bruno Haible  <bruno@clisp.org>
41026
41027         Implement nproc for NetBSD, OpenBSD.
41028         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41029         (ARRAY_SIZE): New macro.
41030         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41031         * m4/nproc.m4: New file.
41032         * modules/nproc (Files): Add m4/nproc.m4.
41033         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41034         (Makefile.am): Instead, augment lib_SOURCES.
41035
41036 2009-10-18  Bruno Haible  <bruno@clisp.org>
41037
41038         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41039         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41040         sys/param.h.
41041
41042 2009-10-16  Eric Blake  <ebb9@byu.net>
41043
41044         utimensat: new module
41045         * modules/utimensat: New file.
41046         * lib/utimensat.c (utimensat): Likewise.
41047         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41048         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41049         so we can work around Linux bugs.
41050         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41051         * modules/sys_stat (Makefile.am): Substitute them.
41052         * lib/sys_stat.in.h (utimensat): Declare it.
41053         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41054         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41055         * modules/utimensat-tests: New test.
41056         * tests/test-utimensat.c: Likewise.
41057
41058         utimens: let lutimens work on non-symlinks
41059         * lib/utimens.c (lutimens): Fall back to utimens rather than
41060         failing with ENOSYS, when file is not a symlink.
41061         (utimens): Reduce redirection.
41062         * tests/test-lutimens.h (test_lutimens): Update test to cover
41063         non-symlinks.
41064         * tests/test-utimens.h (test_utimens): Update test to cover
41065         symlinks.
41066         * tests/test-utimens.c (main): Update caller.
41067
41068         utimens: cache whether utimensat syscall works
41069         * lib/utimens.c (utimensat_works_really): New cache variable.
41070         (fdutimens, lutimens): Use it to avoid failing syscall.
41071
41072         test-stat-time, test-utimens: improve portability
41073         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41074         ext4 on alpha, and for cygwin.
41075         * tests/test-utimens-common.h: New file.
41076         (nap): Factor delays into single function.
41077         * tests/test-lutimens.h (test_lutimens): Use new header.
41078         * tests/test-futimens.h (test_futimens): Likewise.
41079         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41080         timestamps to occur from same machine, as was done previously for
41081         test_utimens.
41082         * modules/utimens-tests (Files): Ship new file.
41083         * modules/futimens-tests (Files): Likewise.
41084         Reported in part by Jim Meyering.
41085
41086         sys_stat: sort replacement declarations
41087         * lib/sys_stat.in.h: Sort declarations.
41088         * lib/futimens.c (futimens): Fix typo.
41089
41090 2009-10-15  Jim Meyering  <meyering@redhat.com>
41091
41092         don't let environment settings perturb build
41093         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41094         could cause a configure-time and/or build-time malfunction.
41095         Typically, a configure-time function-in-library test is performed
41096         via code like this:
41097
41098           LIB_VAR=
41099           AC_SUBST([LIB_VAR])
41100           prefix_saved_LIBS=$LIBS
41101             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41102                        [test "$ac_cv_search_FUNC" = "none required" ||
41103                         LIB_VAR=$ac_cv_search_FUNC])
41104           LIBS=$prefix_saved_LIBS
41105
41106         However, in each of the files affected by this change, the LIB_VAR=
41107         initialization was omitted.  Thus, when set in the environment, its
41108         value would propagate into generated Makefiles when FUNC is not found
41109         in LIB_NAME.
41110         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41111         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41113
41114 2009-10-14  Eric Blake  <ebb9@byu.net>
41115
41116         fchdir: avoid infinite recursion in mingw
41117         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41118         recursing.
41119
41120         test-stat-time: port to mingw
41121         * tests/test-stat-time.c (force_unlink): Return a value.
41122         (test_ctime) [W32]: Fix compilation error.
41123         (nap): Don't call usleep with too large an argument.  Use
41124         force_unlink.
41125         * doc/pastposix-functions/usleep.texi (usleep): Document the
41126         portability issue.
41127
41128 2009-10-13  Jim Meyering  <meyering@redhat.com>
41129
41130         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41131         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41132         * modules/pipe-filter-ii: Likewise.
41133         * modules/sys_socket-tests: Likewise.
41134         * modules/tsearch-tests: Likewise.
41135         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41136         (check): Depend on it.
41137
41138 2009-10-12  Eric Blake  <ebb9@byu.net>
41139
41140         utimens-tests: port to NFS file systems
41141         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41142         comparisons to avoid spurious failures from timestamp drift
41143         between NFS machines.
41144
41145 2009-10-12  Eric Blake  <ebb9@byu.net>
41146
41147         stat-time-tests: minor cleanups
41148         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41149         * tests/test-stat-time.c (nap): Separate assignment from call.
41150         Suggested by Paolo Bonzini and Bruno Haible.
41151
41152         sys_stat: guarantee struct timespec
41153         * lib/sys_stat.in.h (includes): Always include <time.h>
41154         * modules/sys_stat (Depends-on): Add time.
41155         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41156         mode_t permission values.
41157         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41158         get at subsecond timestamps.
41159
41160 2009-10-10  Eric Blake  <ebb9@byu.net>
41161
41162         futimens: new module
41163         * modules/futimens: New file.
41164         * lib/futimens.c (futimens): Likewise.
41165         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41166         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41167         we can work around Linux bugs.
41168         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41169         * modules/sys_stat (Makefile.am): Substitute them.
41170         * lib/sys_stat.in.h (futimens): Declare it.
41171         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41172         * doc/posix-functions/futimens.texi (futimens): Likewise.
41173         * modules/futimens-tests: New test.
41174         * tests/test-futimens.c: Likewise.
41175
41176         utimens: introduce fdutimens
41177         * lib/utimens.h (fdutimens): New prototype.
41178         * lib/utimens.c (gl_futimens): Move guts...
41179         (fdutimens): ...to new interface.
41180         * tests/test-utimens.c (do_fdutimens): Use it.
41181
41182         utimens: add UTIME_NOW and UTIME_OMIT support
41183         * lib/utimens.c (validate_timespec, update_timespec): New helper
41184         functions.
41185         (gl_futimens, lutimens): Use them.
41186         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41187         stdbool, sys_stat.
41188         (Link): Mention resulting library dependency.
41189         * modules/utimecmp (Link): Likewise.
41190         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41191         (Makefile.am): Pick up library dependency.
41192         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41193         definition.
41194         * tests/test-sys_stat.c: Test the definitions.
41195         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41196         * NEWS: Document library dependency.
41197
41198         utimecmp: support symlink timestamps
41199         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41200         hashing when possible.  Use pathconf when available.
41201         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41202         * modules/utimecmp (Depends-on): Add lstat.
41203
41204         utimens: add lutimens interface
41205         * lib/utimens.c (lutimens): New function.
41206         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41207         * lib/utimens.h (lutimens): Declare new interface.
41208         * tests/test-utimens.c (main): Enhance test.
41209         * tests/test-lutimens.h (test_lutimens): New file.
41210         * modules/utimens-tests (Files): Distribute it.
41211         (Depends-on): Add symlink.
41212         (configure.ac): Check for usleep.
41213
41214         utimens: validate futimens usage
41215         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41216         fewer syscalls on failure later on.  Avoid compiler warning on
41217         mingw.
41218         * modules/utimens (Depends-on): Add dup2.
41219
41220         utimens: add test
41221         * modules/utimens-tests: New test.
41222         * tests/test-utimens.h: New file.
41223         * tests/test-futimens.h: Likewise.
41224         * tests/test-utimens.c: Likewise.
41225
41226         doc: mention timestamp portability issues
41227         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41228         instead.
41229         * doc/posix-functions/utime.texi (utime): Likewise.
41230         * doc/posix-functions/utimes.texi (utimes): Likewise.
41231         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41232         instead.
41233         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41234         module.
41235         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41236         Mention weakness with symlink timestamps.
41237         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41238         to utimensat/futimens instead.
41239         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41240
41241         test-dup2: enhance test
41242         * tests/test-dup2.c (main): Also check AT_FDCWD.
41243
41244         test-stat-time: avoid more spurious failures
41245         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41246         xfs; and avoid race if the two timestamps cross quantization edge.
41247
41248         relocatable: prefer 'file system' over 'filesystem'
41249         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41250         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41251         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41252         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41253         * lib/relocatable.c (compute_curr_prefix): Likewise.
41254
41255 2009-10-10  Jim Meyering  <meyering@redhat.com>
41256
41257         stat-time-tests: check for the usleep function
41258         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41259
41260 2009-10-10  Bruno Haible  <bruno@clisp.org>
41261
41262         * modules/xnanosleep: Put the Link section after the Include section.
41263
41264 2009-10-09  Eric Blake  <ebb9@byu.net>
41265
41266         dup2: work around FreeBSD 6.1 bug
41267         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41268         * doc/posix-functions/dup2.texi (dup2): Document it.
41269         Reported by Nelson H. F. Beebe and Jim Meyering.
41270
41271         test-stat-time: port to buggy NFS clients
41272         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41273         (test_ctime): Also skip test if mtime and ctime are skewed.
41274
41275         maint: prefer 'file system' over 'filesystem'
41276         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41277         * doc/posix-functions/lstat.texi (lstat): Likewise.
41278         * lib/file-has-acl.c (file_has_acl): Likewise.
41279         * lib/fwriteerror.c [TEST]: Likewise.
41280         * tests/test-areadlink.h (test_areadlink): Likewise.
41281         * tests/test-areadlinkat-with-size.c (main): Likewise.
41282         * tests/test-areadlinkat.c (main): Likewise.
41283         * tests/test-canonicalize-lgpl.c (main): Likewise.
41284         * tests/test-canonicalize.c (main): Likewise.
41285         * tests/test-fstatat.c (main): Likewise.
41286         * tests/test-linkat.c (main): Likewise.
41287         * tests/test-lstat.h (test_lstat_func): Likewise.
41288         * tests/test-mkdir.h (test_mkdir): Likewise.
41289         * tests/test-readlink.h (test_readlink): Likewise.
41290         * tests/test-remove.c (main): Likewise.
41291         * tests/test-rename.h (test_rename): Likewise.
41292         * tests/test-renameat.c (main): Likewise.
41293         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41294         * tests/test-symlink.h (test_symlink): Likewise.
41295         * tests/test-symlinkat.c (main): Likewise.
41296         * tests/test-unlink.h (test_unlink_func): Likewise.
41297         * tests/test-unlinkat.c (main): Likewise.
41298
41299         maint: make realtime library usage explicit
41300         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41301         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41302         * modules/settime (Link): Likewise.
41303         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41304
41305         test-stat-time: speed up execution
41306         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41307         warning on mingw.
41308         (nap): New helper function.
41309         (prepare_test): Use it to reduce sleep time.
41310         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41311         execution.
41312         * modules/stat-time-tests (configure.ac): Check for usleep.
41313
41314 2009-10-09  Jim Meyering  <meyering@redhat.com>
41315
41316         selinux-h: always use getfilecon wrappers
41317         * lib/getfilecon.c: New file.
41318         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41319         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41320         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41321         (fgetfilecon): Provide a stub.
41322         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41323         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41324         file unconditionally.
41325         When <selinux/selinux.h> is found, arrange to use wrappers.
41326         * modules/selinux-h (Files): Add getfilecon.c.
41327         (Makefile.am): Substitute include-next-related bits
41328         into the now-always-generated selinux/selinux.h file.
41329         * doc/glibc-functions/lgetfilecon.texi: New file.
41330         * doc/glibc-functions/fgetfilecon.texi: New file.
41331         * doc/glibc-functions/getfilecon.texi: New file.
41332         * doc/glibc-functions/getfilecon-desc.texi: New file.
41333         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41334         which to pull in the new files.
41335         * MODULES.html.sh (Misc): Add selinux-h.
41336
41337 2009-10-08  Jim Meyering  <meyering@redhat.com>
41338
41339         unistd: fix comment typo
41340         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41341
41342 2009-10-08  Eric Blake  <ebb9@byu.net>
41343
41344         areadlink: use SIZE_MAX consistently
41345         * modules/areadlink (Depends-on): Add stdint.
41346         * modules/areadlink-with-size (Depends-on): Likewise.
41347         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41348         gives NULL; drop sys/types, since unistd gives size_t; and add
41349         stdint for SIZE_MAX.
41350         (SIZE_MAX): Rely on headers.
41351         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41352         and add stdint.
41353         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41354         (SIZE_MAX): Likewise.
41355         (INITIAL_BUF_SIZE): Turn into enum.
41356         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41357
41358 2009-10-08  Jim Meyering  <meyering@redhat.com>
41359
41360         areadlinkat: avoid compilation failure
41361         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41362         Fix typo in comment.
41363
41364 2009-10-07  Eric Blake  <ebb9@byu.net>
41365
41366         areadlinkat-with-size: new module
41367         * modules/areadlinkat-with-size: New module.
41368         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41369         * lib/areadlink.h (areadlinkat): Declare it.
41370         * MODULES.html.sh (File system functions): Mention it.
41371         * modules/areadlinkat-with-size-tests: New test.
41372         * tests/test-areadlinkat-with-size.c: New file.
41373
41374         xreadlinkat: new module
41375         * modules/xreadlinkat: New module.
41376         * lib/xreadlinkat.c (xreadlinkat): New file.
41377         * lib/xreadlink.h (xreadlinkat): Declare it.
41378         * MODULES.html.sh (File system functions): Mention it.
41379
41380         areadlinkat: new module
41381         * lib/at-func.c (FUNC_FAIL): New define.
41382         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41383         * modules/areadlinkat: New module.
41384         * lib/linkat.c (areadlinkat): Move...
41385         * lib/areadlinkat.c (areadlinkat): ...to new file.
41386         * lib/areadlink.h (areadlinkat): Declare it.
41387         * modules/linkat (Depends-on): Add areadlinkat.
41388         * MODULES.html.sh (File system functions): Mention it.
41389         * modules/areadlinkat-tests: New test.
41390         * tests/test-areadlinkat.c: New file.
41391
41392         areadlink, areadlink-with-size: add tests
41393         * modules/areadlink-tests: New test.
41394         * modules/areadlink-with-size-tests: Likewise.
41395         * tests/test-areadlink.h: New file.
41396         * tests/test-areadlink.c: Likewise.
41397         * tests/test-areadlink-with-size.c: Likewise.
41398
41399         maint: minor cleanups
41400         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41401         _UNUSED_PARAMETER_ instead.
41402         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41403         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41404         * modules/linkat-tests (Files): Distribute test-link.h.
41405
41406         openat, utimens: whitespace cleanup
41407         * lib/openat.c: Prefer space throughout, rather than mix of 8
41408         spaces vs. tabs.
41409         * lib/at-func.c: Likewise.
41410         * lib/utimens.c: Likewise.
41411
41412         openat: avoid using wrong fd
41413         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41414         working directory chooses same fd.
41415         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41416
41417         mkdir, mkdirat: fix cygwin 1.5.x bug
41418         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41419         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41420         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41421         bug.
41422         (gl_PREREQ_MKDIR): Delete unused macro.
41423         * modules/mkdir (Files): Track file rename.
41424         (configure.ac): Update macro name.
41425         * modules/openat (Depends-on): Add mkdir.
41426         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41427
41428         mkdir, mkdirat: add tests
41429         * modules/mkdir-tests: New test.
41430         * tests/test-mkdir.h: New file.
41431         * tests/test-mkdir.c: Likewise.
41432         * tests/test-mkdirat.c: Likewise.
41433         * modules/openat-tests (Files): Add new files.
41434         (Makefile.am): Run new test.
41435
41436 2009-10-06  Eric Blake  <ebb9@byu.net>
41437
41438         doc: tweak *at function documentation
41439         * doc/posix-functions/faccessat.texi (faccessat): Mention
41440         known issue with replacement.
41441         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41442         * doc/posix-functions/linkat.texi (linkat): Likewise.
41443         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41444         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41445         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41446         * doc/posix-functions/renameat.texi (renameat): Likewise.
41447         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41448
41449         openat: fix GNU/Hurd bug in unlinkat
41450         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41451         broken.
41452         * doc/posix-functions/unlink.texi (unlink): Document this.
41453         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41454
41455         fdopendir: fix GNU/Hurd bug
41456         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41457         allowing non-directory fds.
41458         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41459         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41460         * modules/dirent (Makefile.am): Substitute it.
41461         * lib/dirent.in.h (fdopendir): Declare replacement.
41462         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41463         * tests/test-fdopendir.c (main): Test something other than
41464         /dev/null, since on Hurd that behaves like a directory.
41465
41466         test-symlink: port to GNU/Hurd
41467         * tests/test-symlink.h (test_symlink): Relax expected errno.
41468
41469         doc: tweak more cygwin information
41470         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41471         now compatible with glibc.
41472         * doc/posix-functions/getopt.texi (getopt): Likewise.
41473
41474         getopt-gnu: add another test
41475         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41476         guarantee behavior relied on by m4.
41477         * tests/test-getopt.c (main): Use it.
41478         * modules/getopt-posix-tests (Depends-on): Add setenv.
41479         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41480
41481         getopt: fix compilation on darwin
41482         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41483         include.
41484         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41485         Reported by Ludovic Courtès.
41486
41487 2009-10-06  Bruno Haible  <bruno@clisp.org>
41488
41489         * modules/size_max (Description): Discourage its use.
41490         Reported by Simon Josefsson.
41491
41492 2009-10-06  Jim Meyering  <meyering@redhat.com>
41493
41494         linkat: avoid compilation failure
41495         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41496
41497 2009-10-05  Eric Blake  <ebb9@byu.net>
41498
41499         linkat: support Linux 2.6.17
41500         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41501         linkat on Linux, but allow cache variable override.
41502         * lib/linkat.c (rpl_linkat): Define override.
41503         * modules/linkat (Depends-on): Add symlinkat.
41504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41505         * modules/unistd (Makefile.am): Substitute it.
41506         * lib/unistd.in.h (linkat): Declare replacement.
41507         Reported by Pádraig Brady.
41508
41509         quotearg: port test to systems with C.UTF-8 locale
41510         * tests/test-quotearg.c (struct result_strings): Add another
41511         member, differentiating between C.ASCII and C.UTF-8 handling.
41512         (compare_strings): Add parameter.
41513         (main): Adjust all callers.
41514
41515         getopt: avoid clash with FreeBSD _getopt_internal
41516         * lib/getopt.in.h (_getopt_internal): Override the name.
41517         * lib/getopt_int.h (includes): Pick up any overrides.
41518         Reported by Reuben Thomas.
41519
41520         hash: allow C89 compilation
41521         * lib/hash.c (check_tuning): Move declaration before statement.
41522         Reported by Reuben Thomas.
41523
41524 2009-10-05  Karl Berry  <karl@gnu.org>
41525
41526         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41527
41528 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41529             Bruno Haible  <bruno@clisp.org>
41530
41531         * lib/uname.c (uname): Use a table-driven algorithm to compute
41532         Windows NT versions.
41533
41534 2009-10-04  Bruno Haible  <bruno@clisp.org>
41535
41536         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41537         program_invocation_short_name.
41538         * modules/progname (configure.ac): Test for presence of
41539         program_invocation_short_name.
41540         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41541
41542 2009-10-04  Bruno Haible  <bruno@clisp.org>
41543
41544         * lib/progname.c (set_program_name): Fix comment.
41545         Reported by Jim Meyering.
41546
41547 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41548             Bruno Haible  <bruno@clisp.org>
41549
41550         * lib/uname.c: Include <string.h>.
41551         (uname): Do only one call to GetVersionEx in the common case.
41552
41553 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41554             Bruno Haible  <bruno@clisp.org>
41555
41556         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41557         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41558         (uname): Add support for Windows CE and various non-x86 CPU types.
41559
41560 2009-10-03  Bruno Haible  <bruno@clisp.org>
41561
41562         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41563         invocation to tests/configure.ac.
41564         Reported by Ian Beckwith <ianb@erislabs.net>.
41565
41566 2009-10-02  Eric Blake  <ebb9@byu.net>
41567
41568         fchdir: avoid compiler warning
41569         * lib/fchdir.c (canonicalize_file_name)
41570         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41571
41572         test-open: support mingw errno values
41573         * tests/test-open.h (test_open): Relax test.
41574         * tests/test-fopen.h (test_fopen): Likewise.
41575         * tests/test-openat-safer.c (main): Likewise.
41576
41577         open: fix opening directory on mingw
41578         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41579
41580         test-open: on GNU/Hurd, /dev/null is a directory
41581         * tests/test-fopen.h (main): Rename...
41582         (test_fopen): ...to this.  Use a guaranteed non-directory when
41583         confirming open behavior on trailing slash.
41584         * tests/test-openat-safer.c (main): Likewise.
41585         * tests/test-open.h (main): Likewise....
41586         (test_open): ...to this.
41587         * tests/test-fopen.c (main): Adjust caller.
41588         * tests/test-fopen-safer.c (main): Likewise.
41589         * tests/test-open.c (main): Likewise.
41590         * tests/test-fcntl-safer.c (main): Likewise.
41591         Reported by Samuel Thibault.
41592
41593         rename, fchdir: don't ignore chdir failure
41594         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41595         * lib/rename.c (rpl_rename) [W32]: Likewise.
41596         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41597         an empty destination directory if source cannot be renamed,
41598         although there is still possibility for failure.
41599         * doc/posix-functions/rename.texi (rename): Document the race.
41600         Reported by Jim Meyering.
41601
41602         maint: cleanup whitespace in recent commits
41603         * lib/rename.c (rpl_rename): Remove tabs.
41604         * tests/test-link.h (test_link): Likewise.
41605         * lib/fchdir.c (get_name): Likewise.
41606         Reported by Jim Meyering.
41607
41608 2009-10-02  Ben Pfaff  <blp@gnu.org>
41609
41610         relocatable-prog-wrapper: Add missing dependency on
41611         double-slash-root.
41612         * modules/relocatable-prog-wrapper: Add dependency.
41613         Reported by Ian Beckwith <ianb@erislabs.net>.
41614
41615 2009-10-02  Eric Blake  <ebb9@byu.net>
41616
41617         renameat: fix Solaris bugs
41618         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41619         needed fixing.
41620         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41621         * modules/stdio (Makefile.am): Substitute it.
41622         * lib/stdio.in.h (renameat): Declare replacement.
41623         * lib/renameat.c (rpl_renameat): Implement fix.
41624
41625         renameat: new module
41626         * modules/renameat: New file.
41627         * lib/renameat.c (renameat): Likewise.
41628         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41630         * modules/stdio (Makefile.am): Substitute them.
41631         * lib/stdio.in.h (renameat): Declare it.
41632         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41633         * doc/posix-functions/renameat.texi (renameat): Likewise.
41634         * modules/renameat-tests: New test.
41635         * tests/test-renameat.c: Likewise.
41636
41637         rename: fix mingw bugs
41638         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41639         directory overwrite bugs.
41640
41641         rename: fix another cygwin 1.5 bug
41642         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41643         checks.
41644         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41645         unnecessary cygwin workarounds.  Also work around bug with moving
41646         full directory onto an empty one.
41647         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41648
41649         rename-dest-slash: merge into rename module
41650         * modules/rename-dest-slash (Status): Mark obsolete.
41651         (Depends-on): Add rename.
41652         (Files): Let rename do it all.
41653         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41654         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41655         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41656         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41657         * lib/rename.c (rpl_rename): Update comments.
41658
41659         rename: fix cygwin 1.5.x bugs
41660         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41661         * lib/rename.c (rpl_rename): Work around them.
41662         * modules/rename (Depends-on): Add same-inode.
41663
41664         rename: fix Solaris 10 bug
41665         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41666         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
41667         was the only bug.
41668
41669         rename: fix Solaris 9 bug
41670         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
41671         on non-directory.  Avoid calling exit.
41672         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
41673         strdup.
41674         * modules/rename-tests (Depends-on): Drop lstat.
41675         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41676         (gl_PREREQ_RENAME): Delete unused macro.
41677
41678         rename-dest-slash: fix NetBSD bug
41679         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
41680         links.
41681         * modules/rename-dest-slash (Depends-on): Add same-inode.
41682
41683         rename-tests: new test, exposes several platform bugs
41684         * modules/rename-tests: New file.
41685         * tests/test-rename.h: Likewise.
41686         * tests/test-rename.c: Likewise.
41687         * doc/posix-functions/rename.texi (rename): Improve documentation,
41688         including bugs that will eventually be fixed in gnulib.
41689
41690 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41691
41692         * lib/uname.c: Include <stdlib.h>
41693         (uname): Assume version info is available.
41694
41695 2009-10-02  Jim Meyering  <meyering@redhat.com>
41696
41697         gnu-web-doc-update: correct --help output
41698         * build-aux/gnu-web-doc-update: Make --help output relevant.
41699
41700         gnu-web-doc-update: add standard options
41701         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41702
41703         gnu-web-doc-update: New module.
41704         Use this script to automatically update the on-line web documentation
41705         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41706         * modules/gnu-web-doc-update: New file, from coreutils.
41707         * build-aux/gnu-web-doc-update: New script.
41708
41709 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41710
41711         link: LoadLibrary is not needed.
41712         * lib/link.c: Use GetModuleHandle.
41713
41714 2009-10-01  Eric Blake  <ebb9@byu.net>
41715
41716         getopt: bump serial number
41717         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41718         change.
41719
41720         tests: tighten link, rmdir, and remove tests
41721         * tests/test-link.h (includes): No need to use <config.h> here.
41722         Clean up if directory hard link was created, otherwise test for
41723         trailing '.'.
41724         * tests/test-linkat.c (main): Simplify.
41725         * tests/test-remove.c (main): Enhance test for trailing '.'.
41726         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41727
41728 2009-10-01  Jim Meyering  <meyering@redhat.com>
41729
41730         maint.mk: requiring "make major" was annoying, for a "minor" release.
41731         What is intended is "stable", to contrast with alpha and beta,
41732         so require "make stable", not "make major".
41733         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41734         (get_tool_versions): Likewise.
41735         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41736
41737 2009-09-30  Ben Pfaff  <blp@gnu.org>
41738
41739         Fix broken build of replacement for Windows tmpfile().
41740         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41741         flags argument added along with the 'mkostemp' module.
41742
41743 2009-09-28  Bruno Haible  <bruno@clisp.org>
41744
41745         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41746         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41747         to 'remove_elt'.
41748         (gl_list_remove): Update.
41749         * lib/gl_list.c (gl_list_remove): Update.
41750         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41751         to 'remove_elt'.
41752         (gl_oset_remove): Update.
41753         * lib/gl_list.c (gl_oset_remove): Update.
41754         Reported by Eric Blake.
41755
41756 2009-09-28  Eric Blake  <ebb9@byu.net>
41757
41758         doc: mention yet more cygwin 1.7 status
41759         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41760         cygwin.
41761         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41762         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41763
41764         argp: fix test failure
41765         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41766         that are not upper-case.  Pass correct range to tolower.
41767
41768 2009-09-27  Jim Meyering  <meyering@redhat.com>
41769
41770         test-yesno: work around sparc-dash here-document infelicity
41771         Without this change, the literal \177 byte in a here document
41772         would make dash 0.5.5.1-3 access uninitialized memory.
41773         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41774         Instead, use a marker, "@", and filter through tr to create the desired
41775         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41776
41777 2009-09-27  Bruno Haible  <bruno@clisp.org>
41778
41779         Disable untested support for new flavours of ACLs on AIX.
41780         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41781         progress.
41782         * lib/set-mode-acl.c (qset_acl): Likewise.
41783
41784 2008-12-07  Bruno Haible  <bruno@clisp.org>
41785
41786         Add support for new flavours of ACLs on AIX. (Untested.)
41787         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41788         (file_has_acl): Add support for newer AIX.
41789         * lib/set-mode-acl.c (qset_acl): Likewise.
41790         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41791         Rainer Tammer <tammer@tammer.net>.
41792
41793 2009-09-26  Eric Blake  <ebb9@byu.net>
41794
41795         argp: fix compilation of getopt
41796         * lib/getopt.in.h (includes): Use different guard than glibc.
41797         Reported by Sergey Poznyakoff.
41798
41799         doc: mention more cygwin 1.7 status
41800         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41801         bug.
41802         * doc/posix-functions/execl.texi (execl): Likewise.
41803         * doc/posix-functions/execle.texi (execle): Likewise.
41804         * doc/posix-functions/execlp.texi (execlp): Likewise.
41805         * doc/posix-functions/execv.texi (execv): Likewise.
41806         * doc/posix-functions/execve.texi (execve): Likewise.
41807         * doc/posix-functions/execvp.texi (execvp): Likewise.
41808         * doc/glibc-functions/canonicalize_file_name.texi
41809         (canonicalize_file_name): Cygwin 1.7 now provides this.
41810         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41811         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41812         on AT_SYMLINK_NOFOLLOW.
41813
41814 2009-09-24  Eric Blake  <ebb9@byu.net>
41815
41816         test-linkat: make test more robust
41817         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41818
41819         getopt: fix inclusion guards for cygwin
41820         * modules/getopt-posix (Depends-on): Add include-next.
41821         (Makefile.am): Substitute more items in replacement header.
41822         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41823         <getopt.h>.
41824         * lib/getopt.in.h (includes): Use split inclusion guard, and
41825         prefer <getopt.h> over include <unistd.h> when one is present.
41826         (option): Also override name of 'struct option'.
41827
41828         same-inode: revert prior change; it is not yet ready
41829         * NEWS: Undo mention of this change.
41830         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41831         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41832         * lib/cycle-check.c (cycle_check): Likewise.
41833         * lib/same.c (same_name): Likewise.
41834         * lib/at-func2.c (at_func2): Likewise.
41835
41836 2009-09-23  Eric Blake  <ebb9@byu.net>
41837
41838         linkat: new module
41839         * modules/linkat: New file.
41840         * lib/at-func2.c (at_func2): Likewise.
41841         * lib/linkat.c (linkat): Likewise.
41842         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41843         * lib/openat-priv.h (at_func2): Add declaration.
41844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41845         * modules/unistd (Makefile.am): Substitute them.
41846         * lib/unistd.in.h (linkat): Declare it.
41847         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41848         * doc/posix-functions/linkat.texi (linkat): Likewise.
41849         * doc/posix-functions/link.texi (link): Tweak wording.
41850         * tests/test-link.c (main): Move guts...
41851         * tests/test-link.h (test_link): ...into new file.
41852         * modules/linkat-tests: New test.
41853         * tests/test-linkat.c: Likewise.
41854         * modules/link-tests (Files): Ship new file.
41855         (Depends-on): Add stdbool.
41856
41857         dirname: add library-safe mdir_name
41858         * lib/dirname.h (mdir_name): New prototype.
41859         * lib/dirname.c (dir_name): Move guts...
41860         (mdir_name): ...to new function that avoids xalloc_die.
41861
41862         fchdir: another mingw fix
41863         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41864         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41865         on mingw (where it has not yet been ported), and make it optional
41866         elsewhere.
41867         (_gl_register_fd): Use it.
41868
41869         same-inode: make SAME_INODE tri-state, to port to mingw
41870         * NEWS: Mention this change.
41871         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41872         st_ino always being 0.
41873         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41874         * lib/cycle-check.c (cycle_check): Likewise.
41875         * lib/same.c (same_name): Likewise.
41876
41877         lstat: avoid mingw compilation error
41878         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41879         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41880         lstat ourselves.
41881         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41882         was adequate.
41883         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41884         the checks for lstat.
41885         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41886
41887         link: fix test failure on Solaris 9
41888         * lib/link.c (rpl_link): Don't assume link will catch bogus
41889         trailing slash on source.
41890
41891         test-symlinkat: enhance test
41892         * tests/test-readlink.c (main): Move guts...
41893         * tests/test-readlink.h (test_readlink): ...into new file.
41894         * tests/test-symlink.c (main): Move guts...
41895         * tests/test-symlink.h (test_symlink): ...into new file.
41896         * tests/test-symlinkat.c (main): Use new files for further
41897         coverage.
41898         (do_symlink, do_readlink): New helper functions.
41899         * modules/symlink-tests (Files): Ship new file.
41900         (Depends-on): Add stdbool.
41901         * modules/readlink-tests (Files): Ship new file.
41902         (Depends-on): Add stdbool.
41903         * modules/symlinkat-tests (Files): Use new files.
41904
41905 2009-09-23  Eric Blake  <ebb9@byu.net>
41906
41907         readlink: document portability issue with symlink length
41908         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41909         systems have bogus st_size on symlinks, and mention the
41910         areadlink-with-size module.
41911         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41912         * doc/posix-functions/readlink.texi (readlink): Mention the
41913         areadlink module, and ERANGE failure.
41914         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41915         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41916
41917         readlink: fix Solaris 9 bug with trailing slash
41918         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41919         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41920         * doc/posix-functions/readlink.texi (readlink): Document this.
41921         * modules/readlink-tests: New test.
41922         * tests/test-readlink.c: Likewise.
41923
41924         readlink: fix cygwin 1.5.x bug with return type
41925         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41926         * lib/unistd.in.h (readlink): Use ssize_t.
41927         * lib/readlink.c (readlink): Likewise.
41928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41929         * modules/unistd (Makefile.am): Substitute it.
41930         * lib/unistd.in.h (readlink): Declare replacement.
41931         * doc/posix-functions/readlink.texi (readlink): Document this.
41932
41933         symlink: use throughout gnulib
41934         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41935         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41936         symlink is not used.
41937         * modules/symlinkat (Depends-on): Add symlink.
41938         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41939         * modules/canonicalize-tests (Depends-on): Likewise.
41940         * modules/lstat-tests (Depends-on): Likewise.
41941         * modules/openat-tests (Depends-on): Likewise.
41942         * modules/remove-tests (Depends-on): Likewise.
41943         * modules/rmdir-tests (Depends-on): Likewise.
41944         * modules/unlink-tests (Depends-on): Likewise.
41945         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41946         * tests/test-canonicalize.c (symlink): Likewise.
41947         * tests/test-fstatat.c (symlink): Likewise.
41948         * tests/test-lstat.c (symlink): Likewise.
41949         * tests/test-remove.c (symlink): Likewise.
41950         * tests/test-rmdir.c (symlink): Likewise.
41951         * tests/test-unlink.c (symlink): Likewise.
41952         * tests/test-unlinkat.c (symlink): Likewise.
41953
41954         symlink: new module, for Solaris 9 bug
41955         * modules/symlink: New file.
41956         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41957         * lib/symlink.c: Likewise.
41958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41959         * modules/unistd (Makefile.am): Substitute them.
41960         * lib/unistd.in.h (symlink): Declare replacement.
41961         * MODULES.html.sh (File system functions): Mention it.
41962         * doc/posix-functions/symlink.texi (symlink): Likewise.
41963         * modules/symlink-tests: New test.
41964         * tests/test-symlink.c: Likewise.
41965
41966 2009-09-23  Bruno Haible  <bruno@clisp.org>
41967
41968         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41969         when needed.
41970         Test case: gnulib-tool --import --with-tests atexit inttypes.
41971         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41972
41973 2009-09-23  Bruno Haible  <bruno@clisp.org>
41974
41975         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41976         subcommand, not in a subshell.
41977
41978 2009-09-22  Eric Blake  <ebb9@byu.net>
41979
41980         unistd: sort replacement declarations
41981         * lib/unistd.in.h: Sort declarations.
41982
41983         open, openat: minor optimization
41984         * lib/open.c (open): If open succeeded, len is non-zero.
41985         * lib/openat.c (rpl_openat): Likewise.
41986
41987         link-follow: ensure correct result
41988         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41989         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41990         distinguish between possible failures.
41991
41992 2009-09-21  Eric Blake  <ebb9@byu.net>
41993
41994         fts: avoid compiler warning
41995         * lib/fts.c (dirent_inode_sort_may_be_useful)
41996         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
41997
41998 2009-09-19  Bruno Haible  <bruno@clisp.org>
41999
42000         * lib/progreloc.c (canonicalize_file_name): New declaration.
42001
42002 2009-09-19  Eric Blake  <ebb9@byu.net>
42003
42004         link: fix quoting
42005         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42006
42007         openat: fix openat bugs on Solaris 9
42008         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42009         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42010         * modules/openat (Depends-on): Add open.
42011         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42012         * modules/fcntl-h (Makefile.am): Substitute it.
42013         * lib/fcntl.in.h (openat): Declare replacement.
42014         * doc/posix-functions/openat.texi (openat): Document this.
42015
42016         openat: move fstatat and unlinkat into correct files
42017         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42018         compiled.
42019         * lib/openat.c (fstatat, unlinkat): Move...
42020         * lib/fstatat.c (fstatat): ...into correct files.
42021         * lib/unlinkat.c (unlinkat): Likewise.
42022
42023         openat: fix unlinkat bugs on Solaris 9
42024         * lib/unlinkat.c (unlinkat): New file.
42025         * modules/openat (Depends-on): Add unlink.
42026         (Files): Distribute it.
42027         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42028         trailing slash behavior is broken.
42029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42030         * modules/unistd (Makefile.am): Substitute it.
42031         * lib/unistd.in.h (unlinkat): Declare replacement.
42032         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42033
42034         openat: fix fstatat bugs on Solaris 9
42035         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42036         stat.
42037         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42038
42039         test-unlinkat: enhance test, to expose Solaris 9 bug
42040         * tests/test-unlink.c (main): Factor guts...
42041         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42042         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42043         * tests/test-rmdir.c (main): Adjust caller.
42044         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42045         (unlinker): New helper function.
42046         (rmdirat): Enhance check.
42047         * modules/rmdir-tests (Depends-on): Add stdbool.
42048         * modules/unlink-tests (Depends-on): Likewise.
42049         (Files): Add test-unlink.h.
42050         * modules/openat-tests (Files): Likewise.
42051         (Depends-on): Add unlinkdir.
42052
42053         test-fstatat: new test, to expose Solaris 9 bugs
42054         * tests/test-stat.c (main): Factor guts...
42055         * tests/test-stat.h (test_stat_func): ...into new file.
42056         * tests/test-lstat.c (main): Factor guts...
42057         * tests/test-lstat.h (test_lstat_func): ...into new file.
42058         * tests/test-fstatat.c: New file.
42059         * modules/stat-tests (Files): Add test-stat.h.
42060         * modules/lstat-tests (Files): Add test-lstat.h.
42061         (Depends-on): Add stdbool.
42062         * modules/openat-tests (Depends-on): Add pathmax.
42063         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42064         (Makefile.am): Run new test.
42065
42066         remove: new module, for mingw and Solaris 9 bugs
42067         * modules/remove: New file.
42068         * lib/remove.c: Likewise.
42069         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42071         * modules/stdio (Makefile.am): Use them.
42072         * lib/stdio.in.h (remove): Declare replacement.
42073         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42074         * doc/posix-functions/remove.texi (remove): Likewise.
42075         * modules/remove-tests: New test.
42076         * tests/test-remove.c: Likewise.
42077
42078         unlink: new module, for Solaris 9 bug
42079         * modules/unlink: New file.
42080         * lib/unlink.c: Likewise.
42081         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42083         * modules/unistd (Makefile.am): Use them.
42084         * lib/unistd.in.h (stat): Declare replacement.
42085         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42086         * doc/posix-functions/unlink.texi (unlink): Likewise.
42087         * modules/unlink-tests: New test.
42088         * tests/test-unlink.c: Likewise.
42089
42090         lstat: fix Solaris 9 bug
42091         * lib/lstat.c (lstat): Also check for trailing slash on
42092         non-symlink, non-directories.  Use stat module to simplify logic.
42093         * doc/posix-functions/lstat.texi (lstat): Document it.
42094         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42095         (configure.ac): Check for symlink.
42096         * tests/test-lstat.c (main): Add more tests.
42097
42098         stat: add as dependency to other modules
42099         * modules/chown (Depends-on): Add stat.
42100         * modules/euidaccess (Depends-on): Likewise.
42101         * modules/fchdir (Depends-on): Likewise.
42102         * modules/isdir (Depends-on): Likewise.
42103         * modules/link (Depends-on): Likewise.
42104         * modules/lstat (Depends-on): Likewise.
42105         * modules/mkdir-p (Depends-on): Likewise.
42106         * modules/modechange (Depends-on): Likewise.
42107         * modules/open (Depends-on): Likewise.
42108         * modules/readlink (Depends-on): Likewise.
42109         * modules/same (Depends-on): Likewise.
42110
42111         stat: fix Solaris 9 bug
42112         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42113         slash.
42114         * lib/stat.c (rpl_stat): Work around it.
42115         * doc/posix-functions/stat.texi (stat): Update documentation.
42116
42117         stat: new module, for mingw bug
42118         * modules/stat: New file.
42119         * lib/stat.c: Likewise.
42120         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42121         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42122         * modules/sys_stat (Makefile.am): Use them.
42123         * lib/sys_stat.in.h (stat): Declare replacement.
42124         * lib/openat.c (fstatat): Deal with lstat and stat being function
42125         macros.
42126         * modules/openat (Depends-on): Add inline.
42127         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42128         * doc/posix-functions/stat.texi (stat): Likewise.
42129         * modules/stat-tests: New test.
42130         * tests/test-stat.c: Likewise.
42131
42132 2009-09-19  Jim Meyering  <meyering@redhat.com>
42133
42134         syntax-check: detect unnecessary inclusion of canonicalize.h
42135         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42136
42137 2009-09-19  Eric Blake  <ebb9@byu.net>
42138
42139         canonicalize-lgpl: adjust clients to use correct header
42140         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42141         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42142         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42143         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42144         * lib/progreloc.c (includes): Likewise.
42145
42146 2009-09-19  Jim Meyering  <meyering@redhat.com>
42147
42148         test-posixtm.c: correct a comment
42149         * tests/test-posixtm.c: Correct first-line comment.
42150         Spotted by Eric Blake.
42151
42152 2009-09-16  Jim Meyering  <meyering@redhat.com>
42153
42154         posixtm-tests: make T const-correct; add a test case
42155         * tests/test-posixtm.c (T): Declare const.
42156         Add a test for -(2^31+1).
42157         Remove useless can-succeed-only-in-2002 test.
42158
42159         posixtm-tests: adjust the sole failing test
42160         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42161         expected output matches what mktime now produces.  Cross-checked via
42162         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42163
42164         posixtm: move #ifdef'd tests into a new module
42165         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42166         * tests/test-posixtm.c: ... this new file.
42167         * modules/posixtm-tests: New module.
42168
42169 2009-09-19  Eric Blake  <ebb9@byu.net>
42170
42171         openat: simplify use of at-func.c
42172         * lib/at-func.c (includes): Include prerequisites here, to
42173         simplify requirements on client files.
42174         * lib/openat-priv.h: Add double-inclusion guard.
42175         * lib/faccessat.c (includes): Simplify.
42176         * lib/fchmodat.c (includes): Likewise.
42177         * lib/fchownat.c (includes): Likewise.
42178         * lib/mkdirat.c (includes): Likewise.
42179         * lib/mkfifoat.c (includes): Likewise.
42180         * lib/symlinkat.c (includes): Likewise.
42181
42182         openat: allow return of fd 0
42183         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42184         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42185         unistd-safer.
42186         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42187         <fcntl.h>; this module does not leak fds.
42188         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42189         must be allowed to return 0, leaving openat_safer to add the
42190         safety.
42191         (openat_permissive): Avoid writing to just-opened fd 2 if
42192         restoring the current directory fails.
42193         * lib/openat-die.c (openat_restore_fail): Add comment.
42194         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42195         (save_cwd): Guarantee safe fd, but without use of open_safer.
42196         * tests/test-openat.c: New test.
42197         * modules/openat-tests (Files, Makefile.am): Distribute and build
42198         new file.
42199
42200         relocatable-prog-wrapper: fix build
42201         * modules/relocatable-prog-wrapper (Files): Update name of
42202         canonicalize m4 file, broken on 2009-09-17.
42203         Reported by emad hajjar <aleppos@hotmail.com>.
42204
42205 2009-09-19  Bruno Haible  <bruno@clisp.org>
42206
42207         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42208         * lib/safe-alloc.c: Likewise.
42209         Reported by Ian Beckwith <ianb@erislabs.net>.
42210
42211 2009-09-18  Bruno Haible  <bruno@clisp.org>
42212
42213         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42214         Reported by <erobles@sensacd.com.mx>.
42215
42216 2009-09-17  Eric Blake  <ebb9@byu.net>
42217
42218         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42219         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42220         slashes when checking if last component is missing.
42221         * tests/test-canonicalize.c (main): Test this.
42222
42223         canonicalize, canonicalize-lgpl: honor // if distinct from /
42224         * modules/canonicalize (Files): Add double-slash-root.m4.
42225         * modules/canonicalize-lgpl (Files): Likewise.
42226         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42227         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42228         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42229         fallback definition.
42230         (canonicalize_filename_mode): Use it to protect //.
42231         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42232         (__realpath): Likewise.
42233         * tests/test-canonicalize.c (main): Test this.
42234         * tests/test-canonicalize-lgpl.c (main): Likewise.
42235         * modules/canonicalize-tests (Depends-on): Add same-inode.
42236         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42237
42238         canonicalize-lgpl: fix glibc bug with trailing slash
42239         * m4/canonicalize-lgpl.m4: Move contents...
42240         * m4/canonicalize.m4: ...here.
42241         (gl_CANONICALIZE_LGPL): Factor realpath check...
42242         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42243         glibc 2.3.5 bug, fixed 2005-04-27.
42244         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42245         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42246         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42247         * modules/canonicalize-lgpl (Files): Manage file rename.
42248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42249         * modules/stdlib (Makefile.am): Substitute witness.
42250         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42251         is needed.
42252         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42253         replacement is required.
42254         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42255         * doc/glibc-functions/canonicalize_file_name.texi
42256         (canonicalize_file_name): Document this.
42257         * doc/posix-functions/realpath.texi (realpath): Likewise.
42258
42259         canonicalize-lgpl: reject non-directory with trailing slash
42260         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42261         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42262         catches failures in glibc 2.3.5.
42263         * tests/test-canonicalize.c (main): Likewise.
42264
42265         canonicalize-lgpl: use native realpath if it works
42266         * lib/canonicalize-lgpl.c (realpath): Guard with
42267         FUNC_REALPATH_WORKS.
42268         * lib/stdlib.in.h (realpath): Make declaration optional based on
42269         HAVE_REALPATH.
42270         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42271         native realpath works.
42272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42273         * modules/stdlib (Makefile.am): Substitute witness.
42274
42275         canonicalize, canonicalize-lgpl: use <stdlib.h>
42276         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42277         (Include): Mention <stdlib.h>.
42278         (configure.ac): Mention functions we provide.
42279         * modules/canonicalize (configure.ac): Likewise.
42280         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42281         realpath if canonicalize_file_name is missing.
42282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42283         * modules/stdlib (Makefile.am): Substitute witnesses.
42284         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42285         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42286         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42287         * NEWS: Document this.
42288         * doc/glibc-functions/canonicalize_file_name.texi
42289         (canonicalize_file_name): Likewise.
42290         * doc/posix-functions/realpath.texi (realpath): Likewise.
42291         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42292
42293         test-canonicalize: consolidate into single C program
42294         * tests/test-canonicalize.sh: Delete; move setup into...
42295         * tests/test-canonicalize.c (main): ...the program, making it
42296         easier to run in debugger.  Add some tests.
42297         * modules/canonicalize-tests (Files): Remove unused file.
42298         (Depends-on): Add progname.
42299         (configure.ac, Makefile.am): Simplify.
42300
42301         test-canonicalize-lgpl: consolidate into single C program
42302         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42303         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42304         easier to run in debugger.  Add some tests.
42305         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42306         (configure.ac, Makefile.am): Simplify.
42307
42308         canonicalize: avoid resolvepath
42309         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42310         unnecessary checks.
42311         * lib/canonicalize.c (includes): Simplify.
42312         (canonicalize_file_name): Drop resolvepath implementation.
42313         * modules/canonicalize (Depends-on): Drop filenamecat.
42314
42315         canonicalize: don't lose errno
42316         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42317         over calls to free.
42318
42319         canonicalize: simplify errno handling
42320         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42321         assignment.
42322
42323         canonicalize, canonicalize-lgpl: update module dependencies
42324         * modules/canonicalize (Depends-on): Add extensions, lstat,
42325         pathmax, stdlib.
42326         (Files): Drop pathmax.h.
42327         (configure.ac): Adjust macro name.
42328         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42329         lstat, stdlib, sys_stat.
42330         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42331         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42332         extensions.
42333         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42334         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42335         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42336         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42337         declaration, if available.
42338         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42339         we can rely on the readlink module.
42340         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42341         (includes): Use <unistd.h> unconditionally.
42342
42343 2009-09-17  Eric Blake  <ebb9@byu.net>
42344
42345         maint: make Include sections of modules consistent
42346         * modules/alloca: Use only header name; no need to list #include.
42347         * modules/alloca-opt: Likewise.
42348         * modules/arpa_inet: Likewise.
42349         * modules/canon-host: Likewise.
42350         * modules/configmake: Likewise.
42351         * modules/dirent: Likewise.
42352         * modules/eealloc: Likewise.
42353         * modules/environ: Likewise.
42354         * modules/fchdir: Likewise.
42355         * modules/fcntl: Likewise.
42356         * modules/fcntl-h: Likewise.
42357         * modules/gethrxtime: Likewise.
42358         * modules/gettime: Likewise.
42359         * modules/ignore-value: Likewise.
42360         * modules/inet_ntop: Likewise.
42361         * modules/inet_pton: Likewise.
42362         * modules/inttypes: Likewise.
42363         * modules/isnand-nolibm: Likewise.
42364         * modules/isnanf-nolibm: Likewise.
42365         * modules/mbchar: Likewise.
42366         * modules/mbfile: Likewise.
42367         * modules/mbiter: Likewise.
42368         * modules/mbuiter: Likewise.
42369         * modules/netdb: Likewise.
42370         * modules/netinet_in: Likewise.
42371         * modules/nproc: Likewise.
42372         * modules/pagealign_alloc: Likewise.
42373         * modules/poll: Likewise.
42374         * modules/printf-frexp: Likewise.
42375         * modules/pthread: Likewise.
42376         * modules/putenv: Likewise.
42377         * modules/random_r: Likewise.
42378         * modules/relocatable-prog: Likewise.
42379         * modules/search: Likewise.
42380         * modules/select: Likewise.
42381         * modules/selinux-h: Likewise.
42382         * modules/settime: Likewise.
42383         * modules/signal: Likewise.
42384         * modules/size_max: Likewise.
42385         * modules/socklen: Likewise.
42386         * modules/ssize_t: Likewise.
42387         * modules/stdarg: Likewise.
42388         * modules/stdbool: Likewise.
42389         * modules/stddef: Likewise.
42390         * modules/stdint: Likewise.
42391         * modules/stdio: Likewise.
42392         * modules/stdlib: Likewise.
42393         * modules/string: Likewise.
42394         * modules/strings: Likewise.
42395         * modules/sys_file: Likewise.
42396         * modules/sys_ioctl: Likewise.
42397         * modules/sys_select: Likewise.
42398         * modules/sys_socket: Likewise.
42399         * modules/sys_stat: Likewise.
42400         * modules/sys_time: Likewise.
42401         * modules/sys_times: Likewise.
42402         * modules/sys_utsname: Likewise.
42403         * modules/sys_wait: Likewise.
42404         * modules/sysexits: Likewise.
42405         * modules/time: Likewise.
42406         * modules/times: Likewise.
42407         * modules/tmpfile: Likewise.
42408         * modules/trim: Likewise.
42409         * modules/unistd: Likewise.
42410         * modules/wchar: Likewise.
42411         * modules/wctype: Likewise.
42412
42413 2009-09-17  Bruno Haible  <bruno@clisp.org>
42414
42415         Make getdate.y compile on QNX and NetBSD 5 / i386.
42416         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42417         TIME_T_FITS_IN_LONG_INT.
42418         * lib/getdate.y (long_time_t): New type.
42419         (relative_time): Change type of 'seconds' field to long_time_t.
42420         (get_date): Update types of local variables. Check against overflow
42421         during conversion from long_time_t to time_t.
42422         Reported by Matt Kraai <kraai@ftbfs.org>
42423         and Hasso Tepper <hasso@netbsd.org>.
42424
42425 2009-09-17  Bruno Haible  <bruno@clisp.org>
42426
42427         * modules/COPYING: Update copyright years.
42428         * modules/README: Likeiwse.
42429         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42430         Reported by Ian Beckwith <ianb@erislabs.net>.
42431
42432 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42433
42434         * users.txt: Update references for gnuit package.
42435
42436 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42437
42438         * m4/getdelim.m4: Fix typo in copyright line.
42439
42440 2009-09-17  Bruno Haible  <bruno@clisp.org>
42441
42442         * lib/atoll.c: Use the standard header with GPL copyright.
42443         * lib/argz.in.h: Likewise.
42444         * lib/glob.c: Likewise.
42445         * lib/glob-libc.h: Likewise.
42446         * lib/random_r.c: Likewise.
42447         * lib/siglist.h: Likewise.
42448         * lib/strsignal.c: Likewise.
42449         Reported by Ian Beckwith <ianb@erislabs.net>.
42450
42451 2009-09-17  Eric Blake  <ebb9@byu.net>
42452
42453         rmdir: ensure correct dependency order
42454         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42455
42456 2009-09-17  Bruno Haible  <bruno@clisp.org>
42457
42458         Disable assertion that fails on NetBSD 5 / i386.
42459         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42460         Reported by Sam Steingold <sds@gnu.org>
42461         and Hasso Tepper <hasso@netbsd.org>.
42462
42463 2009-09-16  Eric Blake  <ebb9@byu.net>
42464
42465         unlinkdir: port to mingw
42466         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42467         on which no one can unlink a directory.
42468
42469         stdlib: sort witness names
42470         * modules/stdlib (Makefile.am): Sort replacements.
42471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42472         * lib/stdlib.in.h: Likewise.
42473
42474         parse-duration-tests: avoid link failure
42475         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42476         LIBINTL.
42477         Reported by Tom G. Christensen.
42478
42479         openat-tests: ensure unlinkat behaves like rmdir
42480         * tests/test-rmdir.c (main): Factor guts...
42481         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42482         * modules/rmdir-tests (Files): Ship new file.
42483         * modules/openat-tests: New test.
42484         * tests/test-unlinkat.c: Likewise.
42485
42486         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42487         * modules/rmdir-errno (Status, Notice): Now obsolete.
42488
42489         rmdir: work around cygwin 1.5.x and mingw bugs
42490         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42491         * lib/rmdir.c (rmdir): Work around it.
42492         * modules/rmdir (Status, Notice): No longer obsolete.
42493         (Files): Add dos.m4.
42494         (Depends-on): Add unistd.
42495         (configure.ac): Set witnesses.
42496         (License): Relax to LGPLv2+.
42497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42498         * modules/unistd (Makefile.am): Substitute witnesses.
42499         * lib/unistd.in.h (rmdir): Declare replacement.
42500         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42501         * modules/rmdir-tests: New tests.
42502         * tests/test-rmdir.c: Likewise.
42503
42504 2009-09-15  Eric Blake  <ebb9@byu.net>
42505
42506         fchdir: improve use of replacement functions
42507         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42508         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42509         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42510         REPLACE_CLOSEDIR.
42511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42512         * modules/sys_stat (Makefile.am): Substitute correct witness.
42513         * modules/dirent (Makefile.am): Likewise.
42514         * modules/unistd (Makefile.am): Likewise.
42515         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42516         * lib/unistd.in.h (dup): Likewise.
42517         * lib/sys_stat.in.h (fstat): Likewise.
42518
42519         maint: ignore gnulib-tool temp files
42520         * .gitignore: Ignore files created during gnulib-tool --test.
42521
42522 2009-09-13  Jim Meyering  <meyering@redhat.com>
42523
42524         posixtm: don't reject a time that specify "60" as the number of seconds
42525         * lib/posixtm.c (posixtime): The code to reject invalid dates
42526         would also reject a time specified with the .60 suffix.
42527         But POSIX allows that, in order to accommodate leap seconds.
42528         So don't reject it.
42529         (main): Adjust tests accordingly.
42530         * modules/posixtm (Depends-on): Add stpcpy.
42531
42532 2009-09-11  Jim Meyering  <meyering@redhat.com>
42533
42534         announce-gen: include [$release_type] in emitted Subject:
42535         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42536         e.g., [stable] in the emitted Subject: line.
42537
42538 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42539
42540         Remove obsolete macros from several modules.
42541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42542         obsolete Autoconf macros with their modern counterparts.
42543         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42544         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42545         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42546         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42547         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42548         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42549         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42550         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42551         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42552         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42553         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42554         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42555         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42556         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42557         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42558         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42559         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42560         * m4/time_r.m4 (gl_TIME_R): Likewise.
42561         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42562         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42563         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42564
42565         Fix copyright header in build-aux scripts.
42566         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42567         recommendation.
42568         * build-aux/ncftpput-ftp: Likewise.
42569         * build-aux/update-copyright: Likewise.
42570
42571 2009-09-09  Eric Blake  <ebb9@byu.net>
42572
42573         test-link: allow Linux choice of errno
42574         * tests/test-link.c (main): Relax test for alternate error.
42575
42576         strndup: fix improper m4 caching
42577         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42578         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42579         (gl_PREREQ_STRNDUP): Delete.
42580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42581         * modules/string (Makefile.am): Substitute it.
42582         * lib/string.in.h (strndup): Modernize prototype.
42583
42584         getcwd: port to mingw
42585         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42586         different from the POSIX assumptions made throughout the getcwd
42587         module; fortunately, the mingw getcwd does not need replacement.
42588         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42589         * modules/getcwd-tests: New test.
42590         * tests/test-getcwd.c: Likewise.
42591
42592         link: fix platform bugs
42593         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42594         * lib/link.c (link): Work around them.  Fix related mingw bug.
42595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42596         * modules/unistd (Makefile.am): Substitute it.
42597         * lib/unistd.in.h (link): Declare replacement.
42598         * doc/posix-functions/link.texi (link): Document this.
42599         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42600
42601         test-link: consolidate into single C program, test more cases
42602         * tests/test-link.sh: Delete.
42603         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42604         at least Cygwin and Solaris.
42605         * modules/link-tests (Files): Remove unused file.
42606         (Depends-on): Add errno, sys_stat.
42607         (Makefile.am): Simplify.
42608
42609 2009-09-08  Bruno Haible  <bruno@clisp.org>
42610
42611         Work around towlower, towupper bug on mingw.
42612         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42613         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42614         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42615         * doc/posix-functions/towupper.texi: Likewise.
42616         Reported by Eric Blake.
42617
42618 2009-09-08  Jim Meyering  <meyering@redhat.com>
42619
42620         build: don't try to run autoheader if we don't use it
42621         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42622         is not used in configure.ac.
42623
42624 2009-09-08  Eric Blake  <ebb9@byu.net>
42625
42626         euidaccess: fix compilation error
42627         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42628
42629         rawmemchr: relax license
42630         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42631         okay.
42632         Reported by Jim Meyering.
42633
42634         mkfifoat: new module
42635         * modules/mkfifoat: New file.
42636         * lib/mkfifoat.c: Likewise.
42637         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42638         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42639         * modules/sys_stat (Makefile.am): Use them.
42640         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42641         * MODULES.html.sh (File system functions): Mention module.
42642         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42643         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42644         * modules/mkfifoat-tests: New test.
42645         * tests/test-mkfifoat.c: Likewise.
42646
42647         strchrnul: relax license
42648         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42649         okay.
42650         Reported by Jim Meyering.
42651
42652 2009-09-08  Eric Blake  <ebb9@byu.net>
42653
42654         fstatat: fix compilation on Solaris
42655         * lib/fstatat.c (includes): Add fcntl.h.
42656         Reported by Pádraig Brady.
42657
42658 2009-09-07  Eric Blake  <ebb9@byu.net>
42659
42660         rename: modernize replacement
42661         * modules/rename (Depends-on): Add stdio.
42662         (configure.ac): Declare witness.
42663         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
42664         stdio take care of replacement.
42665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42666         * modules/stdio (Makefile.am): Substitute them.
42667         * lib/stdio.in.h (rename): Declare replacement.
42668         * lib/rename.c (includes): Allow cross-compilation to non-windows
42669         machines.
42670         * doc/posix-functions/rename.texi (rename): Improve
42671         documentation.
42672
42673         stdio: sort witness names
42674         * modules/stdio (Makefile.am): Sort replacements.
42675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42676         * lib/stdio.in.h: Likewise.
42677
42678         getcwd: minor cleanups
42679         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
42680         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
42681
42682         openat: provide more convenience names
42683         * modules/faccessat (configure.ac): Add C witness.
42684         * lib/unistd.in.h (readlinkat): Fix typo.
42685         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42686         convenience wrappers.
42687         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42688         wrappers in syntax checks.
42689
42690 2009-09-06  Eric Blake  <ebb9@byu.net>
42691
42692         doc: fix comments in recent patches
42693         * lib/faccessat.c: Mention correct function.
42694         * lib/fchmodat.c: Likewise.
42695         * lib/fchownat.c: Likewise.
42696         * lib/symlinkat.c: Likewise.
42697         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42698         constants.
42699
42700         faccessat, symlinkat: continue cleanup of previous patch
42701         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42702         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42703         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42705         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42706         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42707         set.
42708
42709 2009-09-06  Bruno Haible  <bruno@clisp.org>
42710
42711         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42712         (fstatat): Declare if GNULIB_FSTATAT is set.
42713         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42714         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42715         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42716         * modules/fcntl-h (Files): Remove m4/openat.m4.
42717         * modules/sys_stat (Files): Remove m4/openat.m4.
42718         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42719         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42720         * modules/unistd (Files): Remove m4/openat.m4.
42721         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42722         GNULIB_OPENAT.
42723         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42724         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42725         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42726         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42727         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42728         gl_OPENAT_DEFAULTS.
42729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42730         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42731         Don't require gl_OPENAT_DEFAULTS.
42732         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42733         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42734         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42735         (gl_OPENAT_DEFAULTS): Remove macro.
42736
42737 2009-09-06  Bruno Haible  <bruno@clisp.org>
42738
42739         * modules/openat (configure.ac): Remove unneeded witness.
42740
42741 2009-09-06  Bruno Haible  <bruno@clisp.org>
42742
42743         Set errno to ENOSYS when a function is entirely unsupported.
42744         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42745         EOPNOTSUPP.
42746         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42747         * modules/chown (Depends-on): Remove errno.
42748
42749 2009-09-06  Bruno Haible  <bruno@clisp.org>
42750
42751         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42752
42753 2009-09-06  Bruno Haible  <bruno@clisp.org>
42754
42755         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42756
42757 2009-09-06  Ben Pfaff  <blp@gnu.org>
42758             Bruno Haible  <bruno@clisp.org>
42759
42760         Work around a glibc bug in strtok_r.
42761         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42762         Undefine if UNDEFINE_STRTOK_R is set.
42763         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42765         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42766         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42767         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42768         UNDEFINE_STRTOK_R.
42769         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42770
42771 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42772
42773         exclude: minor fix
42774         * lib/exclude.c: Include wctype.h
42775
42776 2009-09-06  Akim Demaille  <demaille@gostai.com>
42777
42778         bootstrap: improve error message
42779         * build-aux/bootstrap (find_tool): Upon failure, report the list
42780         of candidates.
42781         Honor the initial value of the envvar.
42782
42783 2009-09-05  Eric Blake  <ebb9@byu.net>
42784
42785         symlinkat: new module
42786         * modules/symlinkat: New file.
42787         * lib/symlinkat.c: Likewise.
42788         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42790         * modules/unistd (Makefile.am): Use them.
42791         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42792         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42793         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42794         * MODULES.html.sh (File system functions): Mention module.
42795         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42796         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42797         * modules/symlinkat-tests: New test.
42798         * tests/test-symlinkat.c: Likewise.
42799
42800         test-openat-safer: add more checks
42801         * tests/test-openat-safer.c (main): Check more code paths.
42802
42803 2009-09-05  Jim Meyering  <meyering@redhat.com>
42804
42805         syntax-check: detect unnecessary inclusion of openat.h
42806         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42807
42808 2009-09-05  Bruno Haible  <bruno@clisp.org>
42809
42810         Support towlower, towupper.
42811         * doc/posix-functions/towlower.texi: Mention module wctype.
42812         * doc/posix-functions/towupper.texi: Likewise.
42813         * lib/wctype.in.h (towlower, towupper): New functions.
42814         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42815         (ASSERT): New macro.
42816         (e): New variable.
42817         (main): Test also towlower, towupper. Test WEOF argument.
42818         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42819
42820 2009-09-05  Bruno Haible  <bruno@clisp.org>
42821
42822         Fix conversion behaviour when the input is invalid.
42823         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42824         mark occurring in first pass of indirect conversion.
42825         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42826         input.
42827         Found by clang's static analyzer.
42828
42829 2009-09-05  Bruno Haible  <bruno@clisp.org>
42830
42831         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42832         where direct conversion is possible.
42833
42834 2009-09-04  Eric Blake  <ebb9@byu.net>
42835
42836         openat: fail with ENOENT on empty name
42837         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42838         buffer.
42839
42840         link-follow: fix logic bug in prior patch
42841         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42842         reversed sense of yes and no in prior patch.  Avoid confusing
42843         compilation failure with desired semantics.
42844
42845         link-follow: accommodate mingw and cross-compilation
42846         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42847         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42848         cross-compilation results to -1, to make linkat easier to
42849         implement when cross-compiling.  Trivially support mingw.
42850         * modules/link-follow (configure.ac): Call new name.
42851         * NEWS: Mention this.
42852
42853 2009-09-03  Eric Blake  <ebb9@byu.net>
42854
42855         faccessat: compile replacement
42856         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42857         needed.
42858
42859         fts: fix compilation error
42860         * lib/fts.c (includes): Re-add "openat.h", for
42861         openat_needs_fchdir.
42862
42863         faccessat: new module
42864         * modules/faccessat: New file.
42865         * lib/faccessat.c: Likewise.
42866         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42868         * modules/unistd (Makefile.am): Use it.
42869         * lib/unistd.in.h (faccessat): Declare it.
42870         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42871         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42872         * MODULES.html.sh (File system functions): Mention it.
42873         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42874         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42875
42876         euidaccess: prefer POSIX over non-standard implementation
42877         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42878         * lib/euidaccess.c (euidaccess): Use it if available.
42879
42880         openat: make template easier to use
42881         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42882         AT_FUNC_F2 to be undefined.
42883         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42884         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42885         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42886         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42887         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42888         Likewise.
42889         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42890         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42891         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42892         Likewise.
42893
42894         openat: declare in POSIX headers
42895         * NEWS: Mention this.
42896         * modules/openat (configure.ac): Declare witnesses.
42897         (Depends-on): Add fcntl-h, sys_stat, unistd.
42898         (Include): Mention correct headers.
42899         * modules/fcntl-h (Depends-on): Add link-warning.
42900         (Files): Add openat.m4.
42901         (Makefile.am): Substitute witnesses.
42902         * modules/sys_stat (Files, Makefile.am): Likewise.
42903         * modules/unistd (Files, Makefile.am): Likewise.
42904         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42905         (gl_OPENAT_DEFAULTS): New macro.
42906         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42908         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42909         (SYS_STAT_H): Remove unused variable.
42910         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42911         * lib/fcntl--.h (includes): Remove unneeded header.
42912         * lib/openat-safer.c (includes): Likewise.
42913         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42914         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42915         appropriate headers.
42916         (__OPENAT_PREFIX): Delete.
42917         * lib/fcntl.in.h (openat): Provide declaration.
42918         (AT_FDCWD): Fix Solaris bug.
42919         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42920         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42921         * lib/fchmodat.c (includes):  Adjust to find declaration.
42922         * lib/fchownat.c (includes): Likewise.
42923         * lib/mkdirat.c (includes): Likewise.
42924         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42925         still visible.
42926
42927 2009-09-02  Eric Blake  <ebb9@byu.net>
42928
42929         errno: use consistently
42930         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42931         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42932         * lib/canonicalize.c (ELOOP): Likewise.
42933         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42934         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42935         * lib/lchown.c (EOPNOTSUPP): Likewise.
42936         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42937         * lib/savewd.c (ESTALE): Likewise.
42938         * lib/settime.c (ENOSYS): Likewise.
42939         * lib/utimens.c (ENOSYS): Likewise.
42940         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42941         * lib/chdir-safer.c (ELOOP): Likewise.
42942         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42943         * modules/c-stack (Depends-on): Add errno.
42944         * modules/canonicalize (Depends-on): Likewise.
42945         * modules/chdir-safer (Depends-on): Likewise.
42946         * modules/fdopendir (Depends-on): Likewise.
42947         * modules/inet_ntop (Depends-on): Likewise.
42948         * modules/inet_pton (Depends-on): Likewise.
42949         * modules/lchown (Depends-on): Likewise.
42950         * modules/openat (Depends-on): Likewise.
42951         * modules/savewd (Depends-on): Likewise.
42952         * modules/settime (Depends-on): Likewise.
42953         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42954
42955         fts: avoid leaking fds
42956         * modules/fts (Depends-on): Add cloexec.
42957         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42958         flag.
42959
42960         fts: make directory fds more robust
42961         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42962         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42963
42964         backupfile, chdir-long, fts, savedir: make safer
42965         * lib/backupfile.c (includes): Use "dirent--.h", since
42966         numbered_backup can write to stderr during readdir.
42967         * lib/savedir.c (includes): Likewise.
42968         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42969         emulation can write to stderr on failure.
42970         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42971         * lib/getcwd.c: Document why opendir_safer is unused.
42972         * lib/glob.c: Likewise.
42973         * lib/scandir.c: Likewise.
42974         * lib/openat-proc.c: Likewise, for open_safer.
42975         * modules/backupfile (Depends-on): Add dirent-safer.
42976         * modules/savedir (Depends-on): Likewise.
42977         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42978         * modules/chdir-long (Depends-on): Add openat-safer.
42979
42980         openat-safer: new module
42981         * modules/openat-safer: New file.
42982         * lib/openat-safer.c: Likewise.
42983         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42984         * lib/fcntl-safer.h (openat_safer): Declare.
42985         * lib/fcntl--.h (openat): Override.
42986         * MODULES.html.sh (File descriptor based I/O): Mention it.
42987         * lib/openat.h: Add double-inclusion guards.
42988         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42989         "fcntl--.h", so we can implement openat.
42990         * modules/openat-safer-tests: New test.
42991         * tests/test-openat-safer.c: New file.
42992
42993         dirent-safer: new module
42994         * modules/dirent-safer: New file.
42995         * lib/dirent--.h: Likewise.
42996         * lib/dirent-safer.h: Likewise.
42997         * lib/opendir-safer.c: Likewise.
42998         * m4/dirent-safer.m4: Likewise.
42999         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43000         * modules/dirent-safer-tests: New test.
43001         * tests/test-dirent-safer.c: New file.
43002         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43003
43004         fdopendir: optimize on mingw
43005         * lib/unistd.in.h (_gl_directory_name): New prototype.
43006         * lib/fchdir.c (_gl_directory_name): Implement it.
43007         (fchdir): Use it to simplify implementation.
43008         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43009         fchdir, when available, to avoid calling [f]chdir().
43010
43011         fdopendir: split into its own module
43012         * lib/openat.c (fdopendir): Move...
43013         * lib/fdopendir.c: ...into new file.
43014         * modules/fdopendir: New module.
43015         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43016         * modules/openat (Depends-on): Add fdopendir.
43017         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43018         fdopendir here.
43019         * modules/savedir (Depends-on): Only need fdopendir, not full
43020         openat.
43021         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43022         * lib/openat.h (fdopendir): Drop prototype.
43023         * lib/dirent.in.h (fdopendir): Provide prototype.
43024         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43025         * modules/dirent (Makefile.am): Substitute them.
43026         * MODULES.html.sh (File system functions): Mention it.
43027         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43028         * modules/fdopendir-tests: New file.
43029         * tests/test-fdopendir.c: Likewise.
43030
43031         fchdir: use more consistent macro convention
43032         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43033         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43034         REPLACE_FCHDIR, rather than relying on config.h macros.
43035         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43036         inside a single make-time REPLACE_FCHDIR block, rather than using
43037         the config.h FCHDIR_REPLACEMENT.
43038         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43039         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43040         Manage fstat replacement.
43041         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43042         REPLACE_FCHDIR.
43043         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43044         (Makefile.am): Substitute REPLACE_FCHDIR.
43045         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43046         FCHDIR_REPLACEMENT.
43047         * lib/dup-safer.c (dup_safer): Likewise.
43048         * lib/dup2.c (rpl_dup2): Likewise.
43049         * lib/dup3.c (rpl_dup3): Likewise.
43050         * lib/open.c (rpl_open): Likewise.
43051
43052         fchdir: simplify error handling, and support dup3
43053         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43054         stdbool, malloc-posix, realloc-posix.
43055         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43056         (ensure_dirs_slot): Return false on allocation failure.
43057         (rpl_dup2): Delete.
43058         (_gl_register_dup): New function.
43059         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43060         (_gl_register_fd): Close fd on allocation failure.
43061         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43062         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43063         prototype.
43064         (rpl_dup2_fchdir): Delete prototype.
43065         * lib/open.c (open): Update caller.
43066         * lib/dup2.c (dup2): Track fchdir metadata.
43067         * lib/dup3.c (dup3): Likewise.
43068         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43069         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43070
43071 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43072
43073         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43074         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43075         don't pass arguments to AC_OUTPUT.
43076
43077 2009-09-02  Bruno Haible  <bruno@clisp.org>
43078
43079         * modules/mkdtemp (License): Relicense under LGPLv2+.
43080         Reported by Paolo Bonzini.
43081
43082 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43083
43084         Replace uses of obsolete autoconf macros in Jim's modules.
43085         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43086         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43087         can evoke a warning from autoconf when run with -Wobsolete
43088         enabled.  They were declared obsolete for good reasons (see
43089         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43090         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43091         should not continue using the deprecated macros.
43092         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43093         obsolete Autoconf macros with modern counterparts.
43094         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43095         * m4/dos.m4 (gl_AC_DOS): Likewise.
43096         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43097         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43098         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43099         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43100         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43101         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43102         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43103         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43104         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43105         Likewise.
43106         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43107         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43108         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43109         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43110         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43111         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43112
43113 2009-09-01  Eric Blake  <ebb9@byu.net>
43114
43115         fchdir: fix off-by-one bug in previous patch
43116         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43117         (_gl_unregister_fd): Delete useless if.
43118
43119 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43120
43121         maint.mk: sort the list of syntax-check rules
43122         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43123         easier to get a sense of progress when the rules are run sequentially
43124         and take a long time.
43125
43126 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43127
43128         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43129         * modules/netinet_in: Likewise.
43130         * modules/sys_file: Likewise.
43131         * modules/sys_ioctl: Likewise.
43132         * modules/sys_select: Likewise.
43133         * modules/sys_socket: Likewise.
43134         * modules/sys_stat: Likewise.
43135         * modules/sys_time: Likewise.
43136         * modules/sys_times: Likewise.
43137         * modules/sys_utsname: Likewise.
43138         * modules/sys_wait: Likewise.
43139
43140 2009-09-01  Jim Meyering  <meyering@redhat.com>
43141
43142         fts: help ensure that return values are not ignored
43143         * lib/fts_.h (__GNUC_PREREQ): Define.
43144         (__attribute_warn_unused_result__): Define.
43145         (fts_children, fts_close, fts_open, fts_read): Declare with
43146         __attribute_warn_unused_result__.
43147
43148         fts: fts_close now fails also when closing a dir file descriptor fails
43149         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43150         and propagate to caller, along with errno.
43151
43152         announce-gen: correct formatting in --help output
43153         * build-aux/announce-gen (usage): Move the one-line description in
43154         --help output "up", to where it belongs, just after Usage:.
43155
43156 2009-08-31  Eric Blake  <ebb9@byu.net>
43157
43158         fchdir: port to mingw
43159         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43160         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43161         opened, then use a substitute.
43162         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43163         replacement.
43164         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43165         (_gl_register_fd): No need to check stat if open already filters
43166         all directories.
43167         (fchdir): Fix error condition to match POSIX.
43168         * modules/fchdir (Depends-on): Add sys_stat.
43169         * doc/posix-functions/open.texi (open): Document the limitation.
43170         * modules/fchdir-tests: New file.
43171         * tests/test-fchdir.c: Likewise.
43172
43173         canonicalize: allow cross-testing from cygwin to mingw
43174         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43175         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43176         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43177         Likewise.
43178         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43179         target does not support symlinks.
43180         * tests/test-canonicalize-lgpl.sh: Likewise.
43181
43182         chown: avoid compilation warning on mingw
43183         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43184         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43185         mingw.
43186         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43187         * modules/chown (Depends-on): Add errno.
43188
43189 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43190
43191         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43192         command.
43193
43194 2009-08-31  Jim Meyering  <meyering@redhat.com>
43195
43196         canonicalize: remove useless initialization
43197         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43198         initialization of local, "end".
43199
43200 2009-08-30  Bruno Haible  <bruno@clisp.org>
43201
43202         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43203         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43204         ENOSYS.
43205
43206 2009-08-30  Bruno Haible  <bruno@clisp.org>
43207
43208         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43209         /usr/xpg4/bin/tr when it exists.
43210         * tests/test-pipe-filter-gi1.sh: Likewise.
43211
43212 2009-08-30  Bruno Haible  <bruno@clisp.org>
43213
43214         Work around deficient /usr/bin/id program on Solaris.
43215         * tests/test-file-has-acl.sh (ID): New variable.
43216         * tests/test-set-mode-acl.sh (ID): Likewise.
43217         * tests/test-copy-acl.sh (ID): Likewise.
43218         * tests/test-copy-file.sh (ID): Likewise.
43219
43220 2009-08-30  Bruno Haible  <bruno@clisp.org>
43221
43222         New module 'xstriconveh'.
43223         * lib/xstriconveh.h: New file.
43224         * lib/xstriconveh.c: New file.
43225         * modules/xstriconveh: New file.
43226
43227 2009-08-30  Bruno Haible  <bruno@clisp.org>
43228
43229         Make it easier to use mem_cd_iconveh.
43230         * lib/striconveh.h (iconveh_t): New type.
43231         (iconveh_open, iconveh_close): New declarations.
43232         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43233         with a single 'const iconveh_t *' argument.
43234         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43235         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43236         with a single 'const iconveh_t *' argument.
43237         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43238         * tests/test-striconveh.c (main): Update.
43239         * NEWS: Mention the change.
43240
43241 2009-08-30  Bruno Haible  <bruno@clisp.org>
43242
43243         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43244         problem.
43245
43246 2009-08-30  Bruno Haible  <bruno@clisp.org>
43247
43248         Work around iconv_open problem on Solaris.
43249         * lib/iconv_open-solaris.gperf: New file.
43250         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43251         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43252         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43253         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43254         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43255         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43256
43257 2009-08-29  Jim Meyering  <meyering@redhat.com>
43258
43259         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43260         * top/maint.mk (cvs-check): Remove target; it was just an alias
43261         to the better-named vc-diff-check.
43262         (maintainer-distcheck): Remove rule.  It was used only from
43263         the (alpha/beta/major) target, and all of its commands but one
43264         were coreutils-specific.
43265         (vc-dist): Remove rule.
43266         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43267         Run vc-diff-check, not vc-dist.
43268         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43269
43270 2009-08-27  Bruno Haible  <bruno@clisp.org>
43271
43272         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43273         of 0.
43274
43275 2009-08-27  Bruno Haible  <bruno@clisp.org>
43276
43277         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43278         compilers.
43279         * doc/func.texi: Document the SunPRO C bug.
43280
43281 2009-08-27  Bruno Haible  <bruno@clisp.org>
43282
43283         Fix link error on Solaris.
43284         * tests/test-parse-duration.c (xstrdup): Remove function.
43285
43286 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43287
43288         ignore-value: handle pointer types, too
43289         * lib/ignore-value.h (__attribute__): Remove definition.
43290         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43291         of a more concise and more-often effective "(void) i" statement.
43292         (ignore_ptr): New function to suppress warnings from functions that
43293         return pointers, and to make it explicit that one function doesn't
43294         handle all cases.
43295
43296 2009-08-25  Bruno Haible  <bruno@clisp.org>
43297
43298         dup2: work around a Linux bug.
43299         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43300         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43301         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43302         Reported by Simon Josefsson.
43303
43304 2009-08-25  Jim Meyering  <meyering@redhat.com>
43305
43306         libguestfs uses gnulib
43307         * users.txt: Add libguestfs.
43308
43309 2009-08-24  Eric Blake  <ebb9@byu.net>
43310
43311         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43312         * lib/pipe2.c (includes): Add binary-io.h.
43313         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43314
43315 2009-08-24  Bruno Haible  <bruno@clisp.org>
43316
43317         Tolerate declared but missing accept4 syscall.
43318         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43319         available.
43320         * lib/sys_socket.in.h (accept4): If the function is already present,
43321         override it.
43322         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43323         * modules/accept4 (Makefile.am): Compile accept4.c always.
43324         Reported by Paolo Bonzini and Eric Blake.
43325
43326 2009-08-23  Bruno Haible  <bruno@clisp.org>
43327
43328         New module 'accept4'.
43329         * lib/sys_socket.in.h (accept4): New declaration.
43330         * lib/accept4.c: New file.
43331         * m4/accept4.m4: New file.
43332         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43333         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43334         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43335         HAVE_ACCEPT4.
43336         * modules/accept4: New file.
43337         * doc/glibc-functions/accept4.texi: Mention the new module.
43338
43339 2009-08-24  Jim Meyering  <meyering@redhat.com>
43340
43341         progname: also set global program_invocation_name, when possible
43342         Before this change, a libtool-enabled program that calls glibc's
43343         error function would report the program name as
43344         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43345         * modules/progname (configure.ac): Check for a declaration of
43346         program_invocation_name.
43347         * lib/progname.c:  Include <errno.h>.
43348         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43349         Set program_invocation_name.
43350
43351 2009-08-23  Bruno Haible  <bruno@clisp.org>
43352
43353         * lib/dup3.c: Include <string.h>.
43354
43355 2009-08-23  Bruno Haible  <bruno@clisp.org>
43356
43357         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43358         * lib/pipe2.c (pipe2): Likewise.
43359         Suggested by Eric Blake.
43360
43361 2009-08-23  Bruno Haible  <bruno@clisp.org>
43362
43363         Tolerate declared but missing dup3 syscall.
43364         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43365         * lib/unistd.in.h (dup3): If the function is already present,
43366         override it.
43367         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43368         * modules/dup3 (Makefile.am): Compile dup3.c always.
43369         Reported by Paolo Bonzini.
43370
43371 2009-08-23  Bruno Haible  <bruno@clisp.org>
43372
43373         Tolerate declared but missing pipe2 syscall.
43374         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43375         available.
43376         * lib/unistd.in.h (pipe2): If the function is already present,
43377         override it.
43378         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43379         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43380         Reported by Paolo Bonzini.
43381
43382 2009-08-23  Bruno Haible  <bruno@clisp.org>
43383
43384         * lib/pipe2.c (pipe2): Move #ifs inside function.
43385
43386 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43387
43388         quotearg: document limitations of quote_these_too
43389         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43390         those limitations are created.
43391         * lib/quotearg.h (set_char_quoting): Document that digits and
43392         letters that are special after backslash are not permitted.
43393         (quotearg_char): Cross-reference set_char_quoting documentation.
43394
43395 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43396
43397         quotearg: implement custom_quoting_style
43398         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43399         right_quote fields.
43400         (set_custom_quoting): New public function.
43401         (quotearg_buffer_restyled): Add left_quote and right_quote
43402         arguments, handle them very much like locale quoting, and update
43403         all uses.
43404         (quotearg_n_custom): New public function.
43405         (quotearg_n_custom_mem): New public function.
43406         (quotearg_custom): New public function.
43407         (quotearg_custom_mem): New public function.
43408         * lib/quotearg.h: Prototype and document new public functions.
43409         (enum quoting_style): For escape_quoting_style and
43410         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43411         ignored even though they're otherwise like c_quoting_style.
43412         Add custom_quoting_style member and document with comparison to
43413         clocale_quoting_style.
43414         * tests/test-quotearg.c (custom_quotes): New array.
43415         (custom_results): New array.
43416         (main): Extend to test custom quoting.
43417
43418 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43419
43420         quotearg: fix right quote escaping when it's in quote_these_too
43421         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43422         quote, be sure to prepend only one backslash.
43423         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43424         (main): Test it.
43425
43426 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43427
43428         quotearg-tests: test escaping of embedded locale quotes
43429         * tests/test-quotearg.c (struct result_strings): Add member for
43430         new input.
43431         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43432         (inputs): Add new input.
43433         (results_g): Add expected results.
43434         (flag_results): Likewise.
43435         (locale_results): Likewise.
43436         (compare_strings): Check those.
43437
43438 2009-08-23  Bruno Haible  <bruno@clisp.org>
43439
43440         Tests for module 'dup3'.
43441         * modules/dup3-tests: New file.
43442         * tests/test-dup3.c: New file.
43443
43444         New module 'dup3'.
43445         * lib/unistd.in.h (dup3): New declaration.
43446         * lib/dup3.c: New file.
43447         * m4/dup3.m4: New file.
43448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43449         HAVE_DUP3.
43450         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43451         * modules/dup3: New file.
43452         * doc/glibc-functions/dup3.texi: Mention the new module.
43453
43454 2009-08-23  Bruno Haible  <bruno@clisp.org>
43455
43456         Tweak the dup2 test.
43457         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43458         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43459         the test file is still empty. Fix argument order of lseek.
43460
43461 2009-08-23  Bruno Haible  <bruno@clisp.org>
43462
43463         Avoid test link errors when the modules getopt-gnu, gettext are used.
43464         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43465         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43466
43467 2009-08-23  Bruno Haible  <bruno@clisp.org>
43468
43469         Fix getdtablesize() on mingw.
43470         * lib/getdtablesize.c (getdtablesize): Implement differently.
43471         * lib/unistd.in.h (getdtablesize): Improve comment.
43472
43473 2009-08-23  Bruno Haible  <bruno@clisp.org>
43474
43475         New module 'mkostemp'.
43476         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43477         * lib/stdlib.in.h (mksotemp): New declaration.
43478         * lib/mkostemp.c: New file, from glibc with modifications.
43479         * lib/tempname.h (GT_FILE): Remove outdated comment.
43480         (gen_tempname): Add flags argument.
43481         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43482         (__GT_FILE): Map to 1.
43483         (small_open, large_open): Remove macros.
43484         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43485         * lib/mkstemp.c (mkstemp): Update.
43486         * lib/mkdtemp.c (mkdtemp): Likewise.
43487         * m4/mkostemp.m4: New file.
43488         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43489         HAVE_MKOSTEMP.
43490         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43491         HAVE_MKOSTEMP.
43492         * modules/mkostemp: New file, based on modules/mkstemp.
43493         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43494         * NEWS: Mention the change.
43495
43496 2009-08-23  Bruno Haible  <bruno@clisp.org>
43497
43498         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43499         Reported by Eric Blake.
43500
43501 2009-08-23  Bruno Haible  <bruno@clisp.org>
43502
43503         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43504         Reported by Eric Blake.
43505
43506 2009-08-23  Bruno Haible  <bruno@clisp.org>
43507
43508         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43509         * modules/pipe2 (Depends-on): Likewise.
43510
43511 2009-08-23  Eric Blake  <ebb9@byu.net>
43512
43513         fcntl-h: add O_TTY_INIT support
43514         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43515         * tests/test-fcntl-h.c (o): Test it.
43516         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43517
43518         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43519         * modules/fcntl: Move <fcntl.h> header replacement...
43520         * modules/fcntl-h: ...to new name, so as not to collide with
43521         like-named function.
43522         * tests/test-fcntl.c: Rename...
43523         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43524         * modules/fcntl-tests: Rename...
43525         * modules/fcntl-h-tests: ...to this.  Update test file name.
43526         * modules/chdir-long (Depends-on): Update clients.
43527         * modules/chdir-safer (Depends-on): Likewise.
43528         * modules/fcntl-safer (Depends-on): Likewise.
43529         * modules/fts (Depends-on): Likewise.
43530         * modules/mkancesdirs (Depends-on): Likewise.
43531         * modules/mkdir-p (Depends-on): Likewise.
43532         * modules/open (Depends-on): Likewise.
43533         * modules/savewd (Depends-on): Likewise.
43534         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43535         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43536
43537 2009-08-22  Bruno Haible  <bruno@clisp.org>
43538
43539         * modules/binary-io (License): Relicense under LGPL.
43540         * modules/pipe2 (License): Likewise.
43541
43542 2009-08-22  Bruno Haible  <bruno@clisp.org>
43543
43544         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43545         return value.
43546         * lib/pipe-filter-gi.c (filter_init): Likewise.
43547         Reported by Eric Blake.
43548
43549 2009-08-22  Bruno Haible  <bruno@clisp.org>
43550
43551         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43552         * modules/pipe (Depends-on): Add pipe2.
43553
43554 2009-08-22  Bruno Haible  <bruno@clisp.org>
43555
43556         Tests for module 'pipe2'.
43557         * modules/pipe2-tests: New file.
43558         * tests/test-pipe2.c: New file.
43559
43560         New module 'pipe2'.
43561         * lib/unistd.in.h (pipe2): New declaration.
43562         * lib/pipe2.c: New file.
43563         * m4/pipe2.m4: New file.
43564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43565         HAVE_PIPE2.
43566         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43567         * modules/pipe2: New file.
43568         * doc/glibc-functions/pipe2.texi: Mention the new module.
43569
43570 2009-08-22  Bruno Haible  <bruno@clisp.org>
43571
43572         Reference some new glibc functions.
43573         * doc/glibc-functions/accept4.texi: New file.
43574         * doc/glibc-functions/dup3.texi: New file.
43575         * doc/glibc-functions/mkostemp.texi: New file.
43576         * doc/glibc-functions/pipe2.texi: New file.
43577         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43578         (Glibc sys/socket.h): Refer to accept4.
43579         (Glibc unistd.h): Refer to dup3, pipe2.
43580         Reported by Eric Blake.
43581
43582 2009-08-22  Jim Meyering  <meyering@redhat.com>
43583             Bruno Haible  <bruno@clisp.org>
43584
43585         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43586         This makes it so packages using automake-1.11's silent-rules option
43587         can print e.g., a single "GEN    configmake.h" line, rather than
43588         the 30+ statements that perform the job.  If you want to see the
43589         actual commands, you can still run "make V=1".
43590         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43591         so that make output is abbreviated when those variables are defined
43592         appropriately.
43593         * modules/argz: Likewise.
43594         * modules/arpa_inet: Likewise.
43595         * modules/byteswap: Likewise.
43596         * modules/configmake: Likewise.
43597         * modules/dirent: Likewise.
43598         * modules/errno: Likewise.
43599         * modules/fcntl: Likewise.
43600         * modules/float: Likewise.
43601         * modules/fnmatch: Likewise.
43602         * modules/getopt-posix: Likewise.
43603         * modules/glob: Likewise.
43604         * modules/iconv_open: Likewise.
43605         * modules/inttypes: Likewise.
43606         * modules/localcharset: Likewise.
43607         * modules/locale: Likewise.
43608         * modules/math: Likewise.
43609         * modules/netdb: Likewise.
43610         * modules/netinet_in: Likewise.
43611         * modules/poll: Likewise.
43612         * modules/posix_spawnp-tests: Likewise.
43613         * modules/sched: Likewise.
43614         * modules/search: Likewise.
43615         * modules/selinux-h: Likewise.
43616         * modules/signal: Likewise.
43617         * modules/spawn: Likewise.
43618         * modules/stdarg: Likewise.
43619         * modules/stdbool: Likewise.
43620         * modules/stddef: Likewise.
43621         * modules/stdint: Likewise.
43622         * modules/stdio: Likewise.
43623         * modules/stdlib: Likewise.
43624         * modules/string: Likewise.
43625         * modules/strings: Likewise.
43626         * modules/sys_file: Likewise.
43627         * modules/sys_ioctl: Likewise.
43628         * modules/sys_select: Likewise.
43629         * modules/sys_socket: Likewise.
43630         * modules/sys_stat: Likewise.
43631         * modules/sys_time: Likewise.
43632         * modules/sys_times: Likewise.
43633         * modules/sys_utsname: Likewise.
43634         * modules/sys_wait: Likewise.
43635         * modules/sysexits: Likewise.
43636         * modules/time: Likewise.
43637         * modules/unistd: Likewise.
43638         * modules/wchar: Likewise.
43639         * modules/wctype: Likewise.
43640
43641 2009-08-22  Jim Meyering  <meyering@redhat.com>
43642
43643         announce-gen: detect write failure
43644         * build-aux/announce-gen: Add Coda at end.
43645         Remove equivalent-but-more-verbose block at top.
43646
43647 2009-08-19  Akim Demaille  <demaille@gostai.com>
43648
43649         bootstrap: --help to stdout.
43650         * bootstrap (usage): Don't send --help to stderr.
43651         Use a here doc instead of a long string.
43652
43653 2009-08-21  Eric Blake  <ebb9@byu.net>
43654
43655         test-popen-safer: split from test-popen
43656         * tests/test-popen.c (main): Move...
43657         * tests/test-popen.h: ...into new file.
43658         * tests/test-popen-safer2.c: New file.
43659         * modules/popen-tests (Files): Add test-popen.h.
43660         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43661         Suggested by Bruno Haible.
43662
43663         test-fcntl-safer: split from test-open
43664         * tests/test-open.c (main): Move...
43665         * tests/test-open.h: ...into new file.
43666         * tests/test-fcntl-safer.c: New file.
43667         * modules/open-tests (Files): Add test-open.h.
43668         * modules/fcntl-safer-tests: New file.
43669         Suggested by Bruno Haible.
43670
43671         test-fopen-safer: split from test-fopen
43672         * tests/test-fopen.c (main): Move...
43673         * tests/test-fopen.h: ...into new file.
43674         * tests/test-fopen-safer.c: New file.
43675         * modules/fopen-tests (Files): Add test-fopen.h.
43676         * modules/fopen-safer-tests: New file.
43677         Suggested by Bruno Haible.
43678
43679 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43680
43681         popen-safer: test O_CLOEXEC at run-time.
43682         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
43683
43684 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43685
43686         fcntl: move more flags to the header
43687         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43688         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43689         * lib/fcntl.in.h: Do both things here.
43690
43691 2009-08-21  Jim Meyering  <meyering@redhat.com>
43692
43693         consistently remove $@-t before redirecting to it
43694         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43695         * modules/alloca-opt: Likewise.
43696         * modules/byteswap: Likewise.
43697         * modules/fnmatch: Likewise.
43698         * modules/getopt-posix: Likewise.
43699         * modules/glob: Likewise.
43700         * modules/poll: Likewise.
43701         * modules/posix_spawnp-tests: Likewise.
43702         * modules/sys_socket: Likewise.
43703         * modules/sysexits: Likewise.
43704
43705 2009-08-21  Eric Blake  <ebb9@byu.net>
43706
43707         popen: simplify access to original popen
43708         * lib/popen.c (rpl_popen): No need to worry about popen being a
43709         macro.
43710         Reported by Bruno Haible.
43711
43712 2009-08-20  Eric Blake  <ebb9@byu.net>
43713
43714         build: avoid some compiler warnings
43715         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43716         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43717         type.
43718         (new_exclude_segment, excluded_file_pattern_p)
43719         (excluded_file_name_p): Reduce scope.
43720         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43721         old-style declaration.
43722
43723 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43724
43725         * tests/test-exclude1.sh: Handle Windows EOL.
43726         * tests/test-exclude2.sh: Likewise.
43727         * tests/test-exclude3.sh: Likewise.
43728         * tests/test-exclude4.sh: Likewise.
43729         * tests/test-exclude5.sh: Likewise.
43730         * tests/test-exclude6.sh: Likewise.
43731         * tests/test-exclude7.sh: Likewise.
43732
43733 2009-08-19  Akim Demaille  <demaille@gostai.com>
43734
43735         bootstrap: find sha1sum when named gsha1sum.
43736         * bootstrap (find_tool): New.
43737         ($SHA1SUM): New.
43738         Use it.
43739
43740 2009-08-20  Jim Meyering  <meyering@redhat.com>
43741
43742         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43743         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43744         expression that converts "." in a file name to "\." in the resulting
43745         regexp.  Start with a dummy statement, so that prior shell variable
43746         definitions are expanded portably.  Reported by Simon Josefsson.
43747
43748 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43749
43750         Fix polling for writeability of a screen buffer.
43751         * lib/poll.c: Distinguish input and screen buffers for the
43752         Win32 implementation.
43753         * lib/select.c: Likewise.
43754
43755 2009-08-19  Eric Blake  <ebb9@byu.net>
43756
43757         popen-safer: prevent popen from clobbering std descriptors
43758         * modules/popen-safer: New file.
43759         * lib/popen-safer.c: Likewise.
43760         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43761         * lib/stdio--.h (popen): Provide override.
43762         * lib/stdio-safer.h (popen_safer): Provide declaration.
43763         * tests/test-popen.c (includes): Partially test this.
43764         * modules/popen-safer-tests: New file, for more tests.
43765         * tests/test-popen-safer.c: Likewise.
43766         * MODULES.html.sh (file stream based Input/Output): Mention it.
43767
43768         tests: test some of the *-safer modules
43769         * modules/fopen-safer (Depends-on): Add fopen.
43770         * modules/fcntl-safer (Depends-on): Add fcntl.
43771         * modules/stdlib-safer (Depends-on): Add stdlib.
43772         (configure.ac): Set indicator.
43773         * modules/unistd-safer (configure.ac): Likewise.
43774         * modules/tmpfile-safer (configure.ac): Likewise.
43775         (Depends-on): Add tmpfile.
43776         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43777         active.
43778         * tests/test-fopen.c (includes): Test safer versions when they are
43779         in use.
43780         * tests/test-open.c (includes): Likewise.
43781
43782         popen: fix cygwin 1.5 bug when stdin closed
43783         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43784         * modules/popen: New file.
43785         * modules/popen-tests: Likewise.
43786         * tests/test-popen.c: Likewise.
43787         * m4/popen.m4: Likewise.
43788         * lib/popen.c: Likewise.
43789         * lib/stdio.in.h (popen): New declaration.
43790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43791         * modules/stdio (Makefile.am): Likewise.
43792         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43793
43794 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43795
43796         maint.mk: give full control over update-copyright exclusions
43797         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43798         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43799         (update-copyright): Don't force inclusion of top-level
43800         ChangeLog.  Don't force exclusion of all COPYING files, but make
43801         them the default exclusion instead.
43802
43803 2009-08-16  Bruno Haible  <bruno@clisp.org>
43804
43805         Fix test failures on Solaris 10.
43806         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43807         tests when Solaris iconv() is used.
43808         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43809         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43810         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43811         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43812         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43813
43814 2009-08-16  Bruno Haible  <bruno@clisp.org>
43815
43816         Fix test failures on Solaris 10.
43817         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43818         'tr' program and pass it as first argument.
43819         * tests/test-pipe-filter-gi1.sh: Likewise.
43820         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43821         program as first argument.
43822         * tests/test-pipe-filter-gi1.c (main): Likewise.
43823
43824 2009-08-16  Eric Blake  <ebb9@byu.net>
43825
43826         fpurge: fix previous commits
43827         * modules/fpurge (Makefile.am): Make replacement conditional,
43828         partially reverting 2007-04-29 change; missed in previous
43829         attempt.
43830         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43831         is missing.
43832
43833 2009-08-16  Bruno Haible  <bruno@clisp.org>
43834
43835         Clarify fpurge's effect on the file position.
43836         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43837         * tests/test-fpurge.c (main): Make a second pass for checking the file
43838         position.
43839
43840 2009-08-16  Bruno Haible  <bruno@clisp.org>
43841
43842         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43843         declaration of fpurge is missing.
43844         * tests/test-fpurge.c (main): Check that the file has not more contents
43845         than expected. Close the file before removing it.
43846
43847 2009-08-15  Eric Blake  <ebb9@byu.net>
43848
43849         fpurge: don't wrap working cygwin implementation
43850         * lib/fpurge.c (fpurge): Fix comment typo.
43851         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43852         1.7 to avoid replacement.
43853         * tests/test-fpurge.c (main): Enhance test.
43854
43855 2009-08-15  Eric Blake  <ebb9@byu.net>
43856         and Jim Meyering  <meyering@redhat.com>
43857
43858         test-update-copyright: skip if perl is insufficient
43859         * tests/test-update-copyright.sh: Failure to run maintainer tool
43860         should not cause testsuite failure on cygwin 1.5.
43861
43862 2009-08-14  Eric Blake  <ebb9@byu.net>
43863
43864         doc: mention more functions added in cygwin 1.7.0
43865         * doc/posix-headers/limits.texi (limits.h): Update for recent
43866         cygwin additions.
43867         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43868         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43869         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43870         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43871         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43872
43873 2009-08-14  Eric Blake  <ebb9@byu.net>
43874
43875         maint.mk: simplify update-copyright rule
43876         * top/maint.mk (update-copyright-local): Delete, and document how
43877         to do it in cfg.mk instead.
43878         (update-copyright-exclude-regexp): Delete, and document how to do
43879         it in .x-update-copyright instead.
43880         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43881         exclude ChangeLog.
43882
43883 2009-08-14  Bruno Haible  <bruno@clisp.org>
43884
43885         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43886
43887 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43888
43889         maint.mk: support update-copyright-env
43890         * top/maint.mk (update-copyright-env): Define place-holder.
43891         (update-copyright): Expand $(update-copyright-env) before
43892         invoking update-copyright.
43893
43894 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43895
43896         update-copyright: implement forced reformatting
43897         * build-aux/update-copyright: Implement and document
43898         UPDATE_COPYRIGHT_FORCE.
43899         * tests/test-update-copyright.sh: Test it.
43900
43901 2009-08-14  Eric Blake  <ebb9@byu.net>
43902         and Bruno Haible  <bruno@clisp.org>
43903
43904         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43905         * tests/test-locale.c: Revert previous patch related to NULL.
43906         * tests/test-stdio.c: Likewise.
43907         * tests/test-stdlib.c: Likewise.
43908         * tests/test-string.c: Likewise.
43909         * tests/test-unistd.c: Likewise.
43910         * modules/time-tests (Depends-on): Add verify.
43911         * modules/wchar-tests (Depends-on): Likewise.
43912         * tests/test-time.c: Test for NULL compliance.
43913         * tests/test-wchar.c: Likewise.
43914         * modules/locale (Depends-on): Add stddef.
43915         * modules/stdio (Depends-on): Likewise.
43916         * modules/stdlib (Depends-on): Likewise.
43917         * modules/string (Depends-on): Likewise.
43918         * modules/time (Depends-on): Likewise.
43919         * modules/unistd (Depends-on): Likewise.
43920         * modules/wchar (Depends-on): Likewise.
43921         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43922         * lib/stdlib.in.h (includes): Likewise.
43923         * lib/string.in.h (includes): Likewise.
43924         * lib/time.in.h (includes): Likewise.
43925         * lib/unistd.in.h (includes): Likewise.
43926         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43927         replaced.
43928         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43929         * m4/stddef_h.m4: New file.
43930         * modules/stddef: Likewise.
43931         * lib/stddef.in.h: Likewise.
43932         * modules/stddef-tests: Likewise.
43933         * tests/test-stddef.c: Likewise.
43934         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43935         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43936         * doc/posix-headers/locale.texi (locale.h): Likewise.
43937         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43938         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43939         * doc/posix-headers/string.texi (string.h): Likewise.
43940         * doc/posix-headers/time.texi (time.h): Likewise.
43941         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43942         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43943
43944 2009-08-14  Eric Blake  <ebb9@byu.net>
43945
43946         doc: improve git diff of texinfo files
43947         * .gitattributes: Add rule for *.texi files, with hint on how to
43948         use it.
43949         Copied from m4, and based on a report by Bruno Haible.
43950
43951 2009-08-14  Bruno Haible  <bruno@clisp.org>
43952
43953         Disable multithread support by default on Cygwin 1.5.x for real.
43954         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43955
43956 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43957
43958         update-copyright: much ado about intervals
43959         * build-aux/update-copyright: Implement and document
43960         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43961         of copyright year intervals.
43962         Also, document UPDATE_COPYRIGHT_YEAR.
43963         * tests/test-update-copyright.sh: Test it.
43964
43965         update-copyright: convert 2-digit to 4-digit years
43966         * build-aux/update-copyright: Implement and document.
43967         * tests/test-update-copyright.sh: Update.
43968
43969 2009-08-14  Jim Meyering  <meyering@redhat.com>
43970
43971         test-exclude: avoid coreutils "make check" failure
43972         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43973         just as in test-argmatch.c.
43974
43975 2009-08-13  Eric Blake  <ebb9@byu.net>
43976
43977         test-dup2: fix bad assumption
43978         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43979         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43980
43981         test-version-etc: fix CRLF portability issue
43982         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43983         recognize \r.
43984         * tests/test-argp-version-etc-1.sh: Likewise.
43985
43986         getopt: update client modules
43987         * modules/argp (Depends-on): Use getopt-gnu.
43988         * modules/git-merge-changelog (Depends-on): Likewise.
43989         * modules/long-options (Depends-on): Likewise.
43990         * modules/xstrtol (Depends-on): Likewise.
43991
43992 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43993
43994         * tests/test-version-etc.sh: Don't fail on different
43995         project/version.  Don't fail on CRLF differences.  Rewrite to use
43996         multiple -e instead of multiple sed forks, suggested by Eric Blake
43997         <ebb9@byu.net>.
43998         * tests/test-argp-version-etc-1.sh: Likewise.
43999
44000 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44001
44002         * tests/test-version-etc.sh: Don't fail on different
44003         project/version.
44004
44005 2009-08-12  Bruno Haible  <bruno@clisp.org>
44006
44007         Tests for modules 'getopt-posix', 'getopt-gnu'.
44008         * modules/getopt-posix-tests: New file.
44009         * tests/test-getopt.c: New file.
44010         * tests/test-getopt.h: New file.
44011         * tests/test-getopt_long.h: New file.
44012
44013         New modules 'getopt-posix', 'getopt-gnu'.
44014         * modules/getopt-gnu: New file, renamed from modules/getopt.
44015         * modules/getopt-posix: New file.
44016         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44017         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44018         (gl_GETOPT): Remove macro.
44019         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44020         Disable the test against BSD systems that declare optreset. Test
44021         against mingw bug. Test against lack of support of optional arguments
44022         on many platforms.
44023         * doc/glibc-headers/getopt.texi: Update module name and list of
44024         relevant platforms.
44025         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44026         'getopt-gnu' and more portability problems.
44027         * NEWS: Mention the changes.
44028
44029 2009-08-12  Bruno Haible  <bruno@clisp.org>
44030
44031         Ensure that optarg etc. get declared by <unistd.h>.
44032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44033         AC_USE_SYSTEM_EXTENSIONS.
44034         * modules/getopt (Depends-on): Add 'extensions'.
44035
44036 2009-08-12  Bruno Haible  <bruno@clisp.org>
44037
44038         Avoid test link errors.
44039         * modules/pipe-filter-ii-tests (Makefile.am): Define
44040         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44041         * modules/pipe-filter-gi-tests (Makefile.am): Define
44042         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44043         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44044
44045 2009-08-12  Bruno Haible  <bruno@clisp.org>
44046
44047         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44048         gl_GETOPT_SUBSTITUTE before.
44049         (gl_GETOPT): Use it.
44050         * m4/argp.m4 (gl_ARGP): Update.
44051         Reported by Sergey Poznyakoff.
44052
44053         * m4/getopt.m4: Reorder macros.
44054         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44055         (gl_GETOPT_SUBSTITUTE): Remove macro.
44056
44057 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44058
44059         Minor improvement in gitlog-to-changelog
44060
44061         * build-aux/gitlog-to-changelog: New option `--format' makes
44062         output format string configurable.
44063
44064 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44065
44066         Optimize exclude: use hash tables for non-wildcard patterns.
44067
44068         * lib/exclude.c: Include hash.h and mbuiter.h
44069         (struct exclude_pattern, exclude_segment): New data types.
44070         (struct exclude): Rewrite.
44071         (fnmatch_pattern_has_wildcards): New function.
44072         (new_exclude_segment, free_exclude_segment): New functions.
44073         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44074         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44075         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44076         * modules/exclude: Depend on hash and mbuiter.
44077
44078         * modules/exclude-tests: New file.
44079         * tests/test-exclude.c: New file.
44080         * tests/test-exclude1.sh: New file.
44081         * tests/test-exclude2.sh: New file.
44082         * tests/test-exclude3.sh: New file.
44083         * tests/test-exclude4.sh: New file.
44084         * tests/test-exclude5.sh: New file.
44085         * tests/test-exclude6.sh: New file.
44086         * tests/test-exclude7.sh: New file.
44087
44088 2009-08-12  Bruno Haible  <bruno@clisp.org>
44089
44090         Ensure that getopt() gets declared by <unistd.h>.
44091         * lib/unistd.in.h: Conditionally include getopt.h.
44092         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44093         Set GNULIB_UNISTD_H_GETOPT.
44094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44095         GNULIB_UNISTD_H_GETOPT.
44096         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44097
44098 2009-08-12  Bruno Haible  <bruno@clisp.org>
44099
44100         Clarify logic.
44101         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44102         gl_replace_getopt instead of GETOPT_H.
44103
44104 2009-08-12  Bruno Haible  <bruno@clisp.org>
44105
44106         * m4/getopt.m4: Add comments.
44107
44108 2009-08-12  Bruno Haible  <bruno@clisp.org>
44109
44110         Disable multithread support by default on Cygwin 1.5.x.
44111         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44112         set gl_use_threads=no if not specified otherwise.
44113
44114 2009-08-11  Bruno Haible  <bruno@clisp.org>
44115
44116         Avoid compilation error on NetBSD 5.0.
44117         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44118         * tests/test-stdio.c: Likewise.
44119         * tests/test-stdlib.c: Likewise.
44120         * tests/test-string.c: Likewise.
44121         * tests/test-unistd.c: Likewise.
44122         Reported by Greg Troxel <gdt@ir.bbn.com>
44123         at <https://savannah.gnu.org/support/?106973>.
44124
44125 2009-08-11  Bruno Haible  <bruno@clisp.org>
44126
44127         * modules/dup2-tests (Depends-on): Remove close.
44128
44129         Undo 2009-07-19 commit.
44130         * modules/acl-tests (Depends-on): Remove close.
44131         * modules/binary-io-tests (Depends-on): Likewise.
44132         * modules/closein-tests (Depends-on): Likewise.
44133         * modules/flock-tests (Depends-on): Likewise.
44134         * modules/fsync-tests (Depends-on): Likewise.
44135         * modules/lseek-tests (Depends-on): Likewise.
44136         * modules/pipe-tests (Depends-on): Likewise.
44137         * modules/posix_spawn-tests (Depends-on): Likewise.
44138         * modules/posix_spawnp-tests (Depends-on): Likewise.
44139         * modules/stat-time-tests (Depends-on): Likewise.
44140         * modules/yesno-tests (Depends-on): Likewise.
44141
44142 2009-08-10  Bruno Haible  <bruno@clisp.org>
44143
44144         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44145
44146 2009-08-10  Bruno Haible  <bruno@clisp.org>
44147
44148         Fix a gcc warning.
44149         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44150
44151 2009-08-10  Bruno Haible  <bruno@clisp.org>
44152
44153         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44154         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44155         not only the first time.
44156         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44157         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44158         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44159         is 1, not only the the first time.
44160
44161 2009-08-10  Bruno Haible  <bruno@clisp.org>
44162
44163         Make it possible to use module 'gethostname' without module 'close'.
44164         * lib/unistd.in.h (close): Evoke a link error only if
44165         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44167         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44168         * modules/unistd (Makefile.am): Substitute
44169         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44170         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44171         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44172         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44173         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44174         * modules/sys_ioctl (Makefile.am): Substitute
44175         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44176         * modules/socket (configure.ac): On native Windows, set
44177         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44178         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44179         Reported by Sam Steingold <sds@gnu.org>.
44180
44181 2009-08-10  Bruno Haible  <bruno@clisp.org>
44182
44183         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44184         * modules/ioctl (configure.ac): Likewise.
44185
44186 2009-08-10  Bruno Haible  <bruno@clisp.org>
44187
44188         Avoid collision between gnulib wrapper and libintl wrapper.
44189         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44190         already defined in intl/printf.c.
44191         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44192         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44193
44194 2009-08-09  Bruno Haible  <bruno@clisp.org>
44195
44196         Make <sys/select.h> really self-contained, also on Solaris 10.
44197         * lib/sys_select.in.h: Include <string.h>.
44198         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44199         Solaris 10 problem.
44200         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44201         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44202         Reported by Jim Meyering.
44203
44204 2009-08-09  Bruno Haible  <bruno@clisp.org>
44205
44206         Avoid warnings from 'aclocal' that are due to a use of macro name
44207         AM_XGETTEXT_OPTION that is not defined in automake.
44208         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44209         automake.
44210         * modules/error (configure.ac): Likewise.
44211         * modules/propername (configure.ac): Likewise.
44212         * modules/vasprintf (configure.ac): Likewise.
44213         * modules/verror (configure.ac): Likewise.
44214         * modules/xprintf (configure.ac): Likewise.
44215         * modules/xvasprintf (configure.ac): Likewise.
44216
44217 2009-08-08  Bruno Haible  <bruno@clisp.org>
44218
44219         Avoid compilation error in C++ mode.
44220         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44221         Reported by Sam Steingold <sds@gnu.org>.
44222
44223 2009-08-08  Bruno Haible  <bruno@clisp.org>
44224
44225         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44226         for the various Unix platforms.
44227         * doc/posix-headers/limits.texi: Update platforms list regarding
44228         HOST_NAME_MAX.
44229         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44230
44231 2009-08-07  Jim Meyering  <meyering@redhat.com>
44232
44233         selinux-at: fix typo in a comment
44234         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44235         Spotted by Paolo Bonzini.
44236
44237         selinux-at: remove redundant m4 code, add documentation
44238         * modules/selinux-at (configure.ac): Remove redundant code.
44239         LIB_SELINUX is already set via the dependent module, selinux-h.
44240         (Include): Add quotes around selinux-at.h.
44241         * lib/selinux-at.h: Add documentation.
44242         Reported by Bruno Haible in
44243         http://marc.info/?l=gnulib-bug&m=124958988300749
44244
44245 2009-08-07  Bruno Haible  <bruno@clisp.org>
44246
44247         Avoid link error on MacOS X 10.3 and 10.4.
44248         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44249         on non-ELF systems.
44250         * lib/argp-pv.c (argp_program_version): Likewise.
44251         Reported by Simon Josefsson.
44252
44253 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44254
44255         * tests/test-version-etc.sh: Use $EXEEXT.
44256
44257 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44258
44259         update-copyright: update documentation to point to maint.mk
44260         * build-aux/update-copyright: Here.
44261
44262 2009-08-06  Jim Meyering  <meyering@redhat.com>
44263
44264         maint.mk: support update-copyright-local
44265         * top/maint.mk (update-copyright-local): Define place-holder.
44266         (update-copyright): Depend on $(update-copyright-local).
44267
44268 2009-08-06  Jim Meyering  <meyering@redhat.com>
44269
44270         selinux-at: new module
44271         Initially written for coreutils, this module will soon be
44272         used by findutils, too.
44273         * MODULES.html.sh [Misc]: Add selinux-at.
44274         * lib/selinux-at.h: New file, from coreutils.
44275         * lib/selinux-at.c: Likewise.
44276         * modules/selinux-at: Likewise.
44277         (License): Change from LGPL to GPL, since it depends
44278         on the GPL'd openat module.
44279
44280         doc: update README
44281         * README: Remove references to cogito.
44282         Remove cvs-repo-updating instructions from 2007.
44283         Don't imply that CVS is better if you have limited disk space.
44284
44285 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44286
44287         update-copyright: support C-style comments
44288         * build-aux/update-copyright: Implement and document.
44289         * tests/test-update-copyright.sh: Test.
44290
44291 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44292
44293         update-copyright: support omitted "(C)"
44294         * build-aux/update-copyright: Implement and document.  Also,
44295         allow variable whitespace before "(C)".
44296         * tests/test-update-copyright.sh: Test.
44297
44298 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44299
44300         update-copyright: don't trip on non-FSF copyright statements
44301         * build-aux/update-copyright: Fix so that the first correctly
44302         formatted FSF copyright statement is recognized no matter what
44303         appears before it.  Update documentation.
44304         * tests/test-update-copyright.sh: Test that.
44305
44306 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44307
44308         update-copyright: clean up code a little
44309         * build-aux/update-copyright: Append "_re" to the name of any
44310         variable holding a regular expression.
44311         Replace "old" and "new" with "stmt" in variable names.
44312         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44313         handled correctly.
44314         Format code more consistently.
44315
44316 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44317
44318         update-copyright-tests: improve portability
44319         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44320         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44321
44322 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44323
44324         update-copyright: support @copyright{} and &copy;
44325         * build-aux/update-copyright: Implement and document.
44326         * tests/test-update-copyright.sh: Test.
44327
44328 2009-08-04  Jim Meyering  <meyering@redhat.com>
44329
44330         update-copyright-tests: correctly test EOL=\r\n handling
44331         * tests/test-update-copyright.sh: Put \r at the end of some lines
44332         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44333
44334         maint.mk: make update-copyright exclusion list more configurable
44335         * top/maint.mk (update-copyright): Default to excluding COPYING,
44336         but allow an override, in case someone does want to update that file.
44337
44338         maint.mk: don't update copyright date in COPYING
44339         * top/maint.mk (update-copyright): Exclude COPYING.
44340
44341         maint.mk: add a copyright-updating rule
44342         * top/maint.mk (update-copyright): New rule.
44343         Derived from coreutils/Makefile.am.
44344
44345         update-copyright: rename some variables
44346         * build-aux/update-copyright: Rename a few variables for clarity.
44347         Tweak syntax.  List Joel E. Denny as coauthor.
44348
44349 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44350
44351         update-copyright: fix bug for 2-digit last year and add tests
44352         * build-aux/update-copyright: Fix bug.
44353         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44354         specified.
44355         * modules/update-copyright-tests: New
44356         * tests/test-update-copyright.sh: New.
44357
44358 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44359
44360         update-copyright: handle leading tabs in line prefix
44361         * build-aux/update-copyright: Count leading tabs as 8 spaces
44362         when computing margin.  This helps with the formatting of
44363         ChangeLogs, for example.
44364         Fix documentation a little.
44365
44366 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44367
44368         update-copyright: support EOL=\r\n
44369         * build-aux/update-copyright: Implement that.
44370
44371 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44372
44373         update-copyright: automatically format copyright statements
44374         * build-aux/update-copyright: Implement that.
44375         Also, be a little more predictable and safer by always failing
44376         when the full copyright format is not perfectly recognized as an
44377         unbroken whole.  Discussed at
44378         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44379         Rewrite documentation.
44380
44381 2009-08-03  Bruno Haible  <bruno@clisp.org>
44382
44383         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44384
44385 2009-08-02  Bruno Haible  <bruno@clisp.org>
44386
44387         Tests for module 'uname'.
44388         * modules/uname-tests: New file.
44389         * tests/test-uname.c: New file.
44390
44391         New module 'uname'.
44392         * lib/uname.c: New file.
44393         * m4/uname.m4: New file.
44394         * modules/uname: New file.
44395         * doc/posix-functions/uname.texi: Mention the new module.
44396
44397 2009-08-02  Bruno Haible  <bruno@clisp.org>
44398
44399         Tests for module 'sys_utsname'.
44400         * modules/sys_utsname-tests: New file.
44401         * tests/test-sys_utsname.c: New file.
44402
44403         New module 'sys_utsname'.
44404         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44405         * m4/sys_utsname_h.m4: New file.
44406         * modules/sys_utsname: New file.
44407         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44408
44409 2009-08-02  Bruno Haible  <bruno@clisp.org>
44410
44411         Implicitly initialize the sockets library.
44412         * lib/gethostname.c: Include sockets.h.
44413         (rpl_gethostname): Invoke gl_sockets_startup.
44414         * lib/socket.c: Include sockets.h.
44415         (rpl_socket): Invoke gl_sockets_startup.
44416         * modules/gethostname (Depends-on): Add sockets.
44417         * modules/socket (Depends-on): Likewise.
44418         * tests/test-poll.c: Don't include sockets.h.
44419         (main): Don't invoke gl_sockets_startup.
44420         * tests/test-select.c: Don't include sockets.h.
44421         (main): Don't invoke gl_sockets_startup.
44422
44423 2009-08-02  Bruno Haible  <bruno@clisp.org>
44424
44425         Allow multiple calls to gl_sockets_startup.
44426         * lib/sockets.c (initialized_sockets_version): New variable.
44427         (gl_sockets_startup): Do nothing if already called for this or a higher
44428         version.
44429         (gl_sockets_cleanup): Reset initialized_sockets_version.
44430
44431 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44432
44433         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44434         different project/version.
44435
44436 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44437             Bruno Haible  <bruno@clisp.org>
44438
44439         Tests for module 'pipe-filter-gi'.
44440         * modules/pipe-filter-gi-tests: New file.
44441         * tests/test-pipe-filter-gi1.sh: New file.
44442         * tests/test-pipe-filter-gi1.c: New file.
44443         * tests/test-pipe-filter-gi2.sh: New file.
44444         * tests/test-pipe-filter-gi2-main.c: New file.
44445         * tests/test-pipe-filter-gi2-child.c: New file.
44446
44447         New module 'pipe-filter-gi'.
44448         * lib/pipe-filter-gi.c: New file.
44449         * modules/pipe-filter-gi: New file.
44450
44451 2009-08-02  Bruno Haible  <bruno@clisp.org>
44452             Paolo Bonzini  <bonzini@gnu.org>
44453
44454         Tests for module 'pipe-filter-ii'.
44455         * modules/pipe-filter-ii-tests: New file.
44456         * tests/test-pipe-filter-ii1.sh: New file.
44457         * tests/test-pipe-filter-ii1.c: New file.
44458         * tests/test-pipe-filter-ii2.sh: New file.
44459         * tests/test-pipe-filter-ii2-main.c: New file.
44460         * tests/test-pipe-filter-ii2-child.c: New file.
44461
44462         New module 'pipe-filter-ii'.
44463         * lib/pipe-filter.h: New file.
44464         * lib/pipe-filter-ii.c: New file.
44465         * lib/pipe-filter-aux.h: New file.
44466         * modules/pipe-filter-ii: New file.
44467
44468 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44469
44470         * lib/gc-libgcrypt.c: Change copyright to FSF.
44471         * lib/gc-gnulib.c: Likewise.
44472
44473 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44474
44475         * lib/gethostname.c: Include limits.h.
44476
44477 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44478             Bruno Haible  <bruno@clisp.org>
44479
44480         Ensure HOST_NAME_MAX as part of the gethostname module.
44481         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44482         define also HOST_NAME_MAX.
44483         * tests/test-gethostname.c: Include <limits.h>.
44484         (main): Check also HOST_NAME_MAX.
44485         * doc/posix-headers/limits.texi: Document the mingw problem.
44486
44487 2009-08-02  Bruno Haible  <bruno@clisp.org>
44488
44489         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44490         Add comments.
44491
44492 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44493
44494         * lib/gethostname.c: Add Windows wrapper.
44495         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44496         * modules/gethostname: Depend on sys_socket & errno, for also
44497         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44498         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44499
44500 2009-07-31  Jim Meyering  <meyering@redhat.com>
44501
44502         getloadavg: fix symbol name in comment
44503         * lib/getloadavg.c: Correct a typo I introduced when adding
44504         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44505         Matt Kraai spotted the problem.
44506
44507 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44508
44509         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44510         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44511         code also if ! defined N_NAME_POINTER.
44512         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44513         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44514         but the n_name member is a 12-byte array.
44515
44516 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44517
44518         update-copyright: generalize comment handling
44519         * build-aux/update-copyright: Handle copyright statements
44520         within more comment styles.
44521         Document usage.
44522         Report any file with an external copyright holder or parse failure.
44523
44524 2009-07-29  Jim Meyering  <meyering@redhat.com>
44525
44526         mktime: correct setting of REPLACE_MKTIME
44527         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44528
44529         update-copyright: new module
44530         * modules/update-copyright: New file.
44531         * build-aux/update-copyright: New file.
44532         * MODULES.html.sh (maint+release support): Add update-copyright.
44533
44534 2009-07-27  Bruno Haible  <bruno@clisp.org>
44535
44536         Fix compilation error when <ctime> is used and mktime is replaced.
44537         * lib/time.in.h (mktime): New declaration.
44538         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44539         REPLACE_MKTIME instead of defining mktime in config.h.
44540         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44541         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44542         Reported by Ross McFarland <rwmcfa1@neces.com>.
44543
44544 2009-07-27  Bruno Haible  <bruno@clisp.org>
44545
44546         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44547         Reported by Matt Kraai <mkraai@beckman.com>.
44548
44549 2009-07-25  Jim Meyering  <meyering@redhat.com>
44550
44551         maint.mk: avoid warnings about missing files
44552         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44553         diagnostic when .prev-version does not exist.
44554         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44555         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44556         nonexistent cfg.mk.
44557         Suggestions from Simon Josefsson.
44558
44559 2009-07-25  Bruno Haible  <bruno@clisp.org>
44560
44561         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44562         defined as macros. Needed on QNX 6.4.1.
44563         Reported by Matt Kraai <mkraai@beckman.com>.
44564
44565 2009-07-23  Jim Meyering  <meyering@redhat.com>
44566
44567         maint.mk: invoke "make dist" with a working value of XZ_OPT
44568         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44569
44570 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44571
44572         Make fseeko.c compile on QNX.
44573         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44574
44575 2009-07-22  Peter Simons  <simons@cryp.to>
44576
44577         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44578         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44579         * lib/md4.h: Likewise.
44580         * lib/md5.h: Likewise.
44581         * lib/sha1.h: Likewise.
44582         * lib/sha256.h: Likewise.
44583         * lib/sha512.h: Likewise.
44584
44585         tests-sha1: don't assign literal string to 'char *' variable
44586         * tests/test-sha1.c (main): Declare locals with "const" to match
44587         attributes of the right hand side.
44588
44589 2009-07-21  Eric Blake  <ebb9@byu.net>
44590
44591         dup2: fix more mingw problems
44592         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44593         fd to itself.
44594         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44595         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44596         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44597         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44598         care of mingw bugs.
44599
44600 2009-07-21  Jim Meyering  <meyering@redhat.com>
44601
44602         vc-list-files: avoid failure when /bin/sh is dash
44603         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44604         On some Debian based systems, /bin/sh is a symlink to dash, and running
44605         this command would omit the "/" following each 'tests' prefix:
44606           dash -x build-aux/vc-list-files -C . tests
44607         That is because bash and dash work differently:
44608           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44609           bash ok
44610           dash odd
44611
44612 2009-07-21  Eric Blake  <ebb9@byu.net>
44613
44614         dup2-tests: test previous patch
44615         * modules/dup2-tests: New file.
44616         * tests/test-dup2.c: Likewise.
44617         * tests/test-open.c (main): Avoid unspecified behavior.
44618         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44619         test.
44620
44621         dup2: work around mingw and cygwin 1.5 bug
44622         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44624         * modules/unistd (Makefile.am): Substitute it.
44625         * lib/unistd.in.h (dup2): Declare the replacement.
44626         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44627         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44628         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44629         * modules/execute (Depends-on): Add dup2.
44630         * modules/fseterr (Depends-on): Likewise.
44631         * modules/pipe (Depends-on): Likewise.
44632         * modules/posix_spawn-internal (Depends-on): Likewise.
44633
44634 2009-07-21  Bruno Haible  <bruno@clisp.org>
44635
44636         * modules/.gitattributes: New file.
44637
44638 2009-07-20  Bruno Haible  <bruno@clisp.org>
44639
44640         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44641         (main): Use it.
44642
44643 2009-07-20  Eric Blake  <ebb9@byu.net>
44644
44645         test-pipe: make a bit more robust.
44646         * tests/test-pipe.c (myerr): Allow error messages regardless of
44647         what we do to stderr.
44648         (test_pipe): Rearrange to avoid deadlock.
44649         (child_main): Try a larger read, to ensure we avoided deadlock.
44650         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44651         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44652         if misused.
44653
44654 2009-07-19  Jim Meyering  <meyering@redhat.com>
44655
44656         fts: avoid false-positive cycle-detection
44657         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44658         for each new command line argument.
44659
44660 2009-07-19  Bruno Haible  <bruno@clisp.org>
44661
44662         Fix build error on mingw with the modules sys_select and unistd.
44663         * modules/acl-tests (Depends-on): Add close.
44664         * modules/binary-io-tests (Depends-on): Likewise.
44665         * modules/closein-tests (Depends-on): Likewise.
44666         * modules/flock-tests (Depends-on): Likewise.
44667         * modules/fsync-tests (Depends-on): Likewise.
44668         * modules/lseek-tests (Depends-on): Likewise.
44669         * modules/pipe-tests (Depends-on): Likewise.
44670         * modules/posix_spawn-tests (Depends-on): Likewise.
44671         * modules/posix_spawnp-tests (Depends-on): Likewise.
44672         * modules/stat-time-tests (Depends-on): Likewise.
44673         * modules/yesno-tests (Depends-on): Likewise.
44674
44675 2009-07-19  Bruno Haible  <bruno@clisp.org>
44676
44677         Unify conditionals.
44678         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
44679         macros, not at the compiler macros.
44680         * lib/pipe.c: Likewise.
44681         * lib/execute.c: Likewise.
44682         * lib/spawni.c: Likewise.
44683
44684 2009-07-19  Bruno Haible  <bruno@clisp.org>
44685
44686         Fix handling of closed stdin/stdout/stderr on mingw.
44687         * lib/w32spawn.h: Include unistd.h.
44688         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44689         file descriptor with O_NOINHERIT flag.
44690         (fd_safer_noinherit): New function, based on fd-safer.c.
44691         (dup_safer_noinherit): New function, based on dup-safer.c.
44692         (undup_safer_noinherit): New function.
44693         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44694         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44695         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44696         instead of fd_safer.
44697         * tests/test-pipe.c: Include <windows.h>.
44698         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44699         result.
44700
44701         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44702         from main.
44703         (test_pipe): Pass an extra argument for disambiguation.
44704         (main): Invoke parent_main or child_main.
44705
44706         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44707         consistently.
44708
44709 2009-07-18  Eric Blake  <ebb9@byu.net>
44710
44711         test-pipe: fix mingw build
44712         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44713
44714 2009-07-18  Bruno Haible  <bruno@clisp.org>
44715
44716         * modules/pipe-tests (Makefile.am): Fix typo.
44717
44718 2009-07-18  Eric Blake  <ebb9@byu.net>
44719
44720         error: fix mingw build
44721         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44722         Reported by Bruno Haible.
44723
44724         error: avoid undefined use of stdout
44725         * lib/error.c (error, error_at_line): Check that fd 1 is open
44726         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44727         is handling faults and the close_stdout module wants to report the
44728         detection of closed stdout as an error.
44729
44730 2009-07-17  Eric Blake  <ebb9@byu.net>
44731
44732         pipe: be robust in face of closed fds
44733         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44734         should cause child to misbehave.
44735         * modules/pipe-tests: New module.
44736         * tests/test-pipe.c: New file.
44737         * tests/test-pipe.sh: New file.
44738         Reported by Akim Demaille.
44739
44740 2009-07-14  Bruno Haible  <bruno@clisp.org>
44741
44742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44743         Reported by anonymous kc.
44744
44745 2009-07-07  Jim Meyering  <meyering@redhat.com>
44746
44747         maint.mk: don't look for translatable strings in *.m4 or *.mk
44748         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44749         when searching for translatable strings.
44750
44751 2009-07-05  Jim Meyering  <meyering@redhat.com>
44752
44753         remove superfluous parentheses in STREQ definition
44754         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44755         * lib/getugroups.c (STREQ): Likewise.
44756         * lib/fnmatch.c (STREQ): Likewise.
44757         Spotted by Bruno Haible.
44758
44759 2009-07-04  Jim Meyering  <meyering@redhat.com>
44760
44761         argv-iter: new module
44762         * MODULES.html.sh: Add argv-iter.
44763         * lib/argv-iter.c, lib/argv-iter.h: New files.
44764         * modules/argv-iter: New file.
44765         * modules/argv-iter-tests: New file.
44766         * tests/test-argv-iter.c: Test it.
44767
44768 2009-07-04  Bruno Haible  <bruno@clisp.org>
44769
44770         Fix assertion.
44771         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44772         contains more exact copies of a given entry than file2, leave the extra
44773         copies unpaired rather than aborting.
44774         Reported by Eric Blake.
44775
44776 2009-07-02  Bruno Haible  <bruno@clisp.org>
44777
44778         Speedup git-merge-changelog for git cherry-pick.
44779         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44780         (entries_mapping_get): New function, extracted from compute_mapping.
44781         (entries_mapping_reverse_get): New function.
44782         (compute_mapping): Add a 'full' argument. Return the result in a
44783         'struct entries_mapping'.
44784         (main): Update. Access the mappings through entries_mapping_get.
44785         Reported by Eric Blake.
44786
44787 2009-07-02  Bruno Haible  <bruno@clisp.org>
44788
44789         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44790         best_i.
44791
44792 2009-07-02  Bruno Haible  <bruno@clisp.org>
44793
44794         Speed up approximate search for matching ChangeLog entries.
44795         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44796         argument. Call fstrcmp_bounded instead of fstrcmp.
44797         (compute_mapping, try_split_merged_entry, main): Update callers.
44798
44799 2009-07-02  Bruno Haible  <bruno@clisp.org>
44800
44801         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44802
44803 2009-06-30  Bruno Haible  <bruno@clisp.org>
44804
44805         Reduce the number of uc_is_cased calls.
44806         * lib/unicase.h (casing_suffix_context_t): Add
44807         'first_char_except_ignorable' field.
44808         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44809         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44810         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44811         Update initializer.
44812         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44813         case-ignorable characters.
44814         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44815         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44816         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44817         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44818         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44819
44820 2009-06-30  Bruno Haible  <bruno@clisp.org>
44821
44822         Tests for module 'unicase/ignorable'.
44823         * modules/unicase/ignorable-tests: New file.
44824         * tests/unicase/test-ignorable.c: New file, generated by
44825         gen-uni-tables.
44826
44827         Tests for module 'unicase/cased'.
44828         * modules/unicase/cased-tests: New file.
44829         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44830         * tests/unicase/test-predicate-part1.h: New file, derived from
44831         tests/unictype/test-predicate-part1.h.
44832         * tests/unicase/test-predicate-part2.h: New file, same as
44833         tests/unictype/test-predicate-part2.h.
44834
44835         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44836         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44837         (output_casing_properties): New function.
44838         (main): Call it.
44839         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44840         * lib/unicase/cased.c: Include unictype/bitmap.h.
44841         (uc_is_cased): Define through a bitmap lookup.
44842         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44843         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44844         (uc_is_case_ignorable): Define through a bitmap lookup.
44845         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44846         lib/unictype/bitmap.h.
44847         (Depends-on): Add inline. Clean up.
44848         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44849         lib/unictype/bitmap.h.
44850         (Depends-on): Add inline. Clean up.
44851         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44852         recognition.
44853         * tests/unicase/test-u16-tolower.c (main): Likewise.
44854         * tests/unicase/test-u32-tolower.c (main): Likewise.
44855
44856 2009-06-30  Bruno Haible  <bruno@clisp.org>
44857
44858         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44859         * lib/unicase/u16-casemap.c: Likewise.
44860         * lib/unicase/u32-casemap.c: Likewise.
44861
44862 2009-06-29  Bruno Haible  <bruno@clisp.org>
44863
44864         Define u32_casefold as a wrapper around u32_ct_casefold.
44865         * lib/unicase/u32-casefold.c: Update.
44866         * modules/unicase/u32-casefold (Depends-on): Add
44867         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44868         unicase/empty-suffix-context. Clean up.
44869
44870         Define u16_casefold as a wrapper around u16_ct_casefold.
44871         * lib/unicase/u16-casefold.c: Update.
44872         * modules/unicase/u16-casefold (Depends-on): Add
44873         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44874         unicase/empty-suffix-context. Clean up.
44875
44876         Define u8_casefold as a wrapper around u8_ct_casefold.
44877         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44878         * lib/unicase/u8-casefold.c: Update.
44879         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44880         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44881
44882         Define u32_totitle as a wrapper around u32_ct_totitle.
44883         * lib/unicase/u32-totitle.c: Update.
44884         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44885         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44886
44887         Define u16_totitle as a wrapper around u16_ct_totitle.
44888         * lib/unicase/u16-totitle.c: Update.
44889         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44890         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44891
44892         Define u8_totitle as a wrapper around u8_ct_totitle.
44893         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44894         functions.
44895         (FUNC): Delegate to U_CT_TOTITLE.
44896         * lib/unicase/u8-totitle.c: Update.
44897         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44898         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44899
44900         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44901         invocation.
44902         * modules/unicase/u32-tolower (Depends-on): Add
44903         unicase/empty-prefix-context, unicase/empty-suffix-context.
44904
44905         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44906         invocation.
44907         * modules/unicase/u16-tolower (Depends-on): Add
44908         unicase/empty-prefix-context, unicase/empty-suffix-context.
44909
44910         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44911         * modules/unicase/u8-tolower (Depends-on): Add
44912         unicase/empty-prefix-context, unicase/empty-suffix-context.
44913
44914         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44915         invocation.
44916         * modules/unicase/u32-toupper (Depends-on): Add
44917         unicase/empty-prefix-context, unicase/empty-suffix-context.
44918
44919         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44920         invocation.
44921         * modules/unicase/u16-toupper (Depends-on): Add
44922         unicase/empty-prefix-context, unicase/empty-suffix-context.
44923
44924         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44925         * modules/unicase/u8-toupper (Depends-on): Add
44926         unicase/empty-prefix-context, unicase/empty-suffix-context.
44927
44928         New module 'unicase/u32-ct-casefold'.
44929         * lib/unicase/u32-ct-casefold.c: New file.
44930         * modules/unicase/u32-ct-casefold: New file.
44931
44932         New module 'unicase/u16-ct-casefold'.
44933         * lib/unicase/u16-ct-casefold.c: New file.
44934         * modules/unicase/u16-ct-casefold: New file.
44935
44936         New module 'unicase/u8-ct-casefold'.
44937         * lib/unicase/u8-ct-casefold.c: New file.
44938         * lib/unicase/u-ct-casefold.h: New file, derived from
44939         lib/unicase/u-casefold.h.
44940         * modules/unicase/u8-ct-casefold: New file.
44941
44942         New module 'unicase/u32-ct-totitle'.
44943         * lib/unicase/u32-ct-totitle.c: New file.
44944         * modules/unicase/u32-ct-totitle: New file.
44945
44946         New module 'unicase/u16-ct-totitle'.
44947         * lib/unicase/u16-ct-totitle.c: New file.
44948         * modules/unicase/u16-ct-totitle: New file.
44949
44950         New module 'unicase/u8-ct-totitle'.
44951         * lib/unicase/u8-ct-totitle.c: New file.
44952         * lib/unicase/u-ct-totitle.h: New file, derived from
44953         lib/unicase/u-totitle.h.
44954         * modules/unicase/u8-ct-totitle: New file.
44955
44956         New module 'unicase/u32-ct-tolower'.
44957         * lib/unicase/u32-ct-tolower.c: New file.
44958         * modules/unicase/u32-ct-tolower: New file.
44959
44960         New module 'unicase/u16-ct-tolower'.
44961         * lib/unicase/u16-ct-tolower.c: New file.
44962         * modules/unicase/u16-ct-tolower: New file.
44963
44964         New module 'unicase/u8-ct-tolower'.
44965         * lib/unicase/u8-ct-tolower.c: New file.
44966         * modules/unicase/u8-ct-tolower: New file.
44967
44968         New module 'unicase/u32-ct-toupper'.
44969         * lib/unicase/u32-ct-toupper.c: New file.
44970         * modules/unicase/u32-ct-toupper: New file.
44971
44972         New module 'unicase/u16-ct-toupper'.
44973         * lib/unicase/u16-ct-toupper.c: New file.
44974         * modules/unicase/u16-ct-toupper: New file.
44975
44976         New module 'unicase/u8-ct-toupper'.
44977         * lib/unicase/u8-ct-toupper.c: New file.
44978         * modules/unicase/u8-ct-toupper: New file.
44979
44980         Add context arguments to u*_casemap functions.
44981         * lib/unicase/unicasemap.h: Include unicase.h.
44982         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44983         suffix_context arguments.
44984         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44985         functions.
44986         (FUNC): Add prefix_context and suffix_context arguments. Use
44987         uc_is_cased and uc_is_case_ignorable.
44988         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44989         * lib/unicase/u16-casemap.c: Likewise.
44990         * lib/unicase/u32-casemap.c: Likewise.
44991         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44992         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44993         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
44994         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44995         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
44996         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44997
44998         New module 'unicase/u32-suffix-context'.
44999         * lib/unicase/u32-suffix-context.c: New file.
45000         * modules/unicase/u32-suffix-context: New file.
45001
45002         New module 'unicase/u16-suffix-context'.
45003         * lib/unicase/u16-suffix-context.c: New file.
45004         * modules/unicase/u16-suffix-context: New file.
45005
45006         New module 'unicase/u8-suffix-context'.
45007         * lib/unicase/u8-suffix-context.c: New file.
45008         * lib/unicase/u-suffix-context.h: New file.
45009         * modules/unicase/u8-suffix-context: New file.
45010
45011         New module 'unicase/empty-suffix-context'.
45012         * lib/unicase/empty-suffix-context.c: New file.
45013         * modules/unicase/empty-suffix-context: New file.
45014
45015         New module 'unicase/u32-prefix-context'.
45016         * lib/unicase/u32-prefix-context.c: New file.
45017         * modules/unicase/u32-prefix-context: New file.
45018
45019         New module 'unicase/u16-prefix-context'.
45020         * lib/unicase/u16-prefix-context.c: New file.
45021         * modules/unicase/u16-prefix-context: New file.
45022
45023         New module 'unicase/u8-prefix-context'.
45024         * lib/unicase/u8-prefix-context.c: New file.
45025         * lib/unicase/u-prefix-context.h: New file.
45026         * lib/unicase/context.h: New file.
45027         * modules/unicase/u8-prefix-context: New file.
45028
45029         New module 'unicase/empty-prefix-context'.
45030         * lib/unicase/empty-prefix-context.c: New file.
45031         * modules/unicase/empty-prefix-context: New file.
45032
45033         New module 'unicase/ignorable'.
45034         * lib/unicase/ignorable.c: New file.
45035         * modules/unicase/ignorable: New file.
45036
45037         New module 'unicase/cased'.
45038         * lib/unicase/caseprop.h: New file.
45039         * lib/unicase/cased.c: New file.
45040         * modules/unicase/cased: New file.
45041
45042         New functions for case mapping of substrings.
45043         * lib/unicase.h (casing_prefix_context_t): New type.
45044         (unicase_empty_prefix_context): New variable.
45045         (u8_casing_prefix_context, u16_casing_prefix_context,
45046         u32_casing_prefix_context, u8_casing_prefixes_context,
45047         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45048         declarations.
45049         (casing_suffix_context_t): New type.
45050         (unicase_empty_suffix_context): New variable.
45051         (u8_casing_suffix_context, u16_casing_suffix_context,
45052         u32_casing_suffix_context, u8_casing_suffixes_context,
45053         u16_casing_suffixes_context, u32_casing_suffixes_context,
45054         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45055         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45056         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45057         declarations.
45058
45059 2009-06-28  Jim Meyering  <meyering@redhat.com>
45060
45061         boostrap: indent only with spaces
45062         * build-aux/bootstrap: Indent only with spaces, never TABs.
45063
45064         bootstrap: split long lines
45065         * build-aux/bootstrap: Keep line length < 80.
45066
45067         bootstrap: sync from coreutils
45068         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45069         just as autoreconf does.  Verify a list of prerequisite
45070         package-name,version-number pairs if defined in bootstrap.conf.
45071         Refer to README-prereq, if prerequisites are not satisfied.
45072
45073 2009-06-27  Eric Blake  <ebb9@byu.net>
45074
45075         tests: add test for bogus NULL definition
45076         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45077         * tests/test-stdlib.c: Likewise.
45078         * tests/test-string.c: Likewise.
45079         * tests/test-locale.c: Likewise.
45080         * tests/test-unistd.c: Likewise.
45081         * modules/stdio-tests (Depends-on): Add verify.
45082         * modules/stdlib-tests (Depends-on): Likewise.
45083         * modules/string-tests (Depends-on): Likewise.
45084         * modules/locale-tests (Depends-on): Likewise.
45085         * modules/unistd-tests (Depends-on): Likewise.
45086
45087 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45088
45089         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45090         self-explaining comment.
45091         * m4/selinux-selinux-h: Update serial.
45092         (gl_LIBSELINUX): New macro, adding a warning for missing development
45093         packages to code extracted from...
45094         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45095         Add warning for missing development packages here, too.
45096
45097 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45098
45099         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45100
45101 2009-06-25  Eric Blake  <ebb9@byu.net>
45102
45103         version-etc: fix regression
45104         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45105         gcc.
45106         (version_etc): Use it, to catch bugs with trailing NULL.
45107         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45108         (version_etc_va): Fix logic bug.
45109         * modules/version-etc-tests: Add test.
45110         * tests/test-version-etc.c: New file.
45111         * tests/test-version-etc.sh: Likewise.
45112
45113 2009-06-25  Sam Steingold  <sds@gnu.org>
45114
45115         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45116         mbtowc declaration.
45117
45118 2009-06-25  Eric Blake  <ebb9@byu.net>
45119
45120         fpurge: migrate into <stdio.h>
45121         * lib/fpurge.h: Delete...
45122         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45123         * lib/fpurge.c (fpurge): Change declaring header.
45124         * modules/fpurge (Files): Drop deleted file.
45125         (Depends-on): Add stdio.
45126         (configure.ac): Set witness.
45127         * modules/stdio (Makefile.am): Support fpurge macros.
45128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45129         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45130         * lib/fflush.c: Update client.
45131         * tests/test-fpurge.c: Likewise.
45132         * NEWS: Mention the change.
45133
45134 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45135
45136         * lib/argp-version-etc.c (program_authors): Add const
45137         qualifier.
45138         * lib/version-etc.c: Fix typos in the comments.
45139         * modules/argp-version-etc: Depends on version-etc.
45140
45141 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45142
45143         argp-version-etc: new module.
45144
45145         * lib/argp-version-etc.c: New file.
45146         * lib/argp-version-etc.h: New file.
45147         * modules/argp-version-etc: New file.
45148         * modules/argp-version-etc-tests: New file.
45149         * tests/test-argp-version-etc.c: New test.
45150         * tests/test-argp-version-etc-1.sh: New test.
45151
45152 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45153
45154         Provide additional interfaces and documentation for version-etc
45155         module.
45156
45157         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45158         interfaces.
45159         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45160         prototypes.
45161
45162 2009-06-24  Bruno Haible  <bruno@clisp.org>
45163
45164         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45165         HAVE_LIB${NAME} macro.
45166         Reported by Sam Steingold <sds@gnu.org>.
45167
45168 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45169
45170         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45171         needed.
45172
45173 2009-06-21  Bruno Haible  <bruno@clisp.org>
45174
45175         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45176         work.
45177         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45178         together with LIB${NAME}, LTLIB${NAME}.
45179         Reported by Sam Steingold <sds@gnu.org>.
45180
45181 2009-06-20  Jim Meyering  <meyering@redhat.com>
45182
45183         tests: make sc_require_test_exit_idiom more generic
45184         * top/maint.mk (Exit_witness_file): New overridable variable.
45185         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45186         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45187
45188 2009-06-19  Jim Meyering  <meyering@redhat.com>
45189
45190         hash: reverse order of src/dst parameters in an internal interface
45191         * lib/hash.c (transfer_entries): Reverse order of parameters to
45192         put DST before SRC.  Adjust callers.
45193
45194         tests: test-hash: avoid wholesale duplication
45195         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45196         Instead, use a loop and add a single conditional.
45197
45198         tests: test-hash: allow seed selection via a command line argument
45199         * tests/test-hash.c (get_seed): New function.
45200         (main): Use it.
45201
45202 2009-06-19  Eric Blake  <ebb9@byu.net>
45203
45204         hash: avoid memory leak on allocation failure
45205         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45206         failure.  Factor repeated algorithm...
45207         (transfer_entries): ...into new helper routine.
45208         (hash_delete): React to hash_rehash return value.
45209
45210         hash: reduce memory pressure in hash_rehash no-op case
45211         * lib/hash.c (next_prime): Avoid overflow.
45212         (hash_initialize): Factor bucket size computation...
45213         (compute_bucket_size): ...into new helper function.
45214         (hash_rehash): Use new function and open coding to reduce memory
45215         pressure, and avoid a memory leak in USE_OBSTACK code.
45216         Reported by Jim Meyering.
45217
45218 2009-06-18  Eric Blake  <ebb9@byu.net>
45219
45220         hash: make rotation more obvious
45221         * modules/hash (Depends-on): Add bitrotate and stdint.
45222         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45223         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45224         (SIZE_MAX): Rely on headers for definition.
45225         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45226         (raw_hasher): Use rotr_sz.
45227         Suggested by Jim Meyering.
45228
45229         hash: fix memory leak in last patch
45230         * lib/hash.c (hash_rehash): Avoid memory leak.
45231
45232         hash: avoid no-op rehashing
45233         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45234
45235         hash: provide default callback functions
45236         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45237         (hash_initialize): Use them as defaults.
45238         * tests/test-hash.c (main): Test this.
45239
45240         hash: minor optimization
45241         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45242         when possible.
45243         (hash_initialize): Document this promise.
45244         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45245         * tests/test-hash.c (hash_compare_strings): Test this.
45246
45247 2009-06-18  Bruno Haible  <bruno@clisp.org>
45248
45249         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45250         going to be replaced anyway.
45251
45252 2009-06-18  Bruno Haible  <bruno@clisp.org>
45253
45254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45255         in one place.
45256         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45257         be replaced anyway.
45258
45259 2009-06-18  Eric Blake  <ebb9@byu.net>
45260
45261         hash: check for resize before insertion
45262         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45263         threshold before insertion, so that a pathological hash_rehash
45264         that fills every bucket can still trigger another rehash.
45265
45266 2009-06-18  Jim Meyering  <meyering@redhat.com>
45267
45268         hash-tests: add a loop around the small tests
45269         * tests/test-hash.c (main): Repeat small tests with selected
45270         small initial table sizes.
45271
45272 2009-06-17  Eric Blake  <ebb9@byu.net>
45273
45274         hash: minor cleanups
45275         * lib/hash.h (hash_entry): Make opaque, by moving...
45276         * lib/hash.c (hash_entry): ...here.
45277         (hash_insert): Clarify restrictions on what can be inserted.
45278         (hash_get_next): Clarify when it is safe to remove an element
45279         during traversal.
45280         (check_tuning): Skip verification when tuning is known safe.
45281         (hash_initialize): Clarify restrictions on tuning.
45282
45283 2009-06-17  Jim Meyering  <jim@meyering.net>
45284         and Eric Blake  <ebb9@byu.net>
45285
45286         hash-tests: new module
45287         * modules/hash-tests: New file.
45288         * tests/test-hash.c: New file.
45289
45290 2009-06-17  Eric Blake  <ebb9@byu.net>
45291
45292         strstr-simple: document new module
45293         * MODULES.html.sh: Document new module.
45294
45295         strstr, strcasestr: replace on platforms with broken memchr
45296         * modules/strstr: Split into...
45297         * modules/strstr-simple: ...new module that does not care about
45298         performance, but does care about glibc bug.
45299         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45300         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45301         if platform memchr is broken, per Debian bug 521737.
45302         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45303         memchr.
45304         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45305         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45306         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45307         * modules/mountlist (Depends-on): Add strstr-simple.
45308         * modules/gen-uni-tables (Depends-on): Likewise.
45309         * modules/argz (Depends-on): Add strstr.
45310
45311 2009-06-17  Bruno Haible  <bruno@clisp.org>
45312
45313         * modules/posix_spawn-internal (Depends-on): Add errno.
45314
45315 2009-06-17  Bruno Haible  <bruno@clisp.org>
45316
45317         Define missing ESTALE on Interix 3.5.
45318         * lib/errno.in.h (ESTALE): Assign a value if missing.
45319         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45320         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45321         missing.
45322         * doc/posix-headers/errno.texi: Mention the Interix bug.
45323         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45324
45325 2009-06-15  Eric Blake  <ebb9@byu.net>
45326
45327         memchr, memchr2: add valgrind exception
45328         * lib/memchr.valgrind: New file.
45329         * lib/memchr2.valgrind: New file.
45330         * modules/memchr (Files): Distribute valgrind file.
45331         * modules/memchr2 (Files): Likewise.
45332
45333         docs: memchr is no longer obsolete
45334         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45335         * lib/string.in.h (memchr): Simplify logic.
45336
45337 2009-06-14  Jim Meyering  <meyering@redhat.com>
45338
45339         link-follow: fix the "checking..." message to not mention trailing slash
45340         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45341         never considered trailing slashes.
45342
45343 2009-06-14  Bruno Haible  <bruno@clisp.org>
45344
45345         * m4/memchr.m4: Mention also the bug on IA-64.
45346         * doc/posix-functions/memchr.texi: Likewise.
45347
45348 2009-06-12  Eric Blake  <ebb9@byu.net>
45349
45350         memchr: detect broken x86_64 and alpha implementations
45351         * modules/memchr-tests (Depends-on): Move mmap detection...
45352         * modules/memchr (Depends-on): ...here.
45353         (configure.ac): Set indicator.
45354         * lib/string.in.h (memchr): Declare replacement.
45355         * modules/string (Makefile.am): Trigger replacement.
45356         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45357         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45358         bugs.
45359         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45360         * modules/getpagesize (License): Relax license.
45361
45362 2009-06-11  Bruno Haible  <bruno@clisp.org>
45363
45364         * lib/idpriv.h: Add more references.
45365
45366 2009-06-08  Bruno Haible  <bruno@clisp.org>
45367
45368         Tests for module 'idpriv-droptemp'.
45369         * modules/idpriv-droptemp-tests: New file.
45370         * tests/test-idpriv-droptemp.sh: New file.
45371         * tests/test-idpriv-droptemp.su.sh: New file.
45372         * tests/test-idpriv-droptemp.c: New file.
45373
45374         New module 'idpriv-droptemp'.
45375         * lib/idpriv-droptemp.c: New file.
45376         * modules/idpriv-droptemp: New file.
45377
45378 2009-06-08  Bruno Haible  <bruno@clisp.org>
45379
45380         Tests for module 'idpriv-drop'.
45381         * modules/idpriv-drop-tests: New file.
45382         * tests/test-idpriv-drop.sh: New file.
45383         * tests/test-idpriv-drop.su.sh: New file.
45384         * tests/test-idpriv-drop.c: New file.
45385
45386         New module 'idpriv-drop'.
45387         * lib/idpriv.h: New file.
45388         * lib-idpriv-drop.c: New file.
45389         * m4/idpriv.m4: New file.
45390         * modules/idpriv-drop: New file.
45391
45392 2009-06-08  Bruno Haible  <bruno@clisp.org>
45393
45394         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45395         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45396         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45397         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45398         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45399         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45400         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45401
45402 2009-06-08  Eric Blake  <ebb9@byu.net>
45403
45404         test-strstr: use memory fence, when possible
45405         * tests/test-strstr.c (main): Use memory fence, in order to be
45406         more likely to trigger Debian bug 521737.
45407         * modules/strstr-tests (Files): Pull in additional files.
45408
45409         memchr: no longer obsolete, for wider field testing
45410         * modules/memchr (Status, Notice): Delete, this module is no
45411         longer obsolete.
45412         * modules/vasnprintf (Depends-on): Add memchr.
45413
45414 2009-06-07  Jim Meyering  <meyering@redhat.com>
45415
45416         hash: declare some functions with the warn_unused_result attribute
45417         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45418
45419 2009-06-07  Bruno Haible  <bruno@clisp.org>
45420
45421         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45422         Reported by Eric Blake.
45423
45424 2009-06-06  Eric Blake  <ebb9@byu.net>
45425
45426         test-alignof: fix typo with long double
45427         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45428         compiler error.
45429
45430 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45431
45432         Escape non-texinfo { and }s.
45433         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45434         markup error.
45435
45436 2009-06-04  Jim Meyering  <meyering@redhat.com>
45437
45438         gitlog-to-changelog: don't infloop on an empty commit log
45439         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45440         Reported by Boris Petersen <transacid@centerim.org>.
45441
45442 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45443
45444         version-etc: extend for packagers
45445         Add three new configure options, intended for packagers:
45446           --with-packager="packager name"
45447           --with-packager-version="packager-specific version"
45448           --with-packager-bug-reports="packager bug reporting"
45449         An example with coreutils:
45450           $ ./configure \
45451             --with-packager=Gentoo \
45452             --with-packager-bug-report=http://bugs.gentoo.org/ \
45453             --with-packager-version="patchset 1.6"
45454           $ ./src/ls --version | head -n2
45455           ls (GNU coreutils) 7.1-dirty
45456           Packaged by Gentoo (patchset 1.6)
45457         Note that the bug reporting info via --help doesn't show up because
45458         coreutils uses its own custom emit_bug_reporting_address() implementation
45459         in src/system.h.  If it didn't, it'd look like:
45460           $ ./src/ls --help | tail -n4
45461           Report bugs to <bug-coreutils@gnu.org>.
45462           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45463           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45464           General help using GNU software: <http://www.gnu.org/gethelp/>.
45465         * lib/version-etc.c: Print new information, if provided.
45466         * m4/version-etc.m4: New file.
45467         * modules/version-etc (Files): Add m4/version-etc.m4.
45468         (configure.ac): Add gl_VERSION_ETC.
45469
45470 2009-05-31  Bruno Haible  <bruno@clisp.org>
45471
45472         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45473         and 'int64_t'.
45474         * modules/alignof-tests (Dependencies): Add stdint.
45475         Reported by Eric Blake.
45476
45477 2009-05-31  Bruno Haible  <bruno@clisp.org>
45478
45479         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45480         restriction due to compiler bugs.
45481         Reported by Eric Blake.
45482
45483 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45484             Bruno Haible  <bruno@clisp.org>
45485
45486         Fix test-alignof failure.
45487         * lib/alignof.h (alignof_slot): New macro.
45488         (alignof_type): New macro, with the same semantics as the previous
45489         'alignof'.
45490         (alignof): Alias to alignof_slot.
45491         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45492         check that the results are usable as constant expressions.
45493
45494 2009-05-31  Bruno Haible  <bruno@clisp.org>
45495
45496         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45497         * tests/test-memchr.c (main): Check that memchr does not read past the
45498         first occurrence of the byte.
45499         * tests/test-strstr.c (main): Update comment.
45500         Suggested by Eric Blake.
45501
45502 2009-05-30  Bruno Haible  <bruno@clisp.org>
45503
45504         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45505         detail how to use dumpbin.
45506         Reported by David Byron <dbyron@dbyron.com>.
45507
45508 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45509
45510         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45511
45512 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45513
45514         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45515
45516 2009-05-28  Bruno Haible  <bruno@clisp.org>
45517
45518         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45519         build-aux/ files.
45520
45521 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45522
45523         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45524
45525 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45526
45527         * gnulib-tool (sed_transform_main_lib_file)
45528         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45529         regexps.
45530
45531 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45532
45533         * tests/test-strstr.c: Add another self-test.
45534         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45535         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45536
45537 2009-05-23  Bruno Haible  <bruno@clisp.org>
45538
45539         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45540         change.
45541
45542 2009-05-21  Bruno Haible  <bruno@clisp.org>
45543
45544         Simplify use of mode_t varargs.
45545         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45546         uses 'mode_t' or 'int'.
45547         * lib/openat.c (openat): Likewise.
45548         * lib/open-safer.c (open_safer): Likewise.
45549         * m4/mode_t.m4: New file.
45550         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45551         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45552         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45553         * modules/open (Files): Add m4/mode_t.m4.
45554         * modules/openat (Files): Likewise.
45555         * modules/fcntl-safer (Files): Likewise.
45556         Suggested by Eric Blake.
45557
45558 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45559
45560         * doc/glibc-functions/fallocate.texi: New file.
45561         * doc/gnulib.texi: Include it.
45562
45563 2009-05-21  Eric Blake  <ebb9@byu.net>
45564             Bruno Haible  <bruno@clisp.org>
45565
45566         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45567         invocations.
45568         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45569
45570 2009-05-21  Eric Blake  <ebb9@byu.net>
45571             Bruno Haible  <bruno@clisp.org>
45572
45573         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45574         include_next. Fix of 2008-11-20 commit.
45575         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45576         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45577         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45578         NEXT_MATH_H.
45579         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45580         instead of NEXT_MATH_H.
45581
45582 2009-05-21  Bruno Haible  <bruno@clisp.org>
45583
45584         Avoid redefinition warnings for SIZE_MAX.
45585         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45586         Reported by Simon Josefsson.
45587
45588 2009-05-21  Bruno Haible  <bruno@clisp.org>
45589
45590         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45591         AC_CACHE_VAL.
45592
45593 2009-05-20  Bruno Haible  <bruno@clisp.org>
45594
45595         Make zeroptr.h work on mingw.
45596         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45597         mprotect.
45598         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45599         * modules/memchr2-tests (configure.ac): Likewise.
45600         * modules/memcmp-tests (configure.ac): Likewise.
45601         * modules/memmem-tests (configure.ac): Likewise.
45602         * modules/memrchr-tests (configure.ac): Likewise.
45603         Reported by Simon Josefsson.
45604
45605 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45606
45607         * tests/test-glob.c: Include string.h for strcmp prototype.
45608
45609 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45610
45611         * modules/getdelim (Depends-on): Add explicit stdint, although it
45612         was implicitly already pulled in via realloc-posix.
45613         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45614
45615 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45616
45617         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45618         G. Christensen" <tgc@jupiterrise.com>.
45619         * m4/sys_socket_h.m4: Check for sa_family_t.
45620         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45621         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45622         * tests/test-sys_socket.c: Check that sa_family_t works.
45623
45624 2009-05-18  Eric Blake  <ebb9@byu.net>
45625
45626         maint.mk: allow gnulib_dir in VPATH build
45627         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45628
45629 2009-05-15  Jim Meyering  <meyering@redhat.com>
45630
45631         maint.mk: Give gnulib_dir a default definition.
45632         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45633         Thus, most packages no longer need to specify this variable in cfg.mk
45634
45635 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45636
45637         rename.m4: fix typos that would make non-mingw cross-configure fail
45638         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45639
45640 2009-05-13  Eric Blake  <ebb9@byu.net>
45641
45642         mmap-anon: avoid out-of-order autoconf expansion
45643         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45644         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45645         * modules/memchr-tests (Depends-on): Add extensions.
45646         * modules/memchr2-tests (Depends-on): Add extensions.
45647         * modules/memcmp-tests (Depends-on): Add extensions.
45648         * modules/memmem-tests (Depends-on): Add extensions.
45649         * modules/memrchr-tests (Depends-on): Add extensions.
45650
45651 2009-05-13  Bruno Haible  <bruno@clisp.org>
45652
45653         Make some tests ISO C 99 compliant.
45654         * tests/zerosize-ptr.h: New file.
45655         * tests/test-memchr.c: Include zerosize-ptr.h.
45656         (main): Use a zero-size object pointer instead of NULL.
45657         * tests/test-memchr2.c: Include zerosize-ptr.h.
45658         (main): Use a zero-size object pointer instead of NULL.
45659         * tests/test-memcmp.c: Include zerosize-ptr.h.
45660         (main): Use a zero-size object pointer instead of NULL.
45661         * tests/test-memmem.c: Include zerosize-ptr.h.
45662         (main): Use a zero-size object pointer instead of NULL.
45663         * tests/test-memrchr.c: Include zerosize-ptr.h.
45664         (main): Use a zero-size object pointer instead of NULL.
45665         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
45666         m4/mmap-anon.m4.
45667         (Depends-on): Add getpagesize.
45668         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45669         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
45670         m4/mmap-anon.m4.
45671         (Depends-on): Add getpagesize.
45672         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45673         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
45674         m4/mmap-anon.m4.
45675         (Depends-on): Add getpagesize.
45676         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45677         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
45678         m4/mmap-anon.m4.
45679         (Depends-on): Add getpagesize.
45680         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45681         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
45682         m4/mmap-anon.m4.
45683         (Depends-on): Add getpagesize.
45684         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45685
45686 2009-05-12  Bruno Haible  <bruno@clisp.org>
45687
45688         Tests for module 'alignof'.
45689         * modules/alignof-tests: New file.
45690         * tests/test-alignof.c: New file.
45691
45692 2009-05-12  Bruno Haible  <bruno@clisp.org>
45693
45694         Fix alignof macro.
45695         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45696         vendor compilers that are always correct.
45697
45698 2009-05-12  Bruno Haible  <bruno@clisp.org>
45699
45700         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45701         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45702         not whether its fully works.
45703
45704 2009-05-12  Bruno Haible  <bruno@clisp.org>
45705
45706         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45707
45708 2009-05-12  Jim Meyering  <meyering@redhat.com>
45709
45710         * top/maint.mk: Adjust backslash alignment.
45711
45712 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45713
45714         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45715
45716 2009-05-11  Eric Blake  <ebb9@byu.net>
45717
45718         argp: avoid undefined behavior
45719         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45720         macros.
45721
45722 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45723
45724         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45725         user.name to prevent git commit from complaining.
45726
45727 2009-05-10  Bruno Haible  <bruno@clisp.org>
45728
45729         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45730         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45731         it rewrites every file name only once.
45732         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45733
45734 2009-05-08  Bruno Haible  <bruno@clisp.org>
45735
45736         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45737         instead of 'max'.
45738
45739 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45740
45741         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45742         sockaddr_storage test.
45743
45744 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45745
45746         * modules/sys_socket (Makefile.am): Substitute
45747         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45748         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45749         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45750         * tests/test-sys_socket.c: Check sockaddr_storage.
45751
45752 2009-05-08  Bruno Haible  <bruno@clisp.org>
45753
45754         New module 'alignof'.
45755         * lib/alignof.h: New file.
45756         * modules/alignof: New file.
45757
45758 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45759             Bruno Haible  <bruno@clisp.org>
45760
45761         Fix test-file-has-acl on FreeBSD.
45762         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45763         mask is implicitly added.
45764         * tests/test-file-has-acl.c: Include <signal.h>.
45765         (main): Terminate the test after 5 seconds.
45766         * modules/acl-tests (configure.ac): Check for alarm function.
45767
45768 2009-05-04  Bruno Haible  <bruno@clisp.org>
45769
45770         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45771         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45772         * modules/errno (configure.ac): Drop AC_REQUIRE.
45773         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45774         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45775
45776 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45777
45778         * modules/glob-tests: New module.
45779         * tests/test-glob.c: Add.
45780
45781 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45782
45783         * modules/fnmatch-tests: New module.
45784         * tests/test-fnmatch.c: Add.
45785
45786 2009-05-04  Eric Blake  <ebb9@byu.net>
45787
45788         maint: make the new no-submodule-changes rule VPATH-safe
45789         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45790
45791 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45792             Bruno Haible  <bruno@clisp.org>
45793
45794         acl: Fix infinite loop on FreeBSD.
45795         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45796         of return value from acl_get_entry.
45797         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45798         Likewise.
45799
45800 2009-05-03  Bruno Haible  <bruno@clisp.org>
45801
45802         * lib/acl-internal.h (acl_entries): Clarify return value.
45803         * lib/acl_entries.c (acl_entries): Likewise.
45804
45805 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45806
45807         Bug fix in acl module.
45808         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45809
45810 2009-05-03  Bruno Haible  <bruno@clisp.org>
45811
45812         Create gperf-generated file in the source dir, not in the build dir.
45813         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45814         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45815         * modules/unicase/locale-language (unicase/locale-languages.h):
45816         Likewise.
45817         * modules/unicase/special-casing (unicase/special-casing-table.h):
45818         Likewise.
45819         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45820         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45821         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45822         Reported by Ralf Wildenhues.
45823
45824 2009-05-03  Bruno Haible  <bruno@clisp.org>
45825
45826         * modules/fnmatch (Description, configure.ac): Taken from
45827         fnmatch-posix.
45828         * modules/fnmatch-posix: Turn into a symbolic reference to the
45829         'fnmatch' module, and deprecate.
45830         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45831
45832 2009-05-03  Bruno Haible  <bruno@clisp.org>
45833
45834         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45835         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45836         Reported by Ralf Wildenhues.
45837
45838 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45839
45840         * m4/fnmatch.m4: Fix fnmatch re-define.
45841
45842 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45843
45844         priv-set: new module and tests; adapt write-any-file
45845         * lib/priv-set.c: New file.
45846         * lib/priv-set.h: New file.
45847         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45848         * lib/write-any-file.c: Simplify by using priv-set module.
45849         * m4/priv-set.m4: New file.
45850         * modules/priv-set: New file.
45851         * modules/unlinkdir: Add dependency on priv-set module.
45852         * modules/write-any-file: Likewise.
45853
45854         Tests for module 'priv-set'.
45855         * modules/priv-set-tests: New file.
45856         * tests/test-priv-set.c: New file.
45857
45858 2009-05-03  Jim Meyering  <meyering@redhat.com>
45859             Bruno Haible  <bruno@clisp.org>
45860
45861         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45862         use the converted UTF-8 variant of the name instead.
45863
45864 2009-05-03  Jim Meyering  <meyering@redhat.com>
45865
45866         tests: tighten some getdate tests
45867         * tests/test-getdate.c (main): Tighten tests: require equality,
45868         not just greater than.  Set TZ envvar to UTC0.
45869
45870 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45871
45872         getdate: correctly interpret "next monday" when run on a Monday
45873         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45874         that e.g., "next tues" (when run on a tuesday) results in a date
45875         that is one week in the future, and not today's date.
45876         I.e., add a week when the wday is the same as the current one.
45877         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45878         and earlier by Martin Bernreuther and Jan Minář.
45879         * tests/test-getdate.c (main): Check that "next DAY" is always in
45880         the future and that "last DAY" is always in the past.
45881
45882 2009-05-02  Jim Meyering  <meyering@redhat.com>
45883
45884         build: ensure that a release build fails when a submodule is unclean
45885         * top/maint.mk (no-submodule-changes): New rule.
45886         (alpha beta major): Depend on it.
45887
45888 2009-05-02  Bruno Haible  <bruno@clisp.org>
45889
45890         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45891         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45892         shell variable gl_fnmatch_required to detect which variant is
45893         requested.
45894         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45895         gl_FUNC_FNMATCH_POSIX.
45896         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45897         exclude fnmatch-posix.
45898
45899 2009-05-02  Bruno Haible  <bruno@clisp.org>
45900
45901         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45902         * modules/mbsrtowcs (License): Change to LGPLv2+.
45903         * modules/strnlen1 (License): Likewise.
45904         Reported by Simon Josefsson.
45905
45906 2009-05-02  Bruno Haible  <bruno@clisp.org>
45907
45908         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45909         "cross".
45910         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45911         gnulib-tool was called with option --source-base=lib.
45912
45913 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45914
45915         Use automake *-local hooks without commands, for extensibility.
45916         * modules/localcharset (Makefile.am): Rename install-exec-local
45917         rule to install-exec-localcharset, and make it a prerequisite of
45918         install-exec-local.  Likewise, rename the uninstall-local rule to
45919         uninstall-localcharset, and make it a prerequisite of the former.
45920
45921 2009-05-01  Bruno Haible  <bruno@clisp.org>
45922
45923         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45924         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45925         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45926         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45927         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45928         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45929         m4/locale-zh.m4, m4/codeset.m4.
45930
45931         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45932         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45933         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45934         m4/locale-zh.m4.
45935
45936         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45937         REPLACE_WCRTOMB if mbstate_t must be replaced.
45938         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45939         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45940
45941 2009-05-01  Bruno Haible  <bruno@clisp.org>
45942
45943         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45944         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45945         dngettext, dcngettext, textdomain, bindtextdomain,
45946         bind_textdomain_codeset): Undefine before redefining.
45947
45948 2009-04-30  Bruno Haible  <bruno@clisp.org>
45949
45950         Fix bug introduced on 2009-04-25.
45951         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45952         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45953         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45954         is defined.
45955         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45956         is defined.
45957         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45958         is defined.
45959         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45960
45961 2009-04-28  Bruno Haible  <bruno@clisp.org>
45962
45963         Comment tweaks.
45964         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45965         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45966         * lib/unicase.h (u*_casexfrm): Likewise.
45967         Reported by Paolo Bonzini.
45968
45969 2009-04-28  Bruno Haible  <bruno@clisp.org>
45970
45971         Fix a compilation error.
45972         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45973         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45974         Reported by Jim Meyering.
45975
45976 2009-04-27  Bruno Haible  <bruno@clisp.org>
45977
45978         New module 'libunistring'.
45979         * modules/libunistring: New file.
45980         * m4/libunistring.m4: New file.
45981         * MODULES.html.sh (Unicode string functions): Add it.
45982
45983 2009-04-27  Eric Blake  <ebb9@byu.net>
45984
45985         maint.mk: allow package-specific header to provide <config.h>
45986         * top/maint.mk (sc_require_config_h): New variable.
45987         (sc_require_config_h, sc_require_config_h_first): Use it.
45988
45989 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45990
45991         * top/maint.mk (sc_avoid_if_before_free): Except
45992         useless-if-before-free script.
45993
45994 2009-04-27  Eric Blake  <ebb9@byu.net>
45995
45996         maintainer-makefile: depend on all required helper scripts
45997         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
45998         useless-if-before-free.
45999         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46000         version, rather than assuming gnulib checkout is available.
46001         Reported by Simen Josefsson.
46002
46003 2009-04-26  Bruno Haible  <bruno@clisp.org>
46004
46005         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46006         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46007         "../" or "..".
46008
46009 2009-04-26  Bruno Haible  <bruno@clisp.org>
46010
46011         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46012         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46013         AC_LIB_HAVE_LINKFLAGS.
46014
46015 2009-04-26  Bruno Haible  <bruno@clisp.org>
46016
46017         Simplify calling convention of u*_conv_from_encoding.
46018         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46019         u32_conv_from_encoding): Expect a resultbuf argument and return the
46020         result directly as a pointer.
46021         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46022         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46023         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46024         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46025         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46026         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46027         Update.
46028         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46029         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46030         * lib/vasnprintf.c (VASNPRINTF): Update.
46031         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46032         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46033         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46034         * NEWS: Mention the change.
46035
46036 2009-04-26  Bruno Haible  <bruno@clisp.org>
46037
46038         Simplify calling convention of u*_conv_to_encoding.
46039         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46040         u32_conv_to_encoding): Expect a resultbuf argument and return the
46041         result directly as a pointer.
46042         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46043         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46044         freeing scaled_offsets if mem_iconveha failed.
46045         * lib/unicase/u-casexfrm.h (FUNC): Update.
46046         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46047         * lib/vasnprintf.c (VASNPRINTF): Update.
46048         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46049         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46050         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46051         * NEWS: Mention the change.
46052
46053 2009-04-26  Bruno Haible  <bruno@clisp.org>
46054
46055         Avoid test failures on AIX and OSF/1.
46056         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46057         malloc(0).
46058         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46059         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46060         Likewise.
46061         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46062         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46063         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46064         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46065         * doc/posix-functions/malloc.texi: Document the portability problem
46066         related to malloc(0).
46067
46068 2009-04-26  Bruno Haible  <bruno@clisp.org>
46069
46070         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46071         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46072         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46073
46074 2009-04-25  Bruno Haible  <bruno@clisp.org>
46075
46076         Avoid link error when creating a namespace clean library.
46077         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46078         as macro with arguments if already defined as an alias.
46079         * lib/signbitf.c (gl_signbitf): Don't undefine.
46080         * lib/signbitd.c (gl_signbitd): Don't undefine.
46081         * lib/signbitl.c (gl_signbitl): Don't undefine.
46082
46083 2009-04-25  Jim Meyering  <meyering@redhat.com>
46084
46085         vc-list-files: fix another quoting bug
46086         * build-aux/vc-list-files: Avoid sed backslash expansion
46087         of pathological directory names.
46088
46089 2009-04-25  Eric Blake  <ebb9@byu.net>
46090
46091         vc-list-files: fix shell quoting error
46092         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46093         timestamp.
46094
46095 2009-04-25  Jim Meyering  <meyering@redhat.com>
46096
46097         vc-list-files: restore lost functionality with subdir argument
46098         * build-aux/vc-list-files: When given a non-"." sub-directory
46099         argument, substitute the $dir/ prefix back onto each resulting name.
46100         Otherwise, coreutils' root_tests check would fail.
46101
46102 2009-04-24  Eric Blake  <ebb9@byu.net>
46103
46104         vc-list-files: ignore git symlinks
46105         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46106         than ls-files, to ignore git symlinks.
46107
46108         maint.mk: import improvements from m4
46109         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46110         (move_if_change): Delete unused macro.
46111         (news-date-check, vc-diff-check): Support VPATH builds.
46112         (announcement): Likewise.  Split --bootstrap-tools list...
46113         (boostrap-tools): ...into separate list, which can be overridden
46114         in cfg.mk.
46115         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46116         requiring dependency on useless-if-before-free module.
46117         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46118         Support VPATH builds.
46119
46120 2009-04-24  Jim Meyering  <meyering@redhat.com>
46121
46122         maint.mk: remove coreutils-specific rules and variables
46123         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46124         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46125         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46126
46127         maint.mk: remove obsolete rule
46128         * top/maint.mk (rel-check): Remove rule.
46129         (WGET, WGETFLAGS): Remove now-unused variables.
46130
46131 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46132
46133         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46134         consistency.
46135
46136         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46137         '$(PATH_SEPARATOR)' instead of ':'.
46138
46139 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46140
46141         * lib/getopt1.c (main): Use 'const' for static array.
46142
46143 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46144
46145         * top/maint.mk: Sync with coreutils.
46146         * NEWS: Explain incompatibilities.
46147
46148 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46149             Bruno Haible  <bruno@clisp.org>
46150
46151         Fix cross-compilation results.
46152         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46153         statement, as third argument of AC_TRY_RUN.
46154         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46155         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46156         Likewise.
46157         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46158         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46159         Likewise.
46160         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46161         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46162         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46163
46164 2009-04-20  Bruno Haible  <bruno@clisp.org>
46165
46166         Avoid test failure on mingw.
46167         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46168
46169 2009-04-20  Bruno Haible  <bruno@clisp.org>
46170
46171         Avoid compilation error on mingw.
46172         * modules/localename-tests (Depends-on): Add locale.
46173
46174 2009-04-19  Bruno Haible  <bruno@clisp.org>
46175
46176         Support for building a shared library on Windows platforms.
46177         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46178         (main): Test the presence of UNINORM_NFC here.
46179         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46180         (main): Test the presence of UNINORM_NFD here.
46181         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46182         (main): Test the presence of UNINORM_NFKC here.
46183         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46184         (main): Test the presence of UNINORM_NFKD here.
46185
46186 2009-04-19  Bruno Haible  <bruno@clisp.org>
46187
46188         Avoid a compiler warning.
46189         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46190         Change type of variable 'sequence'.
46191
46192 2009-04-19  Bruno Haible  <bruno@clisp.org>
46193
46194         * modules/configmake (Makefile.am): When the contents of configmake.h
46195         does not change, arrange to preserve its modification time.
46196
46197 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46198
46199         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46200         gettext domain.
46201
46202 2009-04-16  Jim Meyering  <meyering@redhat.com>
46203
46204         useless-if-before-free: improve conversion code
46205         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46206         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46207
46208 2009-04-14  Bruno Haible  <bruno@clisp.org>
46209
46210         * modules/fcntl (Depends-on): Add extensions.
46211         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46212
46213 2009-04-12  Ben Pfaff  <blp@gnu.org>
46214
46215         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46216         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46217
46218 2009-03-20  Ben Pfaff  <blp@gnu.org>
46219
46220         Make rename replace existing destinations on Windows.
46221         * m4/rename.m4: Add test for Mingw.
46222         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46223         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46224         * doc/posix-functions/rename.texi: Document.
46225
46226 2009-04-10  Bruno Haible  <bruno@clisp.org>
46227
46228         New include file "iconveh.h".
46229         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46230         * lib/striconveh.h: Include it.
46231         (enum iconv_ilseq_handler): Remove definition.
46232         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46233         striconveh.h.
46234         * lib/striconveha.c: Include striconveh.h.
46235         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46236         * modules/striconveh (Files): Add lib/iconveh.h.
46237         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46238         lib/striconveh.h.
46239
46240 2009-04-10  Bruno Haible  <bruno@clisp.org>
46241
46242         * lib/uniconv.h: Update comment.
46243
46244 2009-04-10  Bruno Haible  <bruno@clisp.org>
46245
46246         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46247         always.
46248         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46249         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46250         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46251         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46252         "unistring-notinline.h", so that the function gets defined always.
46253         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46254         * lib/unistr/u8-uctomb.c: Likewise.
46255         * lib/unistr/u16-mbtouc.c: Likewise.
46256         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46257         * lib/unistr/u16-uctomb.c: Likewise.
46258         * lib/unistr/u32-mbtouc.c: Likewise.
46259         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46260         * lib/unistr/u32-uctomb.c: Likewise.
46261
46262 2009-04-10  Bruno Haible  <bruno@clisp.org>
46263
46264         Mark 'utime' obsolete.
46265         * modules/utime (Status, Notice): New sections.
46266         Suggested by Jim Meyering.
46267
46268         Fix cross-compile guess for utime test.
46269         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46270         autoconf.
46271         * doc/posix-functions/utime.texi: Give more precisions.
46272         Reported by Jan <ipif@ymail.com>.
46273
46274 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46275
46276         filevercmp: correct today's change
46277         * lib/filevercmp.c: Also handle coreutils' test inputs.
46278         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46279
46280         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46281         for reporting it.
46282         * lib/filevercmp.c: Special handle for "", "." and "..".
46283         * tests/test-filevercmp.c: Enlarge the set suite.
46284
46285 2009-04-07  Jim Meyering  <meyering@redhat.com>
46286
46287         useless-if-before-free: show how to remove braced useless free, too
46288         * build-aux/useless-if-before-free: still only in a comment, though.
46289
46290 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46291
46292         maint.mk: import changes to syntax-check macros from coreutils
46293         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46294         Use them in the relevant macros.
46295
46296 2009-04-06  Bruno Haible  <bruno@clisp.org>
46297
46298         Fix unportable use of bit-fields.
46299         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46300         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46301         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46302
46303 2009-04-06  Bruno Haible  <bruno@clisp.org>
46304
46305         Avoid test failures on AIX and OSF/1.
46306         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46307         that malloc(0) = NULL.
46308         * tests/unicase/test-u8-tolower.c (check): Likewise.
46309         * tests/unicase/test-u8-totitle.c (check): Likewise.
46310         * tests/unicase/test-u8-toupper.c (check): Likewise.
46311         * tests/unicase/test-u16-casefold.c (check): Likewise.
46312         * tests/unicase/test-u16-tolower.c (check): Likewise.
46313         * tests/unicase/test-u16-totitle.c (check): Likewise.
46314         * tests/unicase/test-u16-toupper.c (check): Likewise.
46315         * tests/unicase/test-u32-casefold.c (check): Likewise.
46316         * tests/unicase/test-u32-tolower.c (check): Likewise.
46317         * tests/unicase/test-u32-totitle.c (check): Likewise.
46318         * tests/unicase/test-u32-toupper.c (check): Likewise.
46319         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46320         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46321         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46322         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46323         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46324         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46325         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46326         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46327         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46328         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46329         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46330         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46331
46332 2009-04-05  Bruno Haible  <bruno@clisp.org>
46333
46334         Work around an autoconf limitation.
46335         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46336         comment line if it would be longer than 3 KB.
46337
46338 2009-04-05  Bruno Haible  <bruno@clisp.org>
46339
46340         Avoid test failure with libiconv-1.13.
46341         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46342         of the expected test results.
46343
46344 2009-04-05  Bruno Haible  <bruno@clisp.org>
46345
46346         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46347         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46348         that it should be installed.
46349
46350 2009-04-05  Bruno Haible  <bruno@clisp.org>
46351
46352         * gnulib-tool: New option --copy-file.
46353         (func_usage): Document it.
46354         (func_dest_tmpfilename): Moved out of func_import.
46355         (func_add_file, func_update_file): New functions, extracted from
46356         func_import.
46357         (func_import): Update.
46358
46359 2009-04-05  Karl Berry  <karl@gnu.org>
46360
46361         * README: prominently mention gnulib-tool.
46362         Rearrange sections so getting the code is near the top.
46363
46364 2009-04-05  Bruno Haible  <bruno@clisp.org>
46365
46366         * lib/unicase.h: Mention u*_cmp2.
46367         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46368         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46369         * lib/unicase/ulc-casecmp.c: Likewise.
46370         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46371         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46372         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46373         unistr/u8-cmp.
46374         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46375         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46376         unistr/u16-cmp.
46377         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46378         unistr/u32-cmp.
46379
46380         * lib/uninorm.h: Mention u*_cmp2.
46381         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46382         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46383         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46384         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46385         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46386         unistr/u8-cmp.
46387         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46388         unistr/u16-cmp.
46389         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46390         unistr/u32-cmp.
46391
46392         New module 'unistr/u32-cmp2'.
46393         * lib/unistr/u32-cmp2.c: New file.
46394         * modules/unistr/u32-cmp2: New file.
46395
46396         New module 'unistr/u16-cmp2'.
46397         * lib/unistr/u16-cmp2.c: New file.
46398         * modules/unistr/u16-cmp2: New file.
46399
46400         New module 'unistr/u8-cmp2'.
46401         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46402         * lib/unistr/u8-cmp2.c: New file.
46403         * lib/unistr/u-cmp2.h: New file.
46404         * modules/unistr/u8-cmp2: New file.
46405
46406 2009-04-05  Bruno Haible  <bruno@clisp.org>
46407
46408         * lib/unictype.h (uc_property_is_valid): New macro.
46409         * tests/unictype/test-pr_byname.c (main): Use it.
46410
46411         * lib/unistr.h: Doc fixes.
46412         * lib/uniconv.h: Doc fixes.
46413         * lib/unictype.h: Doc fixes.
46414
46415 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46416
46417         Port coreutils 7.2 to Solaris 8.
46418
46419         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46420         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46421         for Solaris 8.  This is a bit of a hack, as it means it's the
46422         caller's responsibility to add -lnsl if needed, but most likely it
46423         won't be needed since only getaddrinfo uses this and getaddrinfo
46424         isn't needed on Solaris 8.
46425
46426         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46427         problem to Solaris 8 encountered with coreutils 7.2, which
46428         resulted in a message "fnmatch.c:292: warning: passing argument 4
46429         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46430         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46431
46432 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46433
46434         * m4/ld-version-script.m4: Add FIXME comment.
46435
46436 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46437
46438         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46439         SOVERSION variable.
46440
46441 2009-04-02  Bruno Haible  <bruno@clisp.org>
46442
46443         * Makefile (info, html, dvi, pdf): Combine the rules.
46444         Suggested by Jim Meyering.
46445
46446 2009-04-01  Bruno Haible  <bruno@clisp.org>
46447
46448         * Makefile (info, html, dvi, pdf): New targets.
46449         Reported by Reuben Thomas <rrt@sc3d.org>.
46450
46451 2009-04-01  Bruno Haible  <bruno@clisp.org>
46452
46453         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46454         can be put into PATH.
46455         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46456
46457 2009-04-01  Bruno Haible  <bruno@clisp.org>
46458
46459         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46460
46461 2009-04-01  Bruno Haible  <bruno@clisp.org>
46462
46463         Rename module 'visibility'.
46464         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46465         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46466         * doc/gnulib.texi: Update.
46467         * MODULES.html.sh (Misc): Update.
46468         * NEWS: Mention the change.
46469
46470 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46471
46472         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46473         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46474         Eric Blake <ebb9@byu.net> for review.
46475         * MODULES.html.sh: Add lib-msvc-compat.
46476         * doc/gnulib.texi: Link to new section.
46477         * m4/ld-output-def.m4: New file.
46478         * doc/ld-output-def.texi: New file.
46479
46480 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46481
46482         Rename ld-version-script to lib-symbol-versions.  Suggested by
46483         Bruno Haible <bruno@clisp.org>.
46484         * modules/ld-version-script: Renamed to lib-symbol-versions.
46485         * doc/ld-version-script.texi: Fix module name.
46486         * MODULES.html.sh: Add lib-symbol-versions.
46487
46488 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46489
46490         * modules/u64-tests: New file.
46491         * tests/test-u64.c: New file.
46492
46493 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46494
46495         * MODULES.html.sh: Mention u64.
46496         * modules/u64: New module.
46497         * modules/crypto/sha512: Depend on u64 module instead of providing
46498         u64.h.
46499
46500 2009-03-27  Eric Blake  <ebb9@byu.net>
46501
46502         test-strerror: make debugging EAI_SYSTEM easier
46503         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46504         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46505         failure was EAI_SYSTEM.
46506
46507 2009-03-25  Bruno Haible  <bruno@clisp.org>
46508
46509         Fix a problem with --enable-relocatable on Solaris 7.
46510         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46511         since 2008-02-24.
46512
46513 2009-03-25  Eric Blake  <ebb9@byu.net>
46514
46515         test-sockets: avoid gcc warning
46516         * tests/test-sockets.c (main): Silence compiler warning.
46517
46518 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46519
46520         New modules nproc, pthread, contributed by Glen Lenker.
46521
46522         * MODULES.html.sh: Add pthread, nproc.
46523         * lib/nproc.c: New file.
46524         * lib/nproc.h: New file.
46525         * lib/pthread.in.h: New file.
46526         * m4/pthread.m4: New file.
46527         * modules/nproc: New file.
46528         * modules/pthread: New file.
46529
46530 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46531
46532         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46533         New variable.
46534
46535 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46536
46537         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46538         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46539         * tests/test-filevercmp.c: Add tests for backup suffixes.
46540
46541 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46542
46543         * modules/stdlib (Depends-on): Add stdint, needed when defining
46544         struct random_data on, for example, HP-UX 10.20.  Reported by
46545         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46546
46547 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46548
46549         * lib/readline.c (readline): Call fflush on stdout after printing
46550         prompt.
46551
46552 2009-03-20  Bruno Haible  <bruno@clisp.org>
46553
46554         Remove dependency from 'close' module to -lws2_32 on native Windows.
46555         * lib/close-hook.h: New file.
46556         * lib/close-hook.c: New file.
46557         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46558         w32sock.h.
46559         (_gl_close_fd_maybe_socket): Remove function.
46560         (rpl_close): Invoke execute_all_close_hooks instead of
46561         _gl_close_fd_maybe_socket.
46562         * lib/sockets.c: Include close-hook.h, w32sock.h.
46563         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46564         (close_sockets_hook): New variable.
46565         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46566         (gl_sockets_cleanup): Unregister it.
46567         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46568         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46569         * modules/close-hook: New file.
46570         * modules/close (Files): Remove lib/w32sock.h.
46571         (Depends-on): Add close-hook.
46572         (Link): Remove section.
46573         * modules/sockets (Files): Add lib/w32sock.h.
46574         (Depends-on): Add close-hook.
46575         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46576         invocation.
46577         * NEWS: Mention that LIB_CLOSE is gone.
46578
46579 2009-03-23  Eric Blake  <ebb9@byu.net>
46580
46581         signal-tests: test previous patch
46582         * tests/test-signal.c: New file.
46583         * modules/signal-tests: Likewise.
46584
46585         signal.h: always support 'volatile sig_atomic_t'
46586         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46587         (gl_SIGNAL_H_DEFAULTS): Add a default.
46588         * modules/signal (Makefile.am): Substitute if needed.
46589         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46590         users can blindly add volatile.
46591         * doc/posix-headers/signal.texi (signal.h): Document it.
46592         Reported by Matthew Woehlke.
46593
46594 2009-03-23  Jim Meyering  <meyering@redhat.com>
46595
46596         pathmax: PATH_MAX: use pathconf only when available
46597         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46598         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46599         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46600         This avoids a link failure in a PSP cross-compilation environment
46601         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46602
46603         * lib/vasnprintf.c (divide): Fix typo in comment.
46604
46605 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46606
46607         * gnulib-tool (func_filter_filelist): Fix comment.
46608
46609 2009-03-20  Bruno Haible  <bruno@clisp.org>
46610
46611         Make sockets.h self-contained.
46612         * lib/sockets.c: Include sockets.h first.
46613         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46614
46615 2009-03-19  Eric Blake  <ebb9@byu.net>
46616
46617         doc: mention more functions added in cygwin 1.7.0
46618         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46619         addition.
46620         * doc/posix-functions/log2f.texi: Likewise.
46621
46622 2009-03-19  Jim Meyering  <meyering@redhat.com>
46623
46624         fsusage: avoid syntax error due to statement-before-declaration
46625         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46626         after all declarations.  Reported by Matthew Woehlke in
46627         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46628
46629 2009-03-18  Eric Blake  <ebb9@byu.net>
46630
46631         build-aux/compile: sync from automake
46632         * build-aux/compile: New file, from automake.
46633         * config/srclist.txt: Mention build-aux/compile.
46634
46635 2009-03-17  Bruno Haible  <bruno@clisp.org>
46636
46637         * lib/git-merge-changelog.c: Fix typo in comment.
46638         Reported by Reuben Thomas <rrt@sc3d.org>.
46639
46640 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46641
46642         * m4/regex.m4: update and improve help for
46643         --without-included-regex.
46644
46645 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46646
46647         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46648         failure on missing include files.
46649
46650 2009-03-17  Eric Blake  <ebb9@byu.net>
46651
46652         doc: mention more functions added in cygwin 1.7.0
46653         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46654         addition.
46655         * doc/posix-functions/fwscanf.texi: Likewise.
46656         * doc/posix-functions/swprintf.texi: Likewise.
46657         * doc/posix-functions/swscanf.texi: Likewise.
46658         * doc/posix-functions/vfwprintf.texi: Likewise.
46659         * doc/posix-functions/vfwscanf.texi: Likewise.
46660         * doc/posix-functions/vswprintf.texi: Likewise.
46661         * doc/posix-functions/vswscanf.texi: Likewise.
46662         * doc/posix-functions/vwprintf.texi: Likewise.
46663         * doc/posix-functions/vwscanf.texi: Likewise.
46664         * doc/posix-functions/wcscasecmp.texi: Likewise.
46665         * doc/posix-functions/wcsdup.texi: Likewise.
46666         * doc/posix-functions/wcsftime.texi: Likewise.
46667         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46668         * doc/posix-functions/wprintf.texi: Likewise.
46669         * doc/posix-functions/wscanf.texi: Likewise.
46670         * doc/glibc-functions/gethostbyname2.texi: Likewise.
46671
46672 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46673
46674         maint.mk: really add $(AM_MAKEFLAGS)
46675         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
46676         was inadvertently omitted in the last commit.
46677         Spotted by Bruno Haible.
46678
46679         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
46680         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
46681         $(AM_MAKEFLAGS)' rather than plain `make'.
46682
46683         gnulib-tool: execute $MAKE not make
46684         * gnulib-tool: Default $MAKE to 'make'.
46685         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46686         than make.  Initialize $MAKE in the do-autobuild script.
46687
46688         gnulib-tool: use $MAKE not make in generated files
46689         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46690         make, in generated files.  Initialize $MAKE in the do-autobuild
46691         script.
46692
46693         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46694
46695         GNUmakefile: disable parallelism only for multiple, recursive targets
46696         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46697         additions in the Makefile.
46698         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46699         by Automake.
46700         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46701         are listed on the command line and at least one of them is
46702         listed in $(ALL_RECURSIVE_TARGETS).
46703
46704 2009-03-14  Bruno Haible  <bruno@clisp.org>
46705
46706         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46707         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46708         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46709         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46710         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46711         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46712         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46713         unistr/u8-uctomb.
46714         * modules/unistr/u8-strchr (Depends-on): Likewise.
46715         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46716         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46717         unistr/u16-uctomb.
46718         * modules/unistr/u16-strchr (Depends-on): Likewise.
46719         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46720
46721 2009-03-12  Bruno Haible  <bruno@clisp.org>
46722
46723         Work around select() bug on Interix 3.5.
46724         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46725         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46726         * m4/select.m4: New file.
46727         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46728         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46729         * modules/select (Files): Add m4/select.m4.
46730         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46731         * modules/nanosleep (Depends-on): Add select.
46732         * modules/poll (Depends-on): Likewise.
46733         * doc/posix-functions/select.texi: Mention the Interix bug.
46734         Reported by Markus Duft <mduft@gentoo.org>.
46735
46736         * lib/select.c: Renamed from lib/winsock-select.c.
46737         * modules/select (Files): Add lib/select.c, remove
46738         lib/winsock-select.c.
46739         (configure.ac): Update.
46740
46741 2009-03-12  Jim Meyering  <meyering@redhat.com>
46742
46743         avoid gcc warnings about unused macro definitions
46744         * lib/readtokens.c (STREQ): Remove unused definition.
46745         * lib/xmalloc.c (SIZE_MAX): Likewise.
46746         * lib/openat-die.c (N_): Likewise.
46747         * lib/mountlist.c (SIZE_MAX): Remove definition.
46748         Instead, include <stdint.h>.
46749         * lib/readutmp.c: Likewise.
46750         * modules/readutmp (Depends-on): Add stdint.
46751         * modules/mountlist (Depends-on): Add stdint.
46752         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46753
46754 2009-03-10  Bruno Haible  <bruno@clisp.org>
46755
46756         Tests for module 'mbmemcasecoll'.
46757         * modules/mbmemcasecoll-tests: New file.
46758         * tests/test-mbmemcasecoll1.sh: New file.
46759         * tests/test-mbmemcasecoll2.sh: New file.
46760         * tests/test-mbmemcasecoll3.sh: New file.
46761         * tests/test-mbmemcasecoll.c: New file.
46762
46763         New module 'mbmemcasecoll'.
46764         * lib/mbmemcasecoll.h: New file.
46765         * lib/mbmemcasecoll.c: New file.
46766         * modules/mbmemcasecoll: New file.
46767
46768         * tests/test-mbmemcasecmp.h: New file, extracted from
46769         tests/test-mbmemcasecmp.c.
46770         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46771         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46772         (main): Update.
46773         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46774
46775 2009-03-09  Bruno Haible  <bruno@clisp.org>
46776
46777         Tests for module 'mbmemcasecmp'.
46778         * modules/mbmemcasecmp-tests: New file.
46779         * tests/test-mbmemcasecmp1.sh: New file.
46780         * tests/test-mbmemcasecmp2.sh: New file.
46781         * tests/test-mbmemcasecmp3.sh: New file.
46782         * tests/test-mbmemcasecmp.c: New file.
46783
46784         New module 'mbmemcasecmp'.
46785         * lib/mbmemcasecmp.h: New file.
46786         * lib/mbmemcasecmp.c: New file.
46787         * modules/mbmemcasecmp: New file.
46788
46789 2009-03-09  Bruno Haible  <bruno@clisp.org>
46790
46791         Tests for module 'unicase/ulc-casecoll'.
46792         * modules/unicase/ulc-casecoll-tests: New file.
46793         * tests/unicase/test-ulc-casecoll1.sh: New file.
46794         * tests/unicase/test-ulc-casecoll2.sh: New file.
46795         * tests/unicase/test-ulc-casecoll.c: New file.
46796
46797         New module 'unicase/ulc-casecoll'.
46798         * lib/unicase.h (ulc_casecoll): New declaration.
46799         * lib/unicase/ulc-casecoll.c: New file.
46800         * modules/unicase/ulc-casecoll: New file.
46801
46802         New module 'unicase/ulc-casexfrm'.
46803         * lib/unicase.h (ulc_casexfrm): New declaration.
46804         * lib/unicase/ulc-casexfrm.c: New file.
46805         * modules/unicase/ulc-casexfrm: New file.
46806
46807 2009-03-09  Bruno Haible  <bruno@clisp.org>
46808
46809         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46810         invocations.
46811
46812         * m4/mbscasecmp.m4: Remove file.
46813         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46814         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46815
46816         * m4/mbscasestr.m4: Remove file.
46817         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46818         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46819
46820         * m4/mbschr.m4: Remove file.
46821         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46822         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46823
46824         * m4/mbscspn.m4: Remove file.
46825         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46826         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46827
46828         * m4/mbslen.m4: Remove file.
46829         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46830         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46831
46832         * m4/mbsncasecmp.m4: Remove file.
46833         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46834         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46835
46836         * m4/mbsnlen.m4: Remove file.
46837         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46838         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46839
46840         * m4/mbspbrk.m4: Remove file.
46841         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46842         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46843
46844         * m4/mbspcasecmp.m4: Remove file.
46845         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46846         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46847
46848         * m4/mbsrchr.m4: Remove file.
46849         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46850         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46851
46852         * m4/mbssep.m4: Remove file.
46853         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46854         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46855
46856         * m4/mbsspn.m4: Remove file.
46857         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46858         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46859
46860         * m4/mbsstr.m4: Remove file.
46861         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46862         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46863
46864         * m4/mbstok_r.m4: Remove file.
46865         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46866         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46867
46868         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46869
46870         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46871         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46872
46873         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46874
46875 2009-03-08  Bruno Haible  <bruno@clisp.org>
46876
46877         Tests for module 'unicase/ulc-casecmp'.
46878         * modules/unicase/ulc-casecmp-tests: New file.
46879         * tests/unicase/test-ulc-casecmp1.sh: New file.
46880         * tests/unicase/test-ulc-casecmp2.sh: New file.
46881         * tests/unicase/test-ulc-casecmp.c: New file.
46882
46883         New module 'unicase/ulc-casecmp'.
46884         * lib/unicase.h (ulc_casecmp): New declaration.
46885         * lib/unicase/ulc-casecmp.c: New file.
46886         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46887         'const SRC_UNIT *'.
46888         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46889         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46890         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46891         * modules/unicase/ulc-casecmp: New file.
46892
46893         Tests for module 'unicase/u32-is-cased'.
46894         * modules/unicase/u32-is-cased-tests: New file.
46895         * tests/unicase/test-u32-is-cased.c: New file.
46896
46897         Tests for module 'unicase/u16-is-cased'.
46898         * modules/unicase/u16-is-cased-tests: New file.
46899         * tests/unicase/test-u16-is-cased.c: New file.
46900
46901         Tests for module 'unicase/u8-is-cased'.
46902         * modules/unicase/u8-is-cased-tests: New file.
46903         * tests/unicase/test-u8-is-cased.c: New file.
46904         * tests/unicase/test-is-cased.h: New file.
46905
46906         New module 'unicase/u32-is-cased'.
46907         * lib/unicase/u32-is-cased.c: New file.
46908         * modules/unicase/u32-is-cased: New file.
46909
46910         New module 'unicase/u16-is-cased'.
46911         * lib/unicase/u16-is-cased.c: New file.
46912         * modules/unicase/u16-is-cased: New file.
46913
46914         New module 'unicase/u8-is-cased'.
46915         * lib/unicase/u8-is-cased.c: New file.
46916         * lib/unicase/u-is-cased.h: New file.
46917         * modules/unicase/u8-is-cased: New file.
46918
46919         Tests for module 'unicase/u32-is-casefolded'.
46920         * modules/unicase/u32-is-casefolded-tests: New file.
46921         * tests/unicase/test-u32-is-casefolded.c: New file.
46922
46923         Tests for module 'unicase/u16-is-casefolded'.
46924         * modules/unicase/u16-is-casefolded-tests: New file.
46925         * tests/unicase/test-u16-is-casefolded.c: New file.
46926
46927         Tests for module 'unicase/u8-is-casefolded'.
46928         * modules/unicase/u8-is-casefolded-tests: New file.
46929         * tests/unicase/test-u8-is-casefolded.c: New file.
46930         * tests/unicase/test-is-casefolded.h: New file.
46931
46932         New module 'unicase/u32-is-casefolded'.
46933         * lib/unicase/u32-is-casefolded.c: New file.
46934         * modules/unicase/u32-is-casefolded: New file.
46935
46936         New module 'unicase/u16-is-casefolded'.
46937         * lib/unicase/u16-is-casefolded.c: New file.
46938         * modules/unicase/u16-is-casefolded: New file.
46939
46940         New module 'unicase/u8-is-casefolded'.
46941         * lib/unicase/u8-is-casefolded.c: New file.
46942         * modules/unicase/u8-is-casefolded: New file.
46943
46944         Tests for module 'unicase/u32-is-titlecase'.
46945         * modules/unicase/u32-is-titlecase-tests: New file.
46946         * tests/unicase/test-u32-is-titlecase.c: New file.
46947
46948         Tests for module 'unicase/u16-is-titlecase'.
46949         * modules/unicase/u16-is-titlecase-tests: New file.
46950         * tests/unicase/test-u16-is-titlecase.c: New file.
46951
46952         Tests for module 'unicase/u8-is-titlecase'.
46953         * modules/unicase/u8-is-titlecase-tests: New file.
46954         * tests/unicase/test-u8-is-titlecase.c: New file.
46955         * tests/unicase/test-is-titlecase.h: New file.
46956
46957         New module 'unicase/u32-is-titlecase'.
46958         * lib/unicase/u32-is-titlecase.c: New file.
46959         * modules/unicase/u32-is-titlecase: New file.
46960
46961         New module 'unicase/u16-is-titlecase'.
46962         * lib/unicase/u16-is-titlecase.c: New file.
46963         * modules/unicase/u16-is-titlecase: New file.
46964
46965         New module 'unicase/u8-is-titlecase'.
46966         * lib/unicase/u8-is-titlecase.c: New file.
46967         * modules/unicase/u8-is-titlecase: New file.
46968
46969         Tests for module 'unicase/u32-is-lowercase'.
46970         * modules/unicase/u32-is-lowercase-tests: New file.
46971         * tests/unicase/test-u32-is-lowercase.c: New file.
46972
46973         Tests for module 'unicase/u16-is-lowercase'.
46974         * modules/unicase/u16-is-lowercase-tests: New file.
46975         * tests/unicase/test-u16-is-lowercase.c: New file.
46976
46977         Tests for module 'unicase/u8-is-lowercase'.
46978         * modules/unicase/u8-is-lowercase-tests: New file.
46979         * tests/unicase/test-u8-is-lowercase.c: New file.
46980         * tests/unicase/test-is-lowercase.h: New file.
46981
46982         New module 'unicase/u32-is-lowercase'.
46983         * lib/unicase/u32-is-lowercase.c: New file.
46984         * modules/unicase/u32-is-lowercase: New file.
46985
46986         New module 'unicase/u16-is-lowercase'.
46987         * lib/unicase/u16-is-lowercase.c: New file.
46988         * modules/unicase/u16-is-lowercase: New file.
46989
46990         New module 'unicase/u8-is-lowercase'.
46991         * lib/unicase/u8-is-lowercase.c: New file.
46992         * modules/unicase/u8-is-lowercase: New file.
46993
46994         Tests for module 'unicase/u32-is-uppercase'.
46995         * modules/unicase/u32-is-uppercase-tests: New file.
46996         * tests/unicase/test-u32-is-uppercase.c: New file.
46997
46998         Tests for module 'unicase/u16-is-uppercase'.
46999         * modules/unicase/u16-is-uppercase-tests: New file.
47000         * tests/unicase/test-u16-is-uppercase.c: New file.
47001
47002         Tests for module 'unicase/u8-is-uppercase'.
47003         * modules/unicase/u8-is-uppercase-tests: New file.
47004         * tests/unicase/test-u8-is-uppercase.c: New file.
47005         * tests/unicase/test-is-uppercase.h: New file.
47006
47007         New module 'unicase/u32-is-uppercase'.
47008         * lib/unicase/u32-is-uppercase.c: New file.
47009         * modules/unicase/u32-is-uppercase: New file.
47010
47011         New module 'unicase/u16-is-uppercase'.
47012         * lib/unicase/u16-is-uppercase.c: New file.
47013         * modules/unicase/u16-is-uppercase: New file.
47014
47015         New module 'unicase/u8-is-uppercase'.
47016         * lib/unicase/u8-is-uppercase.c: New file.
47017         * modules/unicase/u8-is-uppercase: New file.
47018
47019         New module 'unicase/u32-is-invariant'.
47020         * lib/unicase/u32-is-invariant.c: New file.
47021         * modules/unicase/u32-is-invariant: New file.
47022
47023         New module 'unicase/u16-is-invariant'.
47024         * lib/unicase/u16-is-invariant.c: New file.
47025         * modules/unicase/u16-is-invariant: New file.
47026
47027         New module 'unicase/u8-is-invariant'.
47028         * lib/unicase/u8-is-invariant.c: New file.
47029         * lib/unicase/invariant.h: New file.
47030         * lib/unicase/u-is-invariant.h: New file.
47031         * modules/unicase/u8-is-invariant: New file.
47032
47033         Tests for module 'unicase/u32-casecoll'.
47034         * modules/unicase/u32-casecoll-tests: New file.
47035         * tests/unicase/test-u32-casecoll.c: New file.
47036
47037         Tests for module 'unicase/u16-casecoll'.
47038         * modules/unicase/u16-casecoll-tests: New file.
47039         * tests/unicase/test-u16-casecoll.c: New file.
47040
47041         Tests for module 'unicase/u8-casecoll'.
47042         * modules/unicase/u8-casecoll-tests: New file.
47043         * tests/unicase/test-u8-casecoll.c: New file.
47044
47045         New module 'unicase/u32-casecoll'.
47046         * lib/unicase/u32-casecoll.c: New file.
47047         * modules/unicase/u32-casecoll: New file.
47048
47049         New module 'unicase/u16-casecoll'.
47050         * lib/unicase/u16-casecoll.c: New file.
47051         * modules/unicase/u16-casecoll: New file.
47052
47053         New module 'unicase/u8-casecoll'.
47054         * lib/unicase/u8-casecoll.c: New file.
47055         * lib/unicase/u-casecoll.h: New file.
47056         * modules/unicase/u8-casecoll: New file.
47057
47058         New module 'unicase/u32-casexfrm'.
47059         * lib/unicase/u32-casexfrm.c: New file.
47060         * modules/unicase/u32-casexfrm: New file.
47061
47062         New module 'unicase/u16-casexfrm'.
47063         * lib/unicase/u16-casexfrm.c: New file.
47064         * modules/unicase/u16-casexfrm: New file.
47065
47066         New module 'unicase/u8-casexfrm'.
47067         * lib/unicase/u8-casexfrm.c: New file.
47068         * lib/unicase/u-casexfrm.h: New file.
47069         * modules/unicase/u8-casexfrm: New file.
47070
47071         Tests for module 'unicase/u32-casecmp'.
47072         * modules/unicase/u32-casecmp-tests: New file.
47073         * tests/unicase/test-u32-casecmp.c: New file.
47074
47075         Tests for module 'unicase/u16-casecmp'.
47076         * modules/unicase/u16-casecmp-tests: New file.
47077         * tests/unicase/test-u16-casecmp.c: New file.
47078
47079         Tests for module 'unicase/u8-casecmp'.
47080         * modules/unicase/u8-casecmp-tests: New file.
47081         * tests/unicase/test-u8-casecmp.c: New file.
47082         * tests/unicase/test-casecmp.h: New file.
47083
47084         New module 'unicase/u32-casecmp'.
47085         * lib/unicase/u32-casecmp.c: New file.
47086         * modules/unicase/u32-casecmp: New file.
47087
47088         New module 'unicase/u16-casecmp'.
47089         * lib/unicase/u16-casecmp.c: New file.
47090         * modules/unicase/u16-casecmp: New file.
47091
47092         New module 'unicase/u8-casecmp'.
47093         * lib/unicase/u8-casecmp.c: New file.
47094         * lib/unicase/u-casecmp.h: New file.
47095         * modules/unicase/u8-casecmp: New file.
47096
47097         Tests for module 'unicase/u32-casefold'.
47098         * modules/unicase/u32-casefold-tests: New file.
47099         * tests/unicase/test-u32-casefold.c: New file.
47100
47101         Tests for module 'unicase/u16-casefold'.
47102         * modules/unicase/u16-casefold-tests: New file.
47103         * tests/unicase/test-u16-casefold.c: New file.
47104
47105         Tests for module 'unicase/u8-casefold'.
47106         * modules/unicase/u8-casefold-tests: New file.
47107         * tests/unicase/test-u8-casefold.c: New file.
47108
47109         New module 'unicase/u32-casefold'.
47110         * lib/unicase/u32-casefold.c: New file.
47111         * modules/unicase/u32-casefold: New file.
47112
47113         New module 'unicase/u16-casefold'.
47114         * lib/unicase/u16-casefold.c: New file.
47115         * modules/unicase/u16-casefold: New file.
47116
47117         New module 'unicase/u8-casefold'.
47118         * lib/unicase/u8-casefold.c: New file.
47119         * lib/unicase/u-casefold.h: New file.
47120         * modules/unicase/u8-casefold: New file.
47121
47122         New module 'unicase/tocasefold'.
47123         * lib/unicase/casefold.h: New file.
47124         * lib/unicase/tocasefold.c: New file.
47125         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47126         * modules/unicase/tocasefold: New file.
47127
47128         Tests for module 'unicase/u32-totitle'.
47129         * modules/unicase/u32-totitle-tests: New file.
47130         * tests/unicase/test-u32-totitle.c: New file.
47131
47132         Tests for module 'unicase/u16-totitle'.
47133         * modules/unicase/u16-totitle-tests: New file.
47134         * tests/unicase/test-u16-totitle.c: New file.
47135
47136         Tests for module 'unicase/u8-totitle'.
47137         * modules/unicase/u8-totitle-tests: New file.
47138         * tests/unicase/test-u8-totitle.c: New file.
47139
47140         New module 'unicase/u32-totitle'.
47141         * lib/unicase/u32-totitle.c: New file.
47142         * modules/unicase/u32-totitle: New file.
47143
47144         New module 'unicase/u16-totitle'.
47145         * lib/unicase/u16-totitle.c: New file.
47146         * modules/unicase/u16-totitle: New file.
47147
47148         New module 'unicase/u8-totitle'.
47149         * lib/unicase/u8-totitle.c: New file.
47150         * lib/unicase/u-totitle.h: New file.
47151         * modules/unicase/u8-totitle: New file.
47152
47153         Tests for module 'unicase/u32-tolower'.
47154         * modules/unicase/u32-tolower-tests: New file.
47155         * tests/unicase/test-u32-tolower.c: New file.
47156
47157         Tests for module 'unicase/u16-tolower'.
47158         * modules/unicase/u16-tolower-tests: New file.
47159         * tests/unicase/test-u16-tolower.c: New file.
47160
47161         Tests for module 'unicase/u8-tolower'.
47162         * modules/unicase/u8-tolower-tests: New file.
47163         * tests/unicase/test-u8-tolower.c: New file.
47164
47165         New module 'unicase/u32-tolower'.
47166         * lib/unicase/u32-tolower.c: New file.
47167         * modules/unicase/u32-tolower: New file.
47168
47169         New module 'unicase/u16-tolower'.
47170         * lib/unicase/u16-tolower.c: New file.
47171         * modules/unicase/u16-tolower: New file.
47172
47173         New module 'unicase/u8-tolower'.
47174         * lib/unicase/u8-tolower.c: New file.
47175         * modules/unicase/u8-tolower: New file.
47176
47177         Tests for module 'unicase/u32-toupper'.
47178         * modules/unicase/u32-toupper-tests: New file.
47179         * tests/unicase/test-u32-toupper.c: New file.
47180
47181         Tests for module 'unicase/u16-toupper'.
47182         * modules/unicase/u16-toupper-tests: New file.
47183         * tests/unicase/test-u16-toupper.c: New file.
47184
47185         Tests for module 'unicase/u8-toupper'.
47186         * modules/unicase/u8-toupper-tests: New file.
47187         * tests/unicase/test-u8-toupper.c: New file.
47188
47189         New module 'unicase/u32-toupper'.
47190         * lib/unicase/u32-toupper.c: New file.
47191         * modules/unicase/u32-toupper: New file.
47192
47193         New module 'unicase/u16-toupper'.
47194         * lib/unicase/u16-toupper.c: New file.
47195         * modules/unicase/u16-toupper: New file.
47196
47197         New module 'unicase/u8-toupper'.
47198         * lib/unicase/u8-toupper.c: New file.
47199         * modules/unicase/u8-toupper: New file.
47200
47201         New module 'unicase/u32-casemap'.
47202         * lib/unicase/u32-casemap.c: New file.
47203         * modules/unicase/u32-casemap: New file.
47204
47205         New module 'unicase/u16-casemap'.
47206         * lib/unicase/u16-casemap.c: New file.
47207         * modules/unicase/u16-casemap: New file.
47208
47209         New module 'unicase/u8-casemap'.
47210         * lib/unicase/unicasemap.h: New file.
47211         * lib/unicase/u8-casemap.c: New file.
47212         * lib/unicase/u-casemap.h: New file.
47213         * modules/unicase/u8-casemap: New file.
47214
47215         New module 'unicase/special-casing'.
47216         * lib/unicase/special-casing.h: New file.
47217         * lib/unicase/special-casing.c: New file.
47218         * lib/unicase/special-casing-table.gperf: New file, generated by
47219         gen-uni-tables.c.
47220         * modules/unicase/special-casing: New file.
47221
47222         Tests for module 'unicase/locale-language'.
47223         * modules/unicase/locale-language-tests: New file.
47224         * tests/unicase/test-locale-language.sh: New file.
47225         * tests/unicase/test-locale-language.c: New file.
47226
47227         New module 'unicase/locale-language'.
47228         * lib/unicase/locale-language.c: New file.
47229         * lib/unicase/locale-languages.gperf: New file.
47230         * modules/unicase/locale-language: New file.
47231
47232         Generate more tables for case conversion and case folding.
47233         * lib/gen-uni-tables.c (SCC_*): New enum items.
47234         (struct special_casing_rule): New type.
47235         (casing_rules, num_casing_rules, allocated_casing_rules): New
47236         variables.
47237         (add_casing_rule, fill_casing_rules): New functions.
47238         (struct casefold_rule): New type.
47239         (casefolding_rules, num_casefolding_rules,
47240         allocated_casefolding_rules): New variables.
47241         (fill_casefolding_rules): New function.
47242         (unicode_casefold): New variable.
47243         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47244         sort_casing_rules, output_casing_rules): New functions.
47245         (main): Accept to more arguments: SpecialCasing.txt and
47246         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47247         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47248         Output mapping for casefolding.
47249
47250         * lib/unicase.h: Include stdbool.h, uninorm.h.
47251         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47252         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47253         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47254         arguments.
47255         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47256         resultp arguments.
47257         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47258         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47259         resultp arguments.
47260         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47261         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47262         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47263         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47264         declarations.
47265         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47266
47267 2009-03-08  Bruno Haible  <bruno@clisp.org>
47268
47269         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47270         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47271         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47272         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47273
47274 2009-03-07  Bruno Haible  <bruno@clisp.org>
47275
47276         Adjust u*_normcmp, u*_normcoll API.
47277         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47278         u16_normcoll, u32_normcoll): Change failure conventions.
47279         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47280         errno and return -1.
47281         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47282
47283 2009-03-07  Bruno Haible  <bruno@clisp.org>
47284
47285         Tests for module 'uninorm/u32-normcoll'.
47286         * modules/uninorm/u32-normcoll-tests: New file.
47287         * tests/uninorm/test-u32-normcoll.c: New file.
47288
47289         Tests for module 'uninorm/u16-normcoll'.
47290         * modules/uninorm/u16-normcoll-tests: New file.
47291         * tests/uninorm/test-u16-normcoll.c: New file.
47292
47293         Tests for module 'uninorm/u8-normcoll'.
47294         * modules/uninorm/u8-normcoll-tests: New file.
47295         * tests/uninorm/test-u8-normcoll.c: New file.
47296
47297 2009-03-07  Bruno Haible  <bruno@clisp.org>
47298
47299         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47300         tests/uninorm/test-u32-normcmp.c.
47301         * tests/uninorm/test-u32-normcmp.c: Include it.
47302         (test_nonascii): New function, extracted from main. Add some more
47303         tests.
47304         (main): Invoke test_ascii and test_nonascii.
47305         * modules/uninorm/u32-normcmp-tests (Files): Add
47306         tests/uninorm/test-u32-normcmp.h.
47307         (Depends-on): Remove uninorm/u32-normcmp.
47308
47309         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47310         tests/uninorm/test-u16-normcmp.c.
47311         * tests/uninorm/test-u16-normcmp.c: Include it.
47312         (test_nonascii): New function, extracted from main. Add some more
47313         tests.
47314         (main): Invoke test_ascii and test_nonascii.
47315         * modules/uninorm/u16-normcmp-tests (Files): Add
47316         tests/uninorm/test-u16-normcmp.h.
47317         (Depends-on): Remove uninorm/u16-normcmp.
47318
47319         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47320         tests/uninorm/test-u8-normcmp.c.
47321         * tests/uninorm/test-u8-normcmp.c: Include it.
47322         (test_nonascii): New function, extracted from main. Add some more
47323         tests.
47324         (main): Invoke test_ascii and test_nonascii.
47325         * modules/uninorm/u8-normcmp-tests (Files): Add
47326         tests/uninorm/test-u8-normcmp.h.
47327         (Depends-on): Remove uninorm/u8-normcmp.
47328
47329 2009-03-07  Bruno Haible  <bruno@clisp.org>
47330
47331         New module 'uninorm/u32-normcoll'.
47332         * lib/uninorm/u32-normcoll.c: New file.
47333         * modules/uninorm/u32-normcoll: New file.
47334
47335         New module 'uninorm/u16-normcoll'.
47336         * lib/uninorm/u16-normcoll.c: New file.
47337         * modules/uninorm/u16-normcoll: New file.
47338
47339         New module 'uninorm/u8-normcoll'.
47340         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47341         declarations.
47342         * lib/uninorm/u8-normcoll.c: New file.
47343         * lib/uninorm/u-normcoll.h: New file.
47344         * modules/uninorm/u8-normcoll: New file.
47345
47346         New module 'uninorm/u32-normxfrm'.
47347         * lib/uninorm/u32-normxfrm.c: New file.
47348         * modules/uninorm/u32-normxfrm: New file.
47349
47350         New module 'uninorm/u16-normxfrm'.
47351         * lib/uninorm/u16-normxfrm.c: New file.
47352         * modules/uninorm/u16-normxfrm: New file.
47353
47354         New module 'uninorm/u8-normxfrm'.
47355         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47356         declarations.
47357         * lib/uninorm/u8-normxfrm.c: New file.
47358         * lib/uninorm/u-normxfrm.h: New file.
47359         * modules/uninorm/u8-normxfrm: New file.
47360
47361 2009-03-07  Bruno Haible  <bruno@clisp.org>
47362
47363         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47364         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47365         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47366
47367 2009-03-07  Bruno Haible  <bruno@clisp.org>
47368
47369         New module 'memxfrm'.
47370         * lib/memxfrm.h: New file.
47371         * lib/memxfrm.c: New file.
47372         * modules/memxfrm: New file.
47373
47374 2009-03-07  Bruno Haible  <bruno@clisp.org>
47375
47376         New module 'memcmp2'.
47377         * lib/memcmp2.h: New file.
47378         * lib/memcmp2.c: New file.
47379         * modules/memcmp2: New file.
47380
47381 2009-03-07  Bruno Haible  <bruno@clisp.org>
47382
47383         Tests for module 'uninorm/decomposing-form'.
47384         * modules/uninorm/decomposing-form-tests: New file.
47385         * tests/uninorm/test-decomposing-form.c: New file.
47386
47387         New module 'uninorm/decomposing-form'.
47388         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47389         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47390         Add 'decomposing_variant' field.
47391         * lib/uninorm/decomposing-form.c: New file.
47392         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47393         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47394         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47395         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47396         * modules/uninorm/decomposing-form: New file.
47397         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47398         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47399
47400 2009-03-07  Bruno Haible  <bruno@clisp.org>
47401
47402         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47403         strings.
47404
47405 2009-03-06  Bruno Haible  <bruno@clisp.org>
47406
47407         Tests for module 'uninorm/u32-normcmp'.
47408         * tests/uninorm/test-u32-normcmp.c: New file.
47409         * modules/uninorm/u32-normcmp-tests: New file.
47410
47411         Tests for module 'uninorm/u16-normcmp'.
47412         * tests/uninorm/test-u16-normcmp.c: New file.
47413         * modules/uninorm/u16-normcmp-tests: New file.
47414
47415         Tests for module 'uninorm/u8-normcmp'.
47416         * tests/uninorm/test-u8-normcmp.c: New file.
47417         * modules/uninorm/u8-normcmp-tests: New file.
47418
47419         New module 'uninorm/u32-normcmp'.
47420         * lib/uninorm/u32-normcmp.c: New file.
47421         * modules/uninorm/u32-normcmp: New file.
47422
47423         New module 'uninorm/u16-normcmp'.
47424         * lib/uninorm/u16-normcmp.c: New file.
47425         * modules/uninorm/u16-normcmp: New file.
47426
47427         New module 'uninorm/u8-normcmp'.
47428         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47429         declarations.
47430         * lib/uninorm/u8-normcmp.c: New file.
47431         * lib/uninorm/u-normcmp.h: New file.
47432         * modules/uninorm/u8-normcmp: New file.
47433
47434 2009-03-06  Bruno Haible  <bruno@clisp.org>
47435
47436         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47437         Reported by Eric Blake.
47438
47439 2009-03-06  Eric Blake  <ebb9@byu.net>
47440             Bruno Haible  <bruno@clisp.org>
47441
47442         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47443         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47444         condition.
47445         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47446         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47447         condition.
47448         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47449
47450 2009-03-06  Eric Blake  <ebb9@byu.net>
47451
47452         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47453         to avoid compiler warnings.
47454         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47455
47456 2009-03-05  Bruno Haible  <bruno@clisp.org>
47457
47458         * tests/test-ftell.c (main): Disable test beyond end of file on
47459         FreeMiNT.
47460         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47461
47462 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47463
47464         * lib/filevercmp.c: Move hidden files up in ordering.
47465         * tests/test-filevercmp.c: Add tests for hidden files.
47466
47467 2009-03-04  Bruno Haible  <bruno@clisp.org>
47468
47469         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47470         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47471         AM_CFLAGS.
47472         Reported by Simon Josefsson.
47473
47474 2009-03-03  Bruno Haible  <bruno@clisp.org>
47475
47476         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47477         Reported by Simon Josefsson.
47478
47479         * doc/ld-version-script.texi: Update node reference.
47480
47481 2009-03-03  Bruno Haible  <bruno@clisp.org>
47482
47483         * modules/visibility (License): Change to 'unlimited'.
47484         Suggested by Simon Josefsson.
47485
47486 2009-03-03  Jim Meyering  <meyering@redhat.com>
47487
47488         unlinkdir: cannot_unlink_dir may modify process state
47489         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47490         it's neither thread-safe nor appropriate for use in a library.
47491
47492 2009-03-03  Eric Blake  <ebb9@byu.net>
47493
47494         test-closein: silence test under Darwin
47495         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47496         care if it dies from EPIPE or EBADF.
47497
47498 2009-03-03  Bruno Haible  <bruno@clisp.org>
47499
47500         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47501         earlier.
47502         * doc/visibility.texi: Fix @node and @section.
47503
47504 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47505
47506         * doc/gnulib.texi: Link to sections for ld version script and
47507         visibility.
47508         * doc/visibility.texi: Add @node and @section.
47509         * modules/ld-version-script: New module.
47510         * m4/ld-version-script.m4: New file.
47511         * doc/ld-version-script.texi: New file.
47512
47513 2009-03-02  David Lutterkort  <lutter@redhat.com>
47514
47515         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47516         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47517
47518 2009-03-02  Bruno Haible  <bruno@clisp.org>
47519
47520         * doc/visibility.texi: Mention libtool's -export-symbols option.
47521
47522 2009-03-02  Jim Meyering  <meyering@redhat.com>
47523
47524         announce-gen: new option: --no-print-checksums
47525         * build-aux/announce-gen (usage): Describe it.
47526         (print_checksums): Print a newline here, not in the [*] footnote.
47527         (main): Honor it.
47528
47529 2009-03-01  Bruno Haible  <bruno@clisp.org>
47530
47531         Use socklen_t in the native Windows replacements prototypes.
47532         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47533         instead of 'int'.
47534         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47535         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47536         * modules/getsockopt (Depends-on): Add socklen.
47537         * modules/setsockopt (Depends-on): Add socklen.
47538
47539 2009-03-01  Bruno Haible  <bruno@clisp.org>
47540
47541         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47542         least 4.2.
47543
47544 2009-03-01  Eric Blake  <ebb9@byu.net>
47545             Bruno Haible  <bruno@clisp.org>
47546
47547         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47548         error messages.
47549         * lib/wait-process.c (wait_subprocess): Omit error message about
47550         deadly signal sent to the child of termsigp != NULL.
47551
47552 2009-03-01  Eric Blake  <ebb9@byu.net>
47553
47554         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47555
47556 2009-03-01  Bruno Haible  <bruno@clisp.org>
47557
47558         Avoid a gcc warning.
47559         * tests/test-sched.c (b): Make global.
47560         Reported by Eric Blake.
47561
47562 2009-01-19  Martin Lambers  <marlam@marlam.de>
47563
47564         Provide POSIX semantics for socket timeout options on W32.
47565         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47566         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47567         * modules/setsockopt: Depend on sys_time module for struct timeval.
47568         * modules/getsockopt: Depend on sys_time module for struct timeval.
47569
47570 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47571
47572         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47573         __USE_GNU, for consistency with netdb.in.h.
47574         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47575
47576 2009-03-01  Bruno Haible  <bruno@clisp.org>
47577
47578         More support for FreeMiNT.
47579         * lib/fseeko.c (rpl_fseeko): Complete last commit.
47580         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47581
47582 2009-03-01  Bruno Haible  <bruno@clisp.org>
47583
47584         More support for FreeMiNT.
47585         * lib/fpurge.c (fpurge): Correct last commit.
47586         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47587
47588 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47589
47590         Fix unportable awk script in vc-list-files.
47591         * build-aux/vc-list-files: In the replacement awk script, use
47592         substr with a second argument of 1, not zero.
47593         Report by Simon Josefsson.
47594
47595 2009-02-28  Bruno Haible  <bruno@clisp.org>
47596
47597         More support for FreeMiNT.
47598         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47599         to FreeMiNT today.
47600         * lib/fwriting.c (fwriting): Likewise.
47601         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47602
47603 2009-02-28  Bruno Haible  <bruno@clisp.org>
47604
47605         * tests/test-freadseek.c (main): Disable test beyond end of file on
47606         FreeMiNT.
47607         * tests/test-ftello.c (main): Likewise.
47608         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47609
47610 2009-02-28  Bruno Haible  <bruno@clisp.org>
47611
47612         Add tentative support for FreeMiNT.
47613         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47614         * lib/fpurge.c (fpurge): Likewise.
47615         * lib/freadable.c (freadable): Likewise.
47616         * lib/freading.c (freading): Likewise.
47617         * lib/freadptr.c (freadptr): Likewise.
47618         * lib/freadseek.c (freadptrinc): Likewise.
47619         * lib/fseeko.c (rpl_fseeko): Likewise.
47620         * lib/fseterr.c (fseterr): Likewise.
47621         * lib/fwritable.c (fwritable): Likewise.
47622         * lib/fwriting.c (fwriting): Likewise.
47623         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47624         Hourihane.
47625         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47626
47627 2009-02-28  Bruno Haible  <bruno@clisp.org>
47628
47629         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47630         SIGCHLD.
47631         Reported by Jim Meyering.
47632
47633 2009-02-28  Bruno Haible  <bruno@clisp.org>
47634
47635         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47636         Mention the results of these tests on various platforms.
47637         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47638         order.
47639         * doc/posix-functions/printf.texi: Likewise.
47640         * doc/posix-functions/snprintf.texi: Likewise.
47641         * doc/posix-functions/sprintf.texi: Likewise.
47642         * doc/posix-functions/vfprintf.texi: Likewise.
47643         * doc/posix-functions/vprintf.texi: Likewise.
47644         * doc/posix-functions/vsnprintf.texi: Likewise.
47645         * doc/posix-functions/vsprintf.texi: Likewise.
47646         * doc/glibc-functions/obstack_printf.texi: Likewise.
47647         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47648
47649 2009-02-28  Bruno Haible  <bruno@clisp.org>
47650
47651         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47652         Reported by Loïc Minier <lool@dooz.org>.
47653
47654 2009-02-27  Bruno Haible  <bruno@clisp.org>
47655
47656         * gnulib-tool (func_import): Make the sed expression used to create the
47657         sed script for updating the .gitignore file POSIX compliant.
47658         Reported by Eric Blake.
47659
47660 2009-02-27  Bruno Haible  <bruno@clisp.org>
47661
47662         * gnulib-tool (sed): Don't alias as "sed --posix".
47663         Reported by Eric Blake.
47664
47665 2009-02-27  Bruno Haible  <bruno@clisp.org>
47666
47667         Avoid test link errors.
47668         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
47669         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
47670         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
47671         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
47672         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47673
47674 2009-02-27  Bruno Haible  <bruno@clisp.org>
47675
47676         Avoid spurious "(cached)" in configure output.
47677         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
47678         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
47679         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47680         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47681         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47682         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47683         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47684         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47685         Reported by Eric Blake.
47686
47687 2009-02-27  Eric Blake  <ebb9@byu.net>
47688
47689         printf: fix regression in previous patch
47690         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47691
47692 2009-02-27  Bruno Haible  <bruno@clisp.org>
47693
47694         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47695         value.
47696         * lib/stdint.in.h: Likewise.
47697         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47698
47699 2009-02-27  Eric Blake  <ebb9@byu.net>
47700
47701         doc: mention more functions added in cygwin 1.7.0
47702         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47703         addition.
47704         * doc/posix-functions/open_wmemstream.texi: Likewise.
47705         * doc/posix-functions/wcsnlen.texi: Likewise.
47706         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47707         * doc/posix-functions/wcstod.texi: Likewise.
47708         * doc/posix-functions/wcstof.texi: Likewise.
47709         * doc/posix-functions/wcstoimax.texi: Likewise.
47710         * doc/posix-functions/wcstok.texi: Likewise.
47711         * doc/posix-functions/wcstoumax.texi: Likewise.
47712
47713         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47714         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47715         * doc/posix-functions/fprintf.texi: Update.
47716         * doc/posix-functions/printf.texi: Update.
47717         * doc/posix-functions/snprintf.texi: Update.
47718         * doc/posix-functions/sprintf.texi: Update.
47719         * doc/posix-functions/vfprintf.texi: Update.
47720         * doc/posix-functions/vprintf.texi: Update.
47721         * doc/posix-functions/vsnprintf.texi: Update.
47722         * doc/posix-functions/vsprintf.texi: Update.
47723         * doc/glibc-functions/obstack_printf.texi: Update.
47724         * doc/glibc-functions/obstack_vprintf.texi: Update.
47725
47726 2009-02-26  Eric Blake  <ebb9@byu.net>
47727
47728         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47729         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47730         compilation bug by using runtime conversion.
47731         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47732         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47733         * modules/ceill-tests (Files): Use nan.h.
47734         * modules/floorl-tests (Files): Likewise.
47735         * modules/frexpl-tests (Files): Likewise.
47736         * modules/isnanl-tests (Files): Likewise.
47737         * modules/ldexpl-tests (Files): Likewise.
47738         * modules/roundl-tests (Files): Likewise.
47739         * modules/truncl-tests (Files): Likewise.
47740         * tests/test-ceill.c (main): Use a working NaN.
47741         * tests/test-floorl.c (main): Likewise.
47742         * tests/test-frexpl.c (main): Likewise.
47743         * tests/test-isnan.c (test_long_double): Likewise.
47744         * tests/test-isnanl.h (main): Likewise.
47745         * tests/test-ldexpl.h (main): Likewise.
47746         * tests/test-roundl.h (main): Likewise.
47747         * tests/test-truncl.h (main): Likewise.
47748         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47749
47750 2009-02-26  Eric Blake  <ebb9@byu.net>
47751             Bruno Haible  <bruno@clisp.org>
47752
47753         Work around a *printf bug with %ls on Solaris.
47754         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47755         precision is specified, sprintf stops converting the wide string
47756         argument when the number of bytes that have been produced by this
47757         conversion equals or exceeds the precision.
47758         * doc/posix-functions/fprintf.texi: Update.
47759         * doc/posix-functions/printf.texi: Update.
47760         * doc/posix-functions/snprintf.texi: Update.
47761         * doc/posix-functions/sprintf.texi: Update.
47762         * doc/posix-functions/vfprintf.texi: Update.
47763         * doc/posix-functions/vprintf.texi: Update.
47764         * doc/posix-functions/vsnprintf.texi: Update.
47765         * doc/posix-functions/vsprintf.texi: Update.
47766         * doc/glibc-functions/obstack_printf.texi: Update.
47767         * doc/glibc-functions/obstack_vprintf.texi: Update.
47768
47769 2009-02-26  Eric Blake  <ebb9@byu.net>
47770
47771         stdlib: favor compiler check of random.h
47772         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47773         to avoid an ObjC random.h installed by Swarm.
47774
47775 2009-02-26  Bruno Haible  <bruno@clisp.org>
47776
47777         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47778         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47779         Reported by Gary V. Vaughan <gary@gnu.org>.
47780
47781 2009-02-26  Bruno Haible  <bruno@clisp.org>
47782
47783         Fix *printf behaviour regarding the %ls directive.
47784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47785         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47786         NEED_PRINTF_DIRECTIVE_LS.
47787         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47788         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47789         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47790         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47791         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47792         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47793         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47794         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47795         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47796         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47797         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47798         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47799         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47800         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47801         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47802         * doc/posix-functions/fprintf.texi: Update.
47803         * doc/posix-functions/printf.texi: Update.
47804         * doc/posix-functions/snprintf.texi: Update.
47805         * doc/posix-functions/sprintf.texi: Update.
47806         * doc/posix-functions/vfprintf.texi: Update.
47807         * doc/posix-functions/vprintf.texi: Update.
47808         * doc/posix-functions/vsnprintf.texi: Update.
47809         * doc/posix-functions/vsprintf.texi: Update.
47810         * doc/glibc-functions/obstack_printf.texi: Update.
47811         * doc/glibc-functions/obstack_vprintf.texi: Update.
47812         Reported by Eric Blake.
47813
47814 2009-02-25  Bruno Haible  <bruno@clisp.org>
47815
47816         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47817         with known value.
47818         Reported by Gary V. Vaughan <gary@gnu.org>.
47819
47820 2009-02-25  Bruno Haible  <bruno@clisp.org>
47821
47822         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47823         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47824         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47825         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47826         Reported by Gary V. Vaughan <gary@gnu.org>.
47827
47828 2009-02-25  Bruno Haible  <bruno@clisp.org>
47829
47830         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47831         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47832         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47833         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47834         Reported by Gary V. Vaughan <gary@gnu.org>.
47835
47836 2009-02-25  Eric Blake  <ebb9@byu.net>
47837
47838         tests: skip fseek/ftell tests if ungetc is broken
47839         * m4/ungetc.m4: New file.
47840         * modules/fseek-tests: Split test, so ungetc dependency is
47841         separate from rest of test.
47842         * modules/fseeko-tests: Likewise.
47843         * modules/ftell-tests: Likewise.
47844         * modules/ftello-tests: Likewise.
47845         * tests/test-fseek.c (main): Isolate ungetc dependency.
47846         * tests/test-fseeko.c (main): Likewise.
47847         * tests/test-ftell.c (main): Likewise.
47848         * tests/test-ftello.c (main): Likewise.
47849         * tests/test-fseek2.sh: New file.
47850         * tests/test-fseeko2.sh: Likewise.
47851         * tests/test-ftell2.sh: Likewise.
47852         * tests/test-ftello2.sh: Likewise.
47853
47854 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
47855
47856         test-getaddrinfo: fix usage of skip return code 77
47857         * tests/test-gettaddrinfo.c: Return skip code 77 only
47858         for first occurrence of skip (4x77 is not 77)
47859
47860 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47861
47862         strtod: avoid C99 decl-after-statement
47863         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47864
47865 2009-02-24  Eric Blake  <ebb9@byu.net>
47866
47867         strtod: detect HP-UX 11.31 bug
47868         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47869         Reported by Gary V. Vaughan.
47870
47871 2009-02-23  Bruno Haible  <bruno@clisp.org>
47872
47873         Fix invalid read past end of memory block.
47874         * lib/vasnprintf.c (DCHAR_SET): Define.
47875         (local_wcslen): Define only when needed.
47876         (local_strnlen, local_wcsnlen): New functions.
47877         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47878         directives that involve a conversion ourselves.
47879         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47880         wcsnlen, mbrtowc, wcrtomb.
47881         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47882         * tests/test-vasprintf-posix.c (test_function): Likewise.
47883         * tests/test-snprintf-posix.h (test_function): Likewise.
47884         * tests/test-sprintf-posix.h (test_function): Likewise.
47885         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47886
47887 2009-02-22  Bruno Haible  <bruno@clisp.org>
47888
47889         Implement new clarified decomposition of Hangul syllables.
47890         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47891         of type LTV, return only a pairwise decomposition.
47892         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47893         Likewise.
47894         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47895         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47896         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47897
47898 2009-02-22  Bruno Haible  <bruno@clisp.org>
47899
47900         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47901         zero-length results and shrink excess allocated memory.
47902         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47903         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47904         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47905         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47906         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47907         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47908         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47909         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47910         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47911         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47912         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47913         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47914
47915 2009-02-21  Bruno Haible  <bruno@clisp.org>
47916
47917         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47918         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47919         spaces after a period. Put a space between a macro name and its
47920         argument list. Trivial rewordings.
47921         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47922         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47923         (main): Return 0 explicitly.
47924
47925 2009-02-21  Bruno Haible  <bruno@clisp.org>
47926
47927         Tests for module 'uninorm/filter'.
47928         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47929         * modules/uninorm/filter-tests: New file.
47930
47931         New module 'uninorm/filter'.
47932         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47933         uninorm_filter_flush, uninorm_filter_free): New declarations.
47934         * lib/uninorm/uninorm-filter.c: New file.
47935         * modules/uninorm/filter: New file.
47936
47937 2009-02-21  Bruno Haible  <bruno@clisp.org>
47938
47939         Tests for module 'uninorm/nfkc'.
47940         * tests/uninorm/test-nfkc.c: New file.
47941         * tests/uninorm/test-u8-nfkc.c: New file.
47942         * tests/uninorm/test-u16-nfkc.c: New file.
47943         * tests/uninorm/test-u32-nfkc.c: New file.
47944         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47945         * tests/uninorm/test-u32-nfkc-big.c: New file.
47946         * modules/uninorm/nfkc-tests: New file.
47947
47948         New module 'uninorm/nfkc'.
47949         * lib/uninorm/nfkc.c: New file.
47950         * modules/uninorm/nfkc: New file.
47951
47952         Tests for module 'uninorm/nfkd'.
47953         * tests/uninorm/test-nfkd.c: New file.
47954         * tests/uninorm/test-u8-nfkd.c: New file.
47955         * tests/uninorm/test-u16-nfkd.c: New file.
47956         * tests/uninorm/test-u32-nfkd.c: New file.
47957         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47958         * tests/uninorm/test-u32-nfkd-big.c: New file.
47959         * modules/uninorm/nfkd-tests: New file.
47960
47961         New module 'uninorm/nfkd'.
47962         * lib/uninorm/nfkd.c: New file.
47963         * modules/uninorm/nfkd: New file.
47964
47965         Tests for module 'uninorm/nfc'.
47966         * tests/uninorm/test-nfc.c: New file.
47967         * tests/uninorm/test-u8-nfc.c: New file.
47968         * tests/uninorm/test-u16-nfc.c: New file.
47969         * tests/uninorm/test-u32-nfc.c: New file.
47970         * tests/uninorm/test-u32-nfc-big.sh: New file.
47971         * tests/uninorm/test-u32-nfc-big.c: New file.
47972         * modules/uninorm/nfc-tests: New file.
47973
47974         New module 'uninorm/nfc'.
47975         * lib/uninorm/nfc.c: New file.
47976         * modules/uninorm/nfc: New file.
47977
47978         Tests for module 'uninorm/nfd'.
47979         * tests/uninorm/test-nfd.c: New file.
47980         * tests/uninorm/test-u8-nfd.c: New file.
47981         * tests/uninorm/test-u16-nfd.c: New file.
47982         * tests/uninorm/test-u32-nfd.c: New file.
47983         * tests/uninorm/test-u32-nfd-big.sh: New file.
47984         * tests/uninorm/test-u32-nfd-big.c: New file.
47985         * tests/uninorm/test-u32-normalize-big.h: New file.
47986         * tests/uninorm/test-u32-normalize-big.c: New file.
47987         * tests/uninorm/NormalizationTest.txt: New file, created from
47988         Unicode 5.1.0 NormalizationTest.txt.
47989         * modules/uninorm/nfd-tests: New file.
47990
47991         New module 'uninorm/nfd'.
47992         * lib/uninorm/nfd.c: New file.
47993         * modules/uninorm/nfd: New file.
47994
47995         New module 'uninorm/u32-normalize'.
47996         * lib/uninorm/u32-normalize.c: New file.
47997         * modules/uninorm/u32-normalize: New file.
47998
47999         New module 'uninorm/u16-normalize'.
48000         * lib/uninorm/u16-normalize.c: New file.
48001         * modules/uninorm/u16-normalize: New file.
48002
48003         New module 'uninorm/u8-normalize'.
48004         * lib/uninorm/u8-normalize.c: New file.
48005         * lib/uninorm/normalize-internal.h: New file.
48006         * lib/uninorm/u-normalize-internal.h: New file.
48007         * modules/uninorm/u8-normalize: New file.
48008
48009         New module 'uninorm/decompose-internal'.
48010         * lib/uninorm/decompose-internal.c: New file.
48011         * modules/uninorm/decompose-internal: New file.
48012
48013         Tests for module 'uninorm/composition'.
48014         * tests/uninorm/test-composition.c: New file.
48015         * modules/uninorm/composition-tests: New file.
48016
48017         New module 'uninorm/composition'.
48018         * lib/uninorm/composition.c: New file.
48019         * lib/uninorm/composition-table.gperf: New file, generated by
48020         gen-uni-tables.
48021         * modules/uninorm/composition: New file.
48022
48023         Tests for module 'uninorm/compat-decomposition'.
48024         * tests/uninorm/test-compat-decomposition.c: New file.
48025         * modules/uninorm/compat-decomposition-tests: New file.
48026
48027         New module 'uninorm/compat-decomposition'.
48028         * lib/uninorm/decompose-internal.h: New file.
48029         * lib/uninorm/compat-decomposition.c: New file.
48030         * modules/uninorm/compat-decomposition: New file.
48031
48032         Tests for module 'uninorm/canonical-decomposition'.
48033         * tests/uninorm/test-canonical-decomposition.c: New file.
48034         * modules/uninorm/canonical-decomposition-tests: New file.
48035
48036         New module 'uninorm/canonical-decomposition'.
48037         * lib/uninorm/canonical-decomposition.c: New file.
48038         * modules/uninorm/canonical-decomposition: New file.
48039
48040         Tests for module 'uninorm/decomposition'.
48041         * tests/uninorm/test-decomposition.c: New file.
48042         * modules/uninorm/decomposition-tests: New file.
48043
48044         New module 'uninorm/decomposition'.
48045         * lib/uninorm/decomposition.c: New file.
48046         * modules/uninorm/decomposition: New file.
48047
48048         New module 'uninorm/decomposition-table'.
48049         * lib/uninorm/decomposition-table.h: New file.
48050         * lib/uninorm/decomposition-table.c: New file.
48051         * lib/uninorm/decomposition-table1.h: New file, generated by
48052         gen-uni-tables.
48053         * lib/uninorm/decomposition-table2.h: New file, generated by
48054         gen-uni-tables.
48055         * modules/uninorm/decomposition-table: New file.
48056
48057         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48058         (UC_DECOMP_*): New enumeration items.
48059         (get_decomposition): New function.
48060         (struct decomp_table): New type.
48061         (output_decomposition, output_decomposition_tables): New functions.
48062         (unicode_composition_exclusions): New variable.
48063         (fill_composition_exclusions, debug_output_composition_tables): New
48064         functions.
48065         (main): Accept one more argument. Invoke fill_composition_exclusions.
48066         Output decomposition and composition tables.
48067
48068         New module 'uninorm/base'.
48069         * lib/uninorm.h: New file.
48070         * lib/unictype.h: Update comment.
48071         * modules/uninorm/base: New file.
48072
48073 2009-02-21  David Lutterkort  <lutter@redhat.com>
48074
48075         Tests for module 'safe-alloc'.
48076         * tests/test-safe-alloc.c: New file.
48077         * modules/safe-alloc-tests: New file.
48078
48079         New module 'safe-alloc'.
48080         * lib/safe-alloc.h: New file.
48081         * lib/safe-alloc.c: New file.
48082         * m4/safe-alloc.m4: New file.
48083         * modules/safe-alloc: New file.
48084         * doc/safe-alloc.texi: New file.
48085         * doc/gnulib.texi: Include it.
48086         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48087         safe-alloc.
48088
48089 2009-02-18  Bruno Haible  <bruno@clisp.org>
48090
48091         Fix link error on non-glibc systems.
48092         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48093         variable.
48094         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48095
48096 2009-02-18  Jim Meyering  <meyering@redhat.com>
48097
48098         fts: avoid used-uninitialized error due to recent change
48099         * lib/fts.c (fts_read): Guard uses of the new member,
48100         parent->fts_n_dirs_remaining, since it's not relevant for
48101         the parent of a directory specified on the command-line.
48102
48103 2009-02-17  James Youngman  <jay@gnu.org>
48104             Bruno Haible  <bruno@clisp.org>
48105
48106         * m4/include_next.m4: Reformulate comment.
48107
48108 2009-02-16  Jim Meyering  <meyering@redhat.com>
48109
48110         fts: add #if guards so that the fts_lgpl module still builds
48111         * lib/fts.c: Guard just-added hash-table-using parts with
48112         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48113         Reported by Simon Josefsson.
48114
48115 2009-02-15  Bruno Haible  <bruno@clisp.org>
48116
48117         * modules/array-mergesort-tests: New file.
48118         * tests/test-array-mergesort.c: New file.
48119
48120         New module 'array-mergesort'.
48121         * modules/array-mergesort: New file.
48122         * lib/array-mergesort.h: New file.
48123
48124 2009-02-15  Bruno Haible  <bruno@clisp.org>
48125
48126         Fix 2009-02-07 commit.
48127         * lib/gen-uni-tables.c (output_predicate, output_category,
48128         output_combclass, output_bidi_category, output_decimal_digit,
48129         output_digit, output_numeric, output_mirror, output_scripts,
48130         output_ident_category, output_simple_mapping): Fix format directives.
48131         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48132
48133 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48134
48135         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48136         fixes are available from IBM.
48137
48138 2009-02-13  Jim Meyering  <meyering@redhat.com>
48139
48140         fts: arrange not to stat non-directories in more cases
48141         This makes GNU find (when it doesn't need to stat each file)
48142         *much* more efficient at traversing reiserfs file systems.
48143         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48144         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48145         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48146         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48147         (leaf_optimization_applies): New function.
48148         (LCO_hash, LCO_compare): New helper functions.
48149         (link_count_optimize_ok): New function.
48150         (fts_stat): Initialize new member (if dir).
48151         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48152         we've just stat'ed a directory.  Skip the stat call when possible.
48153         ---
48154         Note this AFS-related exchange:
48155         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48156         and note find's pioctl call in find/fstype.c.
48157         But that is necessary only if you want to enable the
48158         optimization for AFS, and for now, I don't.
48159
48160         fts: move a function definition "up" (no semantic change)
48161         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48162         "up" to precede upcoming use of a related function.
48163
48164 2009-02-11  Jim Meyering  <meyering@redhat.com>
48165
48166         fts: correct internal computation of nlinks (optimization-related)
48167         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48168         whether the current entry is a directory, so don't test it.
48169
48170 2009-02-10  Bruno Haible  <bruno@clisp.org>
48171
48172         Tests for module 'uniwbrk/ulc-wordbreaks'.
48173         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48174         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48175         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48176
48177         Tests for module 'uniwbrk/u32-wordbreaks'.
48178         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48179         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48180
48181         Tests for module 'uniwbrk/u16-wordbreaks'.
48182         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48183         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48184
48185         Tests for module 'uniwbrk/u8-wordbreaks'.
48186         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48187         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48188
48189 2009-02-10  Bruno Haible  <bruno@clisp.org>
48190
48191         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48192         property.
48193         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48194         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48195         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48196
48197 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48198
48199         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48200         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48201
48202 2009-02-10  Bruno Haible  <bruno@clisp.org>
48203
48204         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48205         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48206         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48207         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48208         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48209         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48210
48211 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48212
48213         * lib/sockets.h (gl_fd_to_handle): New function.
48214
48215         * tests/test-sockets.c: Call gl_fd_to_handle.
48216
48217 2009-02-09  Bruno Haible  <bruno@clisp.org>
48218
48219         * doc/havelib.texi: Document the conventions on bi-arch systems.
48220
48221 2009-02-08  Bruno Haible  <bruno@clisp.org>
48222
48223         Document the AC_LIB_LINKFLAGS macro.
48224         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48225         * doc/gnulib.texi: Include it.
48226
48227 2009-02-08  Bruno Haible  <bruno@clisp.org>
48228
48229         Fix wrong order of sections, compared to TOC.
48230         * doc/gnulib.texi: Include relocatable-maint.texi after the
48231         "Regular expressions" node, not before.
48232
48233 2009-02-08  Bruno Haible  <bruno@clisp.org>
48234
48235         Tests for module 'unicase/totitle'.
48236         * modules/unicase/totitle-tests: New file.
48237
48238         Tests for module 'unicase/tolower'.
48239         * modules/unicase/tolower-tests: New file.
48240
48241         Tests for module 'unicase/toupper'.
48242         * modules/unicase/toupper-tests: New file.
48243         * tests/unicase/test-mapping-part1.h: New file.
48244         * tests/unicase/test-mapping-part2.h: New file.
48245
48246         New module 'unicase/totitle'.
48247         * modules/unicase/totitle: New file.
48248         * lib/unicase/totitle.c: New file.
48249
48250         New module 'unicase/tolower'.
48251         * modules/unicase/tolower: New file.
48252         * lib/unicase/tolower.c: New file.
48253
48254         New module 'unicase/toupper'.
48255         * modules/unicase/toupper: New file.
48256         * lib/unicase/toupper.c: New file.
48257         * lib/unicase/simple-mapping.h: New file.
48258
48259         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48260         (mapping_table): New structure.
48261         (output_simple_mapping): New function.
48262         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48263         * modules/gen-uni-tables (Description): Update.
48264         * lib/unicase/toupper.h: New file, automatically generated by
48265         gen-uni-tables.
48266         * lib/unicase/tolower.h: New file, automatically generated by
48267         gen-uni-tables.
48268         * lib/unicase/totitle.h: New file, automatically generated by
48269         gen-uni-tables.
48270         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48271         gen-uni-tables.
48272         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48273         gen-uni-tables.
48274         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48275         gen-uni-tables.
48276
48277         New module 'unicase/base'.
48278         * modules/unicase/base: New file.
48279         * lib/unicase.h: New file.
48280
48281 2009-02-08  Bruno Haible  <bruno@clisp.org>
48282
48283         New module 'uniwbrk/ulc-wordbreaks'.
48284         * modules/uniwbrk/ulc-wordbreaks: New file.
48285         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48286
48287         New module 'uniwbrk/u32-wordbreaks'.
48288         * modules/uniwbrk/u32-wordbreaks: New file.
48289         * lib/uniwbrk/u32-wordbreaks.c: New file.
48290
48291         New module 'uniwbrk/u16-wordbreaks'.
48292         * modules/uniwbrk/u16-wordbreaks: New file.
48293         * lib/uniwbrk/u16-wordbreaks.c: New file.
48294
48295         New module 'uniwbrk/u8-wordbreaks'.
48296         * modules/uniwbrk/u8-wordbreaks: New file.
48297         * lib/uniwbrk/u8-wordbreaks.c: New file.
48298         * lib/uniwbrk/u-wordbreaks.h: New file.
48299
48300         New module 'uniwbrk/table'.
48301         * modules/uniwbrk/table: New file.
48302         * lib/uniwbrk/wbrktable.h: New file.
48303         * lib/uniwbrk/wbrktable.c: New file.
48304
48305         New module 'uniwbrk/wordbreak-property'.
48306         * modules/uniwbrk/wordbreak-property: New file.
48307         * lib/uniwbrk/wordbreak-property.c: New file.
48308
48309         * lib/gen-uni-tables.c (WBP_*): New enum items.
48310         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48311         (unicode_org_wbp): New variable.
48312         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48313         New functions.
48314         (wbp_table): New structure.
48315         (output_wbp, output_wbrk_tables): New functions.
48316         (main): Accept additional argument. Invoke fill_org_wbp,
48317         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48318         output_wbrk_tables.
48319         * modules/gen-uni-tables (Description): Update.
48320         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48321         gen-uni-tables.
48322
48323         New module 'uniwbrk/base'.
48324         * modules/uniwbrk/base: New file.
48325         * lib/uniwbrk.h: New file.
48326
48327 2009-02-08  Bruno Haible  <bruno@clisp.org>
48328
48329         Update to Unicode 5.1.0.
48330         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48331         U+2185..U+2188.
48332         (is_property_default_ignorable_code_point): Don't include characters
48333         of category Cc or Cs and not-a-characters.
48334         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48335         U+0D79, U+109E, U+109F, U+A60C.
48336         * lib/unictype/bidi_of.h: Regenerated.
48337         * lib/unictype/blocks.h: Regenerated.
48338         * lib/unictype/categ_C.h: Regenerated.
48339         * lib/unictype/categ_Cf.h: Regenerated.
48340         * lib/unictype/categ_Cn.h: Regenerated.
48341         * lib/unictype/categ_L.h: Regenerated.
48342         * lib/unictype/categ_Ll.h: Regenerated.
48343         * lib/unictype/categ_Lm.h: Regenerated.
48344         * lib/unictype/categ_Lo.h: Regenerated.
48345         * lib/unictype/categ_Lu.h: Regenerated.
48346         * lib/unictype/categ_M.h: Regenerated.
48347         * lib/unictype/categ_Mc.h: Regenerated.
48348         * lib/unictype/categ_Me.h: Regenerated.
48349         * lib/unictype/categ_Mn.h: Regenerated.
48350         * lib/unictype/categ_N.h: Regenerated.
48351         * lib/unictype/categ_Nd.h: Regenerated.
48352         * lib/unictype/categ_Nl.h: Regenerated.
48353         * lib/unictype/categ_No.h: Regenerated.
48354         * lib/unictype/categ_P.h: Regenerated.
48355         * lib/unictype/categ_Pd.h: Regenerated.
48356         * lib/unictype/categ_Pe.h: Regenerated.
48357         * lib/unictype/categ_Pf.h: Regenerated.
48358         * lib/unictype/categ_Pi.h: Regenerated.
48359         * lib/unictype/categ_Po.h: Regenerated.
48360         * lib/unictype/categ_Ps.h: Regenerated.
48361         * lib/unictype/categ_S.h: Regenerated.
48362         * lib/unictype/categ_Sk.h: Regenerated.
48363         * lib/unictype/categ_Sm.h: Regenerated.
48364         * lib/unictype/categ_So.h: Regenerated.
48365         * lib/unictype/categ_of.h: Regenerated.
48366         * lib/unictype/combining.h: Regenerated.
48367         * lib/unictype/ctype_alnum.h: Regenerated.
48368         * lib/unictype/ctype_alpha.h: Regenerated.
48369         * lib/unictype/ctype_graph.h: Regenerated.
48370         * lib/unictype/ctype_lower.h: Regenerated.
48371         * lib/unictype/ctype_print.h: Regenerated.
48372         * lib/unictype/ctype_punct.h: Regenerated.
48373         * lib/unictype/ctype_upper.h: Regenerated.
48374         * lib/unictype/decdigit.h: Regenerated.
48375         * lib/unictype/digit.h: Regenerated.
48376         * lib/unictype/mirror.h: Regenerated.
48377         * lib/unictype/numeric.h: Regenerated.
48378         * lib/unictype/pr_alphabetic.h: Regenerated.
48379         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48380         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48381         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48382         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48383         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48384         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48385         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48386         * lib/unictype/pr_combining.h: Regenerated.
48387         * lib/unictype/pr_dash.h: Regenerated.
48388         * lib/unictype/pr_decimal_digit.h: Regenerated.
48389         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48390         * lib/unictype/pr_deprecated.h: Regenerated.
48391         * lib/unictype/pr_diacritic.h: Regenerated.
48392         * lib/unictype/pr_extender.h: Regenerated.
48393         * lib/unictype/pr_format_control.h: Regenerated.
48394         * lib/unictype/pr_grapheme_base.h: Regenerated.
48395         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48396         * lib/unictype/pr_grapheme_link.h: Regenerated.
48397         * lib/unictype/pr_id_continue.h: Regenerated.
48398         * lib/unictype/pr_id_start.h: Regenerated.
48399         * lib/unictype/pr_ideographic.h: Regenerated.
48400         * lib/unictype/pr_ignorable_control.h: Regenerated.
48401         * lib/unictype/pr_lowercase.h: Regenerated.
48402         * lib/unictype/pr_math.h: Regenerated.
48403         * lib/unictype/pr_numeric.h: Regenerated.
48404         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48405         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48406         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48407         * lib/unictype/pr_other_id_continue.h: Regenerated.
48408         * lib/unictype/pr_other_lowercase.h: Regenerated.
48409         * lib/unictype/pr_other_math.h: Regenerated.
48410         * lib/unictype/pr_punctuation.h: Regenerated.
48411         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48412         * lib/unictype/pr_soft_dotted.h: Regenerated.
48413         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48414         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48415         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48416         * lib/unictype/pr_uppercase.h: Regenerated.
48417         * lib/unictype/pr_xid_continue.h: Regenerated.
48418         * lib/unictype/pr_xid_start.h: Regenerated.
48419         * lib/unictype/pr_zero_width.h: Regenerated.
48420         * lib/unictype/scripts.h: Regenerated.
48421         * lib/unictype/scripts_byname.gperf: Regenerated.
48422         * lib/unictype/sy_java_ident.h: Regenerated.
48423         * lib/unilbrk/lbrkprop1.h: Regenerated.
48424         * lib/unilbrk/lbrkprop2.h: Regenerated.
48425         * tests/unictype/test-categ_C.c: Regenerated.
48426         * tests/unictype/test-categ_Cf.c: Regenerated.
48427         * tests/unictype/test-categ_Cn.c: Regenerated.
48428         * tests/unictype/test-categ_L.c: Regenerated.
48429         * tests/unictype/test-categ_Ll.c: Regenerated.
48430         * tests/unictype/test-categ_Lm.c: Regenerated.
48431         * tests/unictype/test-categ_Lo.c: Regenerated.
48432         * tests/unictype/test-categ_Lu.c: Regenerated.
48433         * tests/unictype/test-categ_M.c: Regenerated.
48434         * tests/unictype/test-categ_Mc.c: Regenerated.
48435         * tests/unictype/test-categ_Me.c: Regenerated.
48436         * tests/unictype/test-categ_Mn.c: Regenerated.
48437         * tests/unictype/test-categ_N.c: Regenerated.
48438         * tests/unictype/test-categ_Nd.c: Regenerated.
48439         * tests/unictype/test-categ_Nl.c: Regenerated.
48440         * tests/unictype/test-categ_No.c: Regenerated.
48441         * tests/unictype/test-categ_P.c: Regenerated.
48442         * tests/unictype/test-categ_Pd.c: Regenerated.
48443         * tests/unictype/test-categ_Pe.c: Regenerated.
48444         * tests/unictype/test-categ_Pf.c: Regenerated.
48445         * tests/unictype/test-categ_Pi.c: Regenerated.
48446         * tests/unictype/test-categ_Po.c: Regenerated.
48447         * tests/unictype/test-categ_Ps.c: Regenerated.
48448         * tests/unictype/test-categ_S.c: Regenerated.
48449         * tests/unictype/test-categ_Sk.c: Regenerated.
48450         * tests/unictype/test-categ_Sm.c: Regenerated.
48451         * tests/unictype/test-categ_So.c: Regenerated.
48452         * tests/unictype/test-ctype_alnum.c: Regenerated.
48453         * tests/unictype/test-ctype_alpha.c: Regenerated.
48454         * tests/unictype/test-ctype_graph.c: Regenerated.
48455         * tests/unictype/test-ctype_lower.c: Regenerated.
48456         * tests/unictype/test-ctype_print.c: Regenerated.
48457         * tests/unictype/test-ctype_punct.c: Regenerated.
48458         * tests/unictype/test-ctype_upper.c: Regenerated.
48459         * tests/unictype/test-decdigit.h: Regenerated.
48460         * tests/unictype/test-digit.h: Regenerated.
48461         * tests/unictype/test-numeric.h: Regenerated.
48462         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48463         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48464         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48465         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48466         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48467         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48468         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48469         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48470         * tests/unictype/test-pr_combining.c: Regenerated.
48471         * tests/unictype/test-pr_dash.c: Regenerated.
48472         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48473         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48474         * tests/unictype/test-pr_deprecated.c: Regenerated.
48475         * tests/unictype/test-pr_diacritic.c: Regenerated.
48476         * tests/unictype/test-pr_extender.c: Regenerated.
48477         * tests/unictype/test-pr_format_control.c: Regenerated.
48478         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48479         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48480         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48481         * tests/unictype/test-pr_id_continue.c: Regenerated.
48482         * tests/unictype/test-pr_id_start.c: Regenerated.
48483         * tests/unictype/test-pr_ideographic.c: Regenerated.
48484         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48485         * tests/unictype/test-pr_lowercase.c: Regenerated.
48486         * tests/unictype/test-pr_math.c: Regenerated.
48487         * tests/unictype/test-pr_numeric.c: Regenerated.
48488         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48489         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48490         Regenerated.
48491         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48492         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48493         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48494         * tests/unictype/test-pr_other_math.c: Regenerated.
48495         * tests/unictype/test-pr_punctuation.c: Regenerated.
48496         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48497         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48498         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48499         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48500         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48501         * tests/unictype/test-pr_uppercase.c: Regenerated.
48502         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48503         * tests/unictype/test-pr_xid_start.c: Regenerated.
48504         * tests/unictype/test-pr_zero_width.c: Regenerated.
48505
48506         Update to Unicode 5.1.0.
48507         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48508         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48509         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48510         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48511         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48512         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48513         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48514         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48515         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48516         (nonspacing_table_ind): Update.
48517         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48518
48519         Update to Unicode 5.1.0.
48520         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48521         code transform.
48522         * lib/uniname/uniname.c (unicode_character_name,
48523         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48524         * lib/uniname/uninames.h: Regenerated.
48525         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48526
48527 2009-02-07  Bruno Haible  <bruno@clisp.org>
48528
48529         Merge gen-ctype and gen-lbrk into a single program.
48530         * lib/gen-uni-tables.c: New file, incorporating
48531         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48532         Add directory prefixes to the names of the generated files.
48533         * lib/unictype/gen-ctype.c: Remove file.
48534         * lib/unilbrk/gen-lbrk.c: Remove file.
48535         * modules/gen-uni-tables: New file.
48536         * modules/unictype/gen-ctype: Remove file.
48537         * modules/unilbrk/gen-lbrk: Remove file.
48538
48539 2009-02-07  Bruno Haible  <bruno@clisp.org>
48540
48541         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48542
48543         New module 'unistr/u32-strcoll'.
48544         * modules/unistr/u32-strcoll: New file.
48545         * lib/unistr/u32-strcoll.c: New file.
48546
48547         New module 'unistr/u16-strcoll'.
48548         * modules/unistr/u16-strcoll: New file.
48549         * lib/unistr/u16-strcoll.c: New file.
48550
48551         New module 'unistr/u8-strcoll'.
48552         * modules/unistr/u8-strcoll: New file.
48553         * lib/unistr/u8-strcoll.c: New file.
48554         * lib/unistr/u-strcoll.h: New file.
48555
48556 2009-02-07  Bruno Haible  <bruno@clisp.org>
48557
48558         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48559         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48560         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48561         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48562         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48563         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48564
48565 2009-02-07  Bruno Haible  <bruno@clisp.org>
48566
48567         Make 64-bit clean.
48568         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48569         output_combclass, output_bidi_category, output_decimal_digit,
48570         output_digit, output_numeric, output_mirror, output_scripts,
48571         output_ident_category): Use proper width specifier in format strings.
48572
48573 2009-02-07  Bruno Haible  <bruno@clisp.org>
48574
48575         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48576         failure behaviour.
48577
48578 2009-02-07  Jim Meyering  <meyering@redhat.com>
48579
48580         regex: avoid compilation failure with upcoming gcc-4.4
48581         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48582         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48583         "... error: integer overflow in preprocessor expression".
48584
48585 2009-02-05  Ben Pfaff  <blp@gnu.org>
48586
48587         Fix link errors on Windows when close module is used.
48588         * modules/close: Add $(LIB_CLOSE) to Link section.
48589         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48590         $(LIB_CLOSE) on Windows.
48591
48592 2009-02-05  Jim Meyering  <meyering@redhat.com>
48593
48594         still avoid unused-parameter warnings, but do it cleanly
48595         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48596         (get_fs_usage): Cast to void instead.
48597         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48598         (dev_from_mount_options, read_file_system_list): Cast to void.
48599         Prompted by Bruno Haible.
48600
48601 2009-02-04  Jim Meyering  <meyering@redhat.com>
48602
48603         fsusage.c: correct copyright year
48604         * lib/fsusage.c: Reflect year in which the change is pushed into
48605
48606         avoid misc. warnings
48607         * lib/fsusage.c (UNUSED_PARAM): Define.
48608         (get_fs_usage): Mark parameter "disk" as unused.
48609         * lib/getugroups.c (getgrent): Use "void" in prototype.
48610         * lib/mountlist.c: Mark unused parameters.
48611         (read_file_system_list): Declare a local with "const".
48612         * lib/nanosleep.c (getnow): Declare static.
48613         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48614
48615         dirfd: set errno upon failure
48616         * lib/dirfd.c: Include <errno.h>.
48617         Set errno to ENOTSUP when returning -1.
48618         * modules/dirfd (Depends-on): Add errno.
48619         Suggested by John Kodis <kodis@comcast.net>.
48620
48621 2009-02-01  Bruno Haible  <bruno@clisp.org>
48622
48623         Don't assume sizeof (long) >= sizeof (void *).
48624         * lib/memcmp.c: Include stdint.h.
48625         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48626         srcp2 to 'const byte *'.
48627         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48628         types to uintptr_t.
48629         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48630         * modules/memcmp (Depends-on): Add stdint.
48631         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48632
48633 2009-01-30  Eric Blake  <ebb9@byu.net>
48634
48635         fix more require-before-expand issues
48636         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48637         expand, AC_PROG_AWK.
48638         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48639
48640 2009-01-28  Eric Blake  <ebb9@byu.net>
48641
48642         version-etc: use consistent URL formatting
48643         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48644         Improve formatting.  Use fputs for string without %.
48645
48646 2009-01-28  Jim Meyering  <meyering@redhat.com>
48647
48648         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48649         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48650         "underquoted definition of NAME" from autoconf-2.59.
48651
48652 2009-01-28  Bruno Haible  <bruno@clisp.org>
48653
48654         * doc/gnulib.texi: Add "Obsolete modules" to index.
48655
48656 2009-01-28  Jim Meyering  <meyering@redhat.com>
48657
48658         useless-if-before-free: recognize more variants
48659         * build-aux/useless-if-before-free: Also recognize e.g.,
48660         if (NULL != p) free (p);
48661
48662 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
48663
48664         test-getaddrinfo: skip (don't fail) this test when there's no network
48665         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
48666         on the presumption that it means you lack network access.
48667
48668 2009-01-26  Jim Meyering  <meyering@redhat.com>
48669
48670         fflush: avoid warnings on modern systems
48671         * lib/fflush.c (rpl_fflush): Move declarations of locals,
48672         pos and result, into scopes where they're used.
48673
48674 2009-01-26  Eric Blake  <ebb9@byu.net>
48675
48676         Silence warning reintroduced by recent extensions patch.
48677         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
48678         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
48679         autoconf.
48680
48681         Backport improved autoconf semantics of AC_DEFUN_ONCE.
48682         * m4/00gnulib.m4: New file.
48683         * gnulib-tool (func_get_filelist): Always use it.
48684         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48685         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48686
48687 2009-01-25  Bruno Haible  <bruno@clisp.org>
48688
48689         Make test-quotearg work on MacOS X and AIX.
48690         * tests/test-quotearg.sh: New file.
48691         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48692         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48693         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48694         include <libintl.h>.
48695         (fake_locale): Remove variable.
48696         (gettext, dgettext, dcgettext): Remove functions.
48697         (main): Instead of setting a fake locale, set a real locale. Call
48698         textdomain and bindtextdomain.
48699         * modules/quotearg-tests (Files): Add the new files.
48700         (Depends-on): Add gettext, setenv, unsetenv.
48701         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48702         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48703         Augment TESTS_ENVIRONMENT.
48704
48705 2009-01-25  Bruno Haible  <bruno@clisp.org>
48706
48707         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48708         fr_FR.ISO8859-1 locale on MacOS X.
48709         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48710         ja_JP.eucJP locale on MacOS X.
48711         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48712         zh_CN.GB18030 locale on MacOS X.
48713
48714 2009-01-25  Bruno Haible  <bruno@clisp.org>
48715
48716         Avoid link errors on MacOS X 10.3.
48717         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48718         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48719
48720 2009-01-25  Bruno Haible  <bruno@clisp.org>
48721
48722         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48723         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48724         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48725         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48726         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48727         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48728         posix_spawnattr_init, posix_spawnattr_setsigmask,
48729         posix_spawnattr_setflags, posix_spawnattr_destroy.
48730
48731         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48732         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48733         * modules/execute (Files): Remove m4/posix_spawn.m4.
48734         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48735         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48736         posix_spawnattr_init, posix_spawnattr_setsigmask,
48737         posix_spawnattr_setflags, posix_spawnattr_destroy.
48738
48739 2009-01-25  Bruno Haible  <bruno@clisp.org>
48740
48741         * lib/glthread/threadlib.c: Include <stdlib.h>.
48742
48743 2009-01-25  Bruno Haible  <bruno@clisp.org>
48744
48745         * lib/glthread/threadlib.c (dummy): New declaration.
48746
48747 2009-01-25  Bruno Haible  <bruno@clisp.org>
48748
48749         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48750         multibyte characters also for the GB18030 encoding. Don't crash when
48751         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48752
48753 2009-01-25  Bruno Haible  <bruno@clisp.org>
48754
48755         Avoid redefining 'struct random_data' on OSF/1 5.1.
48756         * lib/stdlib.in.h: Include <random.h> if it exists.
48757         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48758         HAVE_RANDOM_H. Include <random.h> when testing whether
48759         'struct random_data' exists.
48760         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48761
48762 2009-01-25  Bruno Haible  <bruno@clisp.org>
48763
48764         Don't install charset.alias on MacOS X >= 10.3.
48765         * lib/localcharset.c (DARWIN7): New macro.
48766         (get_charset_aliases): Hardcode the result for Darwin7.
48767         * modules/localcharset (install-exec-local): Don't install
48768         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48769
48770 2009-01-25  Bruno Haible  <bruno@clisp.org>
48771
48772         Don't install charset.alias on mingw and Cygwin.
48773         * modules/localcharset (install-exec-local): Don't install
48774         charset.alias on mingw and Cygwin, if the file does not yet exist.
48775         The result for these platforms is hardcoded in localcharset.c.
48776
48777 2009-01-25  Bruno Haible  <bruno@clisp.org>
48778
48779         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48780         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48781         before requiring AC_USE_SYSTEM_EXTENSIONS.
48782
48783 2009-01-25  Jim Meyering  <meyering@redhat.com>
48784
48785         c-strtod: avoid warnings
48786         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48787         "assignment discards qualifiers from pointer target type" warnings.
48788
48789 2009-01-24  Bruno Haible  <bruno@clisp.org>
48790
48791         Add support for non-UTF-8 locales on MacOS X.
48792         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48793         canonical encodings. For Darwin 7 and newer, don't map traditional
48794         encodings to UTF-8.
48795         Reported by Vincent Lefevre <vincent@vinc17.org>
48796         at <http://savannah.gnu.org/bugs/?25235>.
48797
48798 2009-01-24  Bruno Haible  <bruno@clisp.org>
48799
48800         * doc/gnulib.texi (Obsolete modules): New section.
48801         Reported by Mike Frysinger <vapier@gentoo.org>.
48802
48803 2009-01-24  Bruno Haible  <bruno@clisp.org>
48804
48805         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48806         (%.dvi): New rule.
48807
48808 2009-01-24  Bruno Haible  <bruno@clisp.org>
48809
48810         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48811         Reported by Eric Blake.
48812
48813 2009-01-24  Bruno Haible  <bruno@clisp.org>
48814
48815         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48816         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48817         Reported by Gary V. Vaughan <gary@gnu.org>.
48818
48819 2009-01-24  Bruno Haible  <bruno@clisp.org>
48820
48821         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48822
48823 2009-01-23  Bruno Haible  <bruno@clisp.org>
48824
48825         Make c-strtod, c-strtold usable in libraries.
48826         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48827         (C_STRTOD): Call strdup instead of xstrdup.
48828         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48829         * modules/c-strtold (Depends-on): Likewise.
48830         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48831         * NEWS: Mention the change.
48832         Reported by Michael Gold <mgold@ncf.ca>.
48833
48834 2009-01-23  Jim Meyering  <meyering@redhat.com>
48835
48836         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48837         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48838         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48839
48840 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48841
48842         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48843         GNU CoreUtils.
48844         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48845         * modules/version-etc (Description): Update.
48846
48847 2009-01-22  Bruno Haible  <bruno@clisp.org>
48848
48849         Cache the C locale object.
48850         * lib/c-strtod.c (c_locale_cache): New variable.
48851         (c_locale): New function.
48852         (C_STRTOD): Use it, and don't call freelocale.
48853         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48854         Suggested by Paolo Bonzini.
48855
48856 2009-01-21  Bruno Haible  <bruno@clisp.org>
48857
48858         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48859         conditions other than overflow.
48860
48861 2009-01-21  Bruno Haible  <bruno@clisp.org>
48862
48863         * lib/c-strtod.c: Include errno.h.
48864         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48865         value from STRTOD_L and STRTOD.
48866
48867 2009-01-21  Bruno Haible  <bruno@clisp.org>
48868         and Jim Meyering  <meyering@redhat.com>
48869
48870         nanosleep: skip configure test (fail it) for apple universal builds
48871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48872         universal builds, assume that nanosleep does not work.
48873         * modules/nanosleep (Depends-on): Add multiarch.
48874
48875         mktime: skip configure test (fail it) for apple universal builds
48876         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48877         universal builds, assume that mktime does not work.
48878         * modules/mktime (Depends-on): Add multiarch.
48879
48880 2009-01-21  Eric Blake  <ebb9@byu.net>
48881
48882         multiarch: avoid expand-before-require warning
48883         * modules/multiarch (configure.ac): Require, rather than expand,
48884         gl_MULTIARCH.
48885         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48886         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48887         enforce that all clients require it.  Partial reversion of
48888         2008-12-29 patch.
48889
48890         error: avoid expand-before-require warning
48891         * modules/errno (configure.ac): Require, rather than expand,
48892         gl_HEADER_ERRNO_H.
48893         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48894         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48895         enforce that all clients require it.
48896
48897         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48898         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48899         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48900         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48901
48902 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48903
48904         Revert:
48905         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48906
48907         regex: do not depend on obsolete modules.
48908         * modules/regex: Remove memcmp and memmove.
48909
48910 2009-01-20  Bruno Haible  <bruno@clisp.org>
48911
48912         Make the 'link' module link on Windows NT 4.
48913         * lib/link.c (_WIN32_WINNT): Don't define.
48914         (CreateHardLinkFuncType): New type.
48915         (CreateHardLinkFunc, initialized): New variables.
48916         (initialize): New function.
48917         (link): Invoke CreateHardLink indirectly through the function pointer.
48918
48919 2009-01-20  Bruno Haible  <bruno@clisp.org>
48920
48921         Fix compilation failure on mingw.
48922         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48923
48924 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48925
48926         * doc/c-strtod.texi: Mention a couple of restrictions.
48927
48928 2009-01-20  Jim Meyering  <meyering@redhat.com>
48929
48930         gettimeofday: move more declarations out of functions
48931         * lib/gettimeofday.c: Move extern declarations of tzset and
48932         gmtime out of containing functions.  Prompted by Bruno Haible.
48933
48934 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48935
48936         regex: do not depend on obsolete modules.
48937         * modules/regex: Remove memcmp and memmove.
48938
48939 2009-01-19  Bruno Haible  <bruno@clisp.org>
48940
48941         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48942         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48943         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48944         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48945         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48946
48947 2009-01-19  Bruno Haible  <bruno@clisp.org>
48948
48949         * tests/test-link.c: Include <errno.h>.
48950         (main): Exit with code 77 when a hard link cannot be created due to
48951         the file system.
48952         * tests/test-link.sh: Skip test when a hard link cannot be created due
48953         to the file system.
48954         Suggested by Eric Blake.
48955
48956 2009-01-19  Martin Lambers  <marlam@marlam.de>
48957
48958         * modules/link-tests: New file.
48959         * tests/test-link.sh: New file.
48960         * tests/test-link.c: New file.
48961
48962 2009-01-19  Eric Blake  <ebb9@byu.net>
48963
48964         doc: mention another function added in cygwin 1.7.0
48965         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48966         Another new function in cygwin 1.7.
48967
48968 2009-01-19  Bruno Haible  <bruno@clisp.org>
48969
48970         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48971         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48972         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48973         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48974         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48975         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48976         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48977         * m4/md4.m4 (gl_MD4): Likewise.
48978         * m4/md5.m4 (gl_MD5): Likewise.
48979         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48980         * m4/sha1.m4 (gl_SHA1): Likewise.
48981         * m4/sha256.m4 (gl_SHA256): Likewise.
48982         * m4/sha512.m4 (gl_SHA512): Likewise.
48983
48984 2009-01-19  Bruno Haible  <bruno@clisp.org>
48985
48986         * modules/uniname/uniname-tests (Depends-on): Add progname.
48987         * tests/uniname/test-uninames.c: Include progname.h.
48988         (main): Call set_program_name.
48989
48990         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48991         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48992         (main): Call set_program_name.
48993
48994         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
48995         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
48996         (main): Call set_program_name.
48997
48998         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
48999         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49000         (main): Call set_program_name.
49001
49002         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49003         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49004         (main): Call set_program_name.
49005
49006         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49007         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49008         (main): Call set_program_name.
49009
49010         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49011         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49012         (main): Call set_program_name.
49013
49014         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49015         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49016         (main): Call set_program_name.
49017
49018         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49019         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49020         (main): Call set_program_name.
49021
49022 2009-01-19  Eric Blake  <ebb9@byu.net>
49023
49024         test-unistd: test previous patch
49025         * tests/test-unistd.c: Test *_FILENO macros.
49026
49027         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49028         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49029         Guarantee a definition.
49030         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49031         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49032         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49033         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49034         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49035         Likewise.
49036         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49037         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49038         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49039         Likewise.
49040         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49041         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49042         (STDERR_FILENO): Likewise.
49043         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49044         (STDERR_FILENO): Likewise.
49045         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49046         (STDERR_FILENO): Likewise.
49047         Reported by Elbert Pol.
49048
49049 2009-01-19  Eric Blake  <ebb9@byu.net>
49050
49051         doc: mention more functions added in cygwin 1.7.0
49052         * doc/posix-functions/abort.texi (abort): Update wording related
49053         to cygwin.
49054         * doc/posix-functions/daylight.texi (daylight): Likewise.
49055         * doc/posix-functions/optarg.texi (optarg): Likewise.
49056         * doc/posix-functions/optarg.texi (opterr): Likewise.
49057         * doc/posix-functions/optarg.texi (optind): Likewise.
49058         * doc/posix-functions/optarg.texi (optopt): Likewise.
49059         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49060         worked in 1.5.x, and was withdrawn in 1.7.
49061         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49062         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49063         cygwin versions.
49064         * doc/posix-functions/perror.texi (perror): Likewise.
49065         * doc/posix-functions/printf.texi (printf): Likewise.
49066         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49067         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49068         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49069         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49070         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49071         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49072         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49073         Likewise.
49074         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49075         Likewise.
49076         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49077         this function.
49078         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49079         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49080         Likewise.
49081         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49082         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49083         * doc/posix-functions/confstr.texi (confstr): Likewise.
49084         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49085         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49086         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49087         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49088         * doc/posix-functions/fputws.texi (fputws): Likewise.
49089         * doc/posix-functions/fwide.texi (fwide): Likewise.
49090         * doc/posix-functions/getwc.texi (getwc): Likewise.
49091         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49092         * doc/posix-functions/putwc.texi (putwc): Likewise.
49093         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49094         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49095         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49096         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49097         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49098         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49099         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49100         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49101         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49102         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49103         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49104
49105 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49106
49107         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49108         * lib/ioctl.c: Include <sys/ioctl.h>.
49109
49110 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49111
49112         * modules/getdate-tests (Depends-on): Add progname.
49113         * tests/test-getdate.c: Use progname module, to avoid link errors
49114         on non-glibc systems.
49115
49116 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49117
49118         * modules/filenamecat-tests (Depends-on): Add progname.
49119         * modules/fstrcmp-tests (Depends-on): Likewise.
49120
49121         * tests/test-filenamecat.c: Use progname module, to avoid link
49122         errors on non-glibc systems.
49123         * tests/test-fstrcmp.c: Likewise.
49124
49125 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49126
49127         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49128         * lib/gettimeofday.c: Move extern declaration out of function.
49129
49130 2009-01-18  Bruno Haible  <bruno@clisp.org>
49131
49132         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49133         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49134         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49135
49136 2009-01-18  Bruno Haible  <bruno@clisp.org>
49137
49138         * lib/strftime.c (MEMPCPY): Remove unused macro.
49139         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49140
49141 2009-01-18  Martin Lambers  <marlam@marlam.de>
49142
49143         New module 'link'.
49144         * lib/unistd.in.h (link): New declaration.
49145         * lib/link.c: New file.
49146         * m4/link.m4: New file.
49147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49148         HAVE_LINK.
49149         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49150         * modules/link: New file.
49151         * doc/posix-functions/link.texi: Mention the new module.
49152
49153 2009-01-18  Bruno Haible  <bruno@clisp.org>
49154
49155         * tests/test-avltree_list.c (main): Call set_program_name.
49156         * tests/test-avltree_oset.c (main): Likewise.
49157         * tests/test-obstack-printf.c: Include progname.h.
49158         (main): Call set_program_name.
49159         * tests/test-quotearg.c: Include progname.h.
49160         (main): Call set_program_name.
49161         * tests/test-xmemdup0.c: Include progname.h.
49162         (main): Call set_program_name.
49163
49164 2009-01-18  Bruno Haible  <bruno@clisp.org>
49165
49166         New module 'alphasort'.
49167         * lib/dirent.in.h (alphasort): New declaration.
49168         * lib/alphasort.c: New file, from glibc with modifications.
49169         * m4/alphasort.m4: New file.
49170         * modules/alphasort: New file.
49171         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49172         HAVE_ALPHASORT.
49173         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49174         HAVE_ALPHASORT.
49175         * doc/posix-functions/alphasort.texi: Mention the new module and the
49176         portability problems.
49177
49178 2009-01-18  Bruno Haible  <bruno@clisp.org>
49179
49180         New module 'scandir'.
49181         * lib/dirent.in.h (scandir): New declaration.
49182         * lib/scandir.c: New file, from glibc with modifications.
49183         * m4/scandir.m4: New file.
49184         * modules/scandir: New file.
49185         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49186         HAVE_SCANDIR.
49187         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49188         HAVE_SCANDIR.
49189         * doc/posix-functions/scandir.texi: Mention the new module and the
49190         portability problems.
49191
49192 2009-01-17  Bruno Haible  <bruno@clisp.org>
49193
49194         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49195         Update documentation.
49196         (func_remove_suffix): Escape all dots in the suffix. Update
49197         documentation.
49198         (func_filter_filelist): Update documentation.
49199         Reported by Ralf Wildenhues.
49200
49201 2009-01-17  Bruno Haible  <bruno@clisp.org>
49202
49203         * modules/dprintf-posix-tests: New file.
49204         * tests/test-dprintf-posix.sh: New file.
49205         * tests/test-dprintf-posix.c: New file.
49206
49207         New modules 'dprintf', 'dprintf-posix'.
49208         * lib/stdio.in.h (dprintf): New declaration.
49209         * lib/dprintf.c: New file.
49210         * m4/dprintf.m4: New file.
49211         * m4/dprintf-posix.m4: New file.
49212         * modules/dprintf: New file.
49213         * modules/dprintf-posix: New file.
49214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49215         HAVE_DPRINTF, REPLACE_DPRINTF.
49216         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49217         HAVE_DPRINTF, REPLACE_DPRINTF.
49218         * doc/posix-functions/dprintf.texi: Mention the new modules.
49219
49220 2009-01-17  Bruno Haible  <bruno@clisp.org>
49221
49222         * modules/vdprintf-posix-tests: New file.
49223         * tests/test-vdprintf-posix.sh: New file.
49224         * tests/test-vdprintf-posix.c: New file.
49225
49226         New modules 'vdprintf', 'vdprintf-posix'.
49227         * lib/stdio.in.h (vdprintf): New declaration.
49228         * lib/vdprintf.c: New file.
49229         * m4/vdprintf.m4: New file.
49230         * m4/vdprintf-posix.m4: New file.
49231         * modules/vdprintf: New file.
49232         * modules/vdprintf-posix: New file.
49233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49234         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49235         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49236         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49237         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49238
49239 2009-01-17  Bruno Haible  <bruno@clisp.org>
49240
49241         Fix replacement of fopen on mingw.
49242         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49243         mingw.
49244
49245 2009-01-17  Bruno Haible  <bruno@clisp.org>
49246
49247         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49248         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49249
49250 2009-01-17  Bruno Haible  <bruno@clisp.org>
49251
49252         Avoid test-fflush2.sh failure on mingw.
49253         * tests/test-fflush2.c: Include binary-io.h.
49254         (main): Put standard input into binary mode.
49255         * modules/fflush-tests (Depends-on): Add binary-io.
49256
49257 2009-01-17  Bruno Haible  <bruno@clisp.org>
49258
49259         * lib/wchar.in.h: In another particular situation, include only the
49260         system's <wchar.h> file.
49261         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49262         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49263         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49264
49265 2009-01-17  Bruno Haible  <bruno@clisp.org>
49266
49267         Support for stripping executables in --enable-relocatable.
49268         * build-aux/install-reloc: Expect one more argument, or an environment
49269         variable RELOC_STRIP_PROG. If set, strip the destination program and
49270         its wrapper.
49271         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49272         RELOC_STRIP_PROG.
49273         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49274         to set RELOCATABLE_STRIP.
49275         * NEWS: Mention the new Makefile requirement.
49276
49277 2009-01-17  Bruno Haible  <bruno@clisp.org>
49278
49279         * build-aux/install-reloc: Remove debugging information left over by
49280         C compiler on MacOS X.
49281
49282 2009-01-17  Bruno Haible  <bruno@clisp.org>
49283
49284         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49285         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49286         _NSGetExecutablePath.
49287
49288 2009-01-16  Jim Meyering  <meyering@redhat.com>
49289
49290         strerror: avoid warnings about discarding "const"
49291         * lib/strerror.c (rpl_strerror): Instead of returning a const
49292         string from each and every "case", use a variable, and add a single
49293         cast after the switch.
49294
49295 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49296
49297         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49298
49299 2009-01-16  Bruno Haible  <bruno@clisp.org>
49300
49301         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49302         array initializer syntax that also works in C++ mode.
49303         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49304
49305 2009-01-16  Jim Meyering  <meyering@redhat.com>
49306
49307         poll: suppress a warning
49308         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49309         to ignore "...unsigned expression < 0 is always false" warnings.
49310
49311 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49312
49313         poll: remove declarations of unused variables
49314         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49315         sockbuf and optlen.
49316
49317 2009-01-15  Bruno Haible  <bruno@clisp.org>
49318
49319         Make fflush-after-ungetc POSIX compliant on BSD systems.
49320         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49321         (clear_ungetc_buffer): Implement also for other systems.
49322         (rpl_fflush): On glibc systems, invoke
49323         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49324         clear_ungetc_buffer after fetching the stream's position, not before.
49325
49326 2009-01-15  Bruno Haible  <bruno@clisp.org>
49327
49328         Make fflush-after-ungetc POSIX compliant on glibc systems.
49329         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49330         after ungetc.
49331         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49332         (rpl_fflush): On glibc systems, simply call the system's fflush
49333         function after clearing the ungetc buffer.
49334         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49335         Instead, lseek only to the end of file, then use the system's fseeko
49336         for the rest. On glibc systems, reset the EOF indicator bit.
49337
49338 2009-01-15  Jim Meyering  <meyering@redhat.com>
49339
49340         openmp.m4: revert quote-adding change, for portability to older autoconf
49341         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49342         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49343         Simon Josefsson noticed the problem when using autoconf-2.61.
49344
49345 2009-01-15  Bruno Haible  <bruno@clisp.org>
49346
49347         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49348         * tests/test-fflush2.c (ASSERT): Always fail.
49349         (main): Add two tests for fflush() after ungetc(), taking into account
49350         the Austin Group's clarification.
49351         Suggested by Eric Blake.
49352
49353 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49354
49355         mktime.m4: remove K&R-style function prototypes
49356         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49357         for the Sun C++ compiler.
49358
49359 2009-01-14  Bruno Haible  <bruno@clisp.org>
49360
49361         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49362         while including <wchar.h>.
49363         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49364         the system's <wchar.h> file.
49365         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49366
49367 2009-01-14  Bruno Haible  <bruno@clisp.org>
49368
49369         * m4/csharp.m4: Don't mention gettext on the serial number line.
49370         * m4/csharpexec.m4: Likewise.
49371         * m4/eaccess.m4: Likewise.
49372         * m4/javaexec.m4: Likewise.
49373         * m4/sig_atomic_t.m4: Likewise.
49374         * m4/tmpdir.m4: Likewise.
49375         * m4/intldir.m4: Bump gettext version.
49376         * m4/lib-ld.m4: Likewise.
49377
49378 2009-01-14  Bruno Haible  <bruno@clisp.org>
49379
49380         * lib/progname.c (set_program_name): Add more comments.
49381         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49382
49383 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49384
49385         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49386         were sys/stat.h does not define it.
49387
49388 2009-01-14  Jim Meyering  <meyering@redhat.com>
49389
49390         many *.m4 files: improve m4 quoting
49391         99% of this change was performed by running the following commands:
49392         git ls-files | grep '\.m4$' | xargs perl -pi \
49393           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49394           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49395           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49396           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49397         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49398         The remainder were to add Copyright dates, increment serial numbers,
49399         undo some changes in comments, exclude m4/intl.m4, and add quotes
49400         around the "1" in ",1" where the unusual spacing prohibited the
49401         above regexps from doing the job.  For more details, see
49402         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49403         * m4/acl.m4: Modified.
49404         * m4/afs.m4: Likewise.
49405         * m4/alloca.m4: Likewise.
49406         * m4/argp.m4: Likewise.
49407         * m4/argz.m4: Likewise.
49408         * m4/atexit.m4: Likewise.
49409         * m4/bison-i18n.m4: Likewise.
49410         * m4/bison.m4: Likewise.
49411         * m4/byteswap.m4: Likewise.
49412         * m4/c-stack.m4: Likewise.
49413         * m4/c-strtod.m4: Likewise.
49414         * m4/calloc.m4: Likewise.
49415         * m4/canonicalize-lgpl.m4: Likewise.
49416         * m4/chown.m4: Likewise.
49417         * m4/clock_time.m4: Likewise.
49418         * m4/codeset.m4: Likewise.
49419         * m4/copy-file.m4: Likewise.
49420         * m4/csharp.m4: Likewise.
49421         * m4/csharpcomp.m4: Likewise.
49422         * m4/csharpexec.m4: Likewise.
49423         * m4/d-ino.m4: Likewise.
49424         * m4/d-type.m4: Likewise.
49425         * m4/dirfd.m4: Likewise.
49426         * m4/double-slash-root.m4: Likewise.
49427         * m4/eaccess.m4: Likewise.
49428         * m4/eealloc.m4: Likewise.
49429         * m4/environ.m4: Likewise.
49430         * m4/errno_h.m4: Likewise.
49431         * m4/euidaccess.m4: Likewise.
49432         * m4/execute.m4: Likewise.
49433         * m4/fatal-signal.m4: Likewise.
49434         * m4/fchdir.m4: Likewise.
49435         * m4/fcntl_h.m4: Likewise.
49436         * m4/fileblocks.m4: Likewise.
49437         * m4/filenamecat.m4: Likewise.
49438         * m4/findprog.m4: Likewise.
49439         * m4/flexmember.m4: Likewise.
49440         * m4/fnmatch.m4: Likewise.
49441         * m4/fopen.m4: Likewise.
49442         * m4/fpending.m4: Likewise.
49443         * m4/fprintf-posix.m4: Likewise.
49444         * m4/free.m4: Likewise.
49445         * m4/frexp.m4: Likewise.
49446         * m4/frexpl.m4: Likewise.
49447         * m4/fsusage.m4: Likewise.
49448         * m4/ftruncate.m4: Likewise.
49449         * m4/gc-camellia.m4: Likewise.
49450         * m4/gc-random.m4: Likewise.
49451         * m4/gc.m4: Likewise.
49452         * m4/getaddrinfo.m4: Likewise.
49453         * m4/getcwd-abort-bug.m4: Likewise.
49454         * m4/getcwd-path-max.m4: Likewise.
49455         * m4/getdate.m4: Likewise.
49456         * m4/getdomainname.m4: Likewise.
49457         * m4/getgroups.m4: Likewise.
49458         * m4/gethostname.m4: Likewise.
49459         * m4/gethrxtime.m4: Likewise.
49460         * m4/getline.m4: Likewise.
49461         * m4/getloadavg.m4: Likewise.
49462         * m4/getndelim2.m4: Likewise.
49463         * m4/getpass.m4: Likewise.
49464         * m4/gettext.m4: Likewise.
49465         * m4/gettime.m4: Likewise.
49466         * m4/gettimeofday.m4: Likewise.
49467         * m4/gnulib-common.m4: Likewise.
49468         * m4/group-member.m4: Likewise.
49469         * m4/host-os.m4: Likewise.
49470         * m4/iconv.m4: Likewise.
49471         * m4/iconv_open.m4: Likewise.
49472         * m4/inet_ntop.m4: Likewise.
49473         * m4/inet_pton.m4: Likewise.
49474         * m4/inline.m4: Likewise.
49475         * m4/intldir.m4: Likewise.
49476         * m4/intlmacosx.m4: Likewise.
49477         * m4/intmax.m4: Likewise.
49478         * m4/intmax_t.m4: Likewise.
49479         * m4/inttypes.m4: Likewise.
49480         * m4/inttypes_h.m4: Likewise.
49481         * m4/inttypes-pri.m4: Likewise.
49482         * m4/isapipe.m4: Likewise.
49483         * m4/isnand.m4: Likewise.
49484         * m4/isnanf.m4: Likewise.
49485         * m4/isnanl.m4: Likewise.
49486         * m4/javacomp.m4: Likewise.
49487         * m4/javaexec.m4: Likewise.
49488         * m4/jm-winsz1.m4: Likewise.
49489         * m4/jm-winsz2.m4: Likewise.
49490         * m4/lchown.m4: Likewise.
49491         * m4/lcmessage.m4: Likewise.
49492         * m4/ldexpl.m4: Likewise.
49493         * m4/lib-ld.m4: Likewise.
49494         * m4/lib-link.m4: Likewise.
49495         * m4/libsigsegv.m4: Likewise.
49496         * m4/link-follow.m4: Likewise.
49497         * m4/localcharset.m4: Likewise.
49498         * m4/locale-fr.m4: Likewise.
49499         * m4/locale-ja.m4: Likewise.
49500         * m4/locale-tr.m4: Likewise.
49501         * m4/locale-zh.m4: Likewise.
49502         * m4/lock.m4: Likewise.
49503         * m4/longlong.m4: Likewise.
49504         * m4/ls-mntd-fs.m4: Likewise.
49505         * m4/lstat.m4: Likewise.
49506         * m4/malloc.m4: Likewise.
49507         * m4/mathl.m4: Likewise.
49508         * m4/mbrtowc.m4: Likewise.
49509         * m4/mbstate_t.m4: Likewise.
49510         * m4/mbswidth.m4: Likewise.
49511         * m4/memchr.m4: Likewise.
49512         * m4/memcmp.m4: Likewise.
49513         * m4/memcpy.m4: Likewise.
49514         * m4/memmem.m4: Likewise.
49515         * m4/memmove.m4: Likewise.
49516         * m4/mempcpy.m4: Likewise.
49517         * m4/memrchr.m4: Likewise.
49518         * m4/memset.m4: Likewise.
49519         * m4/minmax.m4: Likewise.
49520         * m4/mkdir-slash.m4: Likewise.
49521         * m4/mkdtemp.m4: Likewise.
49522         * m4/mktime.m4: Likewise.
49523         * m4/mmap-anon.m4: Likewise.
49524         * m4/mountlist.m4: Likewise.
49525         * m4/nanosleep.m4: Likewise.
49526         * m4/nls.m4: Likewise.
49527         * m4/nocrash.m4: Likewise.
49528         * m4/open.m4: Likewise.
49529         * m4/openat.m4: Likewise.
49530         * m4/openmp.m4: Likewise.
49531         * m4/pathmax.m4: Likewise.
49532         * m4/perl.m4: Likewise.
49533         * m4/physmem.m4: Likewise.
49534         * m4/pipe.m4: Likewise.
49535         * m4/po.m4: Likewise.
49536         * m4/poll.m4: Likewise.
49537         * m4/posixtm.m4: Likewise.
49538         * m4/posixver.m4: Likewise.
49539         * m4/printf-frexp.m4: Likewise.
49540         * m4/printf-frexpl.m4: Likewise.
49541         * m4/printf-posix.m4: Likewise.
49542         * m4/printf-posix-rpl.m4: Likewise.
49543         * m4/printf.m4: Likewise.
49544         * m4/progtest.m4: Likewise.
49545         * m4/putenv.m4: Likewise.
49546         * m4/readline.m4: Likewise.
49547         * m4/readlink.m4: Likewise.
49548         * m4/readutmp.m4: Likewise.
49549         * m4/realloc.m4: Likewise.
49550         * m4/regex.m4: Likewise.
49551         * m4/relocatable.m4: Likewise.
49552         * m4/relocatable-lib.m4: Likewise.
49553         * m4/rename-dest-slash.m4: Likewise.
49554         * m4/rename.m4: Likewise.
49555         * m4/rmdir-errno.m4: Likewise.
49556         * m4/rmdir.m4: Likewise.
49557         * m4/roundf.m4: Likewise.
49558         * m4/roundl.m4: Likewise.
49559         * m4/rpmatch.m4: Likewise.
49560         * m4/save-cwd.m4: Likewise.
49561         * m4/selinux-selinux-h.m4: Likewise.
49562         * m4/setenv.m4: Likewise.
49563         * m4/settime.m4: Likewise.
49564         * m4/sig2str.m4: Likewise.
49565         * m4/sig_atomic_t.m4: Likewise.
49566         * m4/signalblocking.m4: Likewise.
49567         * m4/signbit.m4: Likewise.
49568         * m4/sigpipe.m4: Likewise.
49569         * m4/sockets.m4: Likewise.
49570         * m4/sockpfaf.m4: Likewise.
49571         * m4/st_dm_mode.m4: Likewise.
49572         * m4/stat-time.m4: Likewise.
49573         * m4/stdbool.m4: Likewise.
49574         * m4/stdint.m4: Likewise.
49575         * m4/stdint_h.m4: Likewise.
49576         * m4/stpcpy.m4: Likewise.
49577         * m4/stpncpy.m4: Likewise.
49578         * m4/strcase.m4: Likewise.
49579         * m4/strchrnul.m4: Likewise.
49580         * m4/strcspn.m4: Likewise.
49581         * m4/strdup.m4: Likewise.
49582         * m4/strftime.m4: Likewise.
49583         * m4/strndup.m4: Likewise.
49584         * m4/strnlen.m4: Likewise.
49585         * m4/strpbrk.m4: Likewise.
49586         * m4/strptime.m4: Likewise.
49587         * m4/strsep.m4: Likewise.
49588         * m4/strtod.m4: Likewise.
49589         * m4/strtoimax.m4: Likewise.
49590         * m4/strtok_r.m4: Likewise.
49591         * m4/strtol.m4: Likewise.
49592         * m4/strtoll.m4: Likewise.
49593         * m4/strtoul.m4: Likewise.
49594         * m4/strtoull.m4: Likewise.
49595         * m4/strtoumax.m4: Likewise.
49596         * m4/strverscmp.m4: Likewise.
49597         * m4/threadlib.m4: Likewise.
49598         * m4/timegm.m4: Likewise.
49599         * m4/tm_gmtoff.m4: Likewise.
49600         * m4/tmpdir.m4: Likewise.
49601         * m4/tmpfile.m4: Likewise.
49602         * m4/tzset.m4: Likewise.
49603         * m4/uintmax_t.m4: Likewise.
49604         * m4/unlinkdir.m4: Likewise.
49605         * m4/unlocked-io.m4: Likewise.
49606         * m4/uptime.m4: Likewise.
49607         * m4/userspec.m4: Likewise.
49608         * m4/utimbuf.m4: Likewise.
49609         * m4/utime.m4: Likewise.
49610         * m4/utimes-null.m4: Likewise.
49611         * m4/utimes.m4: Likewise.
49612         * m4/vararrays.m4: Likewise.
49613         * m4/vasnprintf.m4: Likewise.
49614         * m4/vfprintf-posix.m4: Likewise.
49615         * m4/vprintf-posix.m4: Likewise.
49616         * m4/wait-process.m4: Likewise.
49617         * m4/wchar_t.m4: Likewise.
49618         * m4/wint_t.m4: Likewise.
49619         * m4/write-any-file.m4: Likewise.
49620         * m4/yield.m4: Likewise.
49621
49622 2009-01-13  Bruno Haible  <bruno@clisp.org>
49623
49624         Avoid test-copy-file.sh failures when ACL support insufficient.
49625         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49626         TESTS_ENVIRONMENT.
49627         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49628         Reported by Jim Meyering.
49629
49630 2009-01-13  Bruno Haible  <bruno@clisp.org>
49631
49632         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49633         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49634         * modules/unistdio/u8-printf-parse (Files): Likewise.
49635         * modules/unistdio/u32-printf-parse (Files): Likewise.
49636         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49637
49638 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49639
49640         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49641         and m4/inttypes_h.m4 too.
49642
49643 2009-01-12  Eric Blake  <ebb9@byu.net>
49644
49645         tests: IRIX 6.2 cc can't compile -0.0 into .data
49646         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49647         rather than at compile-time.
49648         * tests/test-floorl.c (minus_zero): Likewise.
49649         * tests/test-frexpl.c (minus_zero): Likewise.
49650         * tests/test-isnan.c (minus_zerol): Likewise.
49651         * tests/test-isnanl.h (minus_zero): Likewise.
49652         * tests/test-ldexpl.c (minus_zero): Likewise.
49653         * tests/test-roundl.c (minus_zero): Likewise.
49654         * tests/test-signbit.c (minus_zerol): Likewise.
49655         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49656         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49657         * tests/test-truncl.c (minus_zero): Likewise.
49658         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49659         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49660         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49661
49662 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49663
49664         regex: fix glibc bug 9697
49665         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
49666         handling.
49667
49668 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49669
49670         regex: fix glibc bug 697
49671         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
49672         being NULL also if there are no backreferences.
49673
49674 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49675
49676         regex: merge glibc changes
49677         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
49678         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
49679         re_string_skip_chars, re_string_reconstruct): Likewise.
49680         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
49681
49682 2009-01-07  Jim Meyering  <meyering@redhat.com>
49683
49684         poll: filter through cppi
49685         * lib/poll.c: Indent cpp directives to reflect nesting.
49686
49687 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49688
49689         poll: don't return uninitialized
49690         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49691
49692 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49693
49694         avoid compile failure on AIX 6.1
49695         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49696         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49697
49698 2009-01-04  Jim Meyering  <meyering@redhat.com>
49699
49700         remove duplicate inclusion of <stdio.h>
49701         * tests/test-fprintf-posix.c: Likewise.
49702         * tests/test-printf-posix.c: Likewise.
49703         * tests/test-snprintf-posix.c: Likewise.
49704         * tests/test-sprintf-posix.c: Likewise.
49705         * tests/test-vasprintf-posix.c: Likewise.
49706         * tests/test-vfprintf-posix.c: Likewise.
49707         * tests/test-vprintf-posix.c: Likewise.
49708         * tests/test-vsnprintf-posix.c: Likewise.
49709         * tests/test-vsprintf-posix.c: Likewise.
49710
49711 2009-01-03  Jim Meyering  <meyering@redhat.com>
49712
49713         gnulib-tool: fix sed-based filtering
49714         * gnulib-tool (func_filter_filelist): Remove extra backslash
49715         in sed_fff_filter definition.
49716
49717 2009-01-02  Jim Meyering  <meyering@redhat.com>
49718
49719         strftime: avoid compilation failure on Solaris 2.6
49720         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49721         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49722         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49723         be available.  Reported by Tom G. Christensen.  Details in
49724         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49725
49726 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49727             Bruno Haible  <bruno@clisp.org>
49728
49729         Speed up gnulib-tool by doing more string processing through shell
49730         built-ins.
49731         * gnulib-tool (fast_func_append): New variable.
49732         (func_remove_prefix, func_remove_suffix): New functions.
49733         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49734         (func_filter_filelist): New function.
49735         (func_get_dependencies): Use func_remove_suffix instead of sed.
49736         (func_get_automake_snippet): Use func_filter_filelist instead of a
49737         subshell and sed invocation.
49738
49739 2009-01-01  Bruno Haible  <bruno@clisp.org>
49740
49741         Fix a security bug.
49742         * gnulib-tool (func_import, import, update): Don't allow the characters
49743         '"', '$', '`', '\' in macro arguments that become part of commands that
49744         are evaluated.
49745
49746 2009-01-01  Bruno Haible  <bruno@clisp.org>
49747
49748         * gnulib-tool (func_reset_sigpipe): Add more comments.
49749
49750 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49751
49752         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49753         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49754         already know the answer.
49755
49756 2009-01-01  Jim Meyering  <meyering@redhat.com>
49757
49758         * lib/version-etc.c (version_etc_va): Update copyright year.
49759
49760 2008-12-30  Bruno Haible  <bruno@clisp.org>
49761
49762         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49763         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49764         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49765
49766 2008-12-29  Eric Blake  <ebb9@byu.net>
49767
49768         multiarch: avoid autoconf AC_REQUIRE bug
49769         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49770         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49771         2.63 and older.
49772         Reported by Bruno Haible, and analyzed in
49773         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49774
49775 2008-12-29  Bruno Haible  <bruno@clisp.org>
49776
49777         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49778         files in subdirectories correctly.
49779         Reported by Ralf Wildenhues.
49780
49781 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49782
49783         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49784         rather than 'join FILE -', for Solaris join.
49785
49786 2008-12-29  Bruno Haible  <bruno@clisp.org>
49787
49788         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49789         quoting.
49790         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49791         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49792         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49793         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49794         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49795         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49796         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49797         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49798         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49799         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49800         * m4/nls.m4 (AM_NLS): Likewise.
49801         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49802         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49803         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49804         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49805         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49806         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49807         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49808         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49809         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49810         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49811         * m4/xsize.m4 (gl_XSIZE): Likewise.
49812         Suggested by Jim Meyering.
49813
49814 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49815
49816         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49817         * lib/parse-duration.c: use a switch instead of cascading if's.
49818
49819 2008-12-29  Eric Blake  <ebb9@byu.net>
49820
49821         wchar.h: supply WEOF on Irix 5.3
49822         * lib/wchar.in.h (wint_t): Also supply WEOF.
49823         * lib/wctype.in.h (wint_t): Likewise.
49824         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49825         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49826         Reported by Tom G. Christensen.
49827
49828 2008-12-26  Bruno Haible  <bruno@clisp.org>
49829
49830         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49831         i486, i586, i686.
49832
49833 2008-12-26  Bruno Haible  <bruno@clisp.org>
49834
49835         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49836
49837 2008-12-26  Bruno Haible  <bruno@clisp.org>
49838
49839         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49840         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49841         not __STDC_CONSTANT_MACROS.
49842         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49843
49844 2008-12-25  Bruno Haible  <bruno@clisp.org>
49845
49846         Add support for universal builds to vasnprintf.
49847         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49848         universal builds, guess no.
49849         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49850         * modules/vasprintf-posix (Depends-on): Likewise.
49851         * modules/fprintf-posix (Depends-on): Likewise.
49852         * modules/vfprintf-posix (Depends-on): Likewise.
49853         * modules/snprintf-posix (Depends-on): Likewise.
49854         * modules/vsnprintf-posix (Depends-on): Likewise.
49855         * modules/sprintf-posix (Depends-on): Likewise.
49856         * modules/vsprintf-posix (Depends-on): Likewise.
49857         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49858         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49859         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49860         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49861         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49862         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49863         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49864
49865         Add support for universal builds to <inttypes.h>.
49866         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49867         _SCNu64_PREFIX): In Apple
49868         universal builds, define directly, using _LP64.
49869         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49870         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49871         * modules/inttypes (Depends-on): Add multiarch.
49872         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49873
49874         Add support for universal builds to <stdint.h>.
49875         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49876         universal builds, define directly, using _LP64.
49877         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49878         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49879         and size_t.
49880         * modules/stdint (Depends-on): Add multiarch.
49881         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49882
49883         New module 'multiarch'.
49884         * modules/multiarch: New file.
49885         * m4/multiarch.m4: New file.
49886
49887 2008-12-25  Bruno Haible  <bruno@clisp.org>
49888
49889         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49890
49891 2008-12-25  Bruno Haible  <bruno@clisp.org>
49892
49893         * modules/btowc (License): Relicense under LGPLv2+.
49894         * modules/mbsinit (License): Likewise.
49895         * modules/mbrtowc (License): Likewise.
49896         * modules/wcrtomb (License): Likewise.
49897         * modules/streq (License): Likewise.
49898         Reported by David Lutterkort <lutter@redhat.com>.
49899
49900 2008-12-23  Bruno Haible  <bruno@clisp.org>
49901
49902         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49903
49904 2008-12-23  Bruno Haible  <bruno@clisp.org>
49905
49906         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49907         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49908         GETADDRINFO_LIB, not in LIBS.
49909         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49910         * modules/canon-host (Link): Likewise.
49911         * NEWS: Mention the change.
49912         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49913         GETADDRINFO_LIB.
49914
49915 2008-12-22  Bruno Haible  <bruno@clisp.org>
49916
49917         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49918         * doc/posix-functions/iswalpha_l.texi: Likewise.
49919         * doc/posix-functions/iswblank_l.texi: Likewise.
49920         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49921         * doc/posix-functions/iswctype_l.texi: Likewise.
49922         * doc/posix-functions/iswdigit_l.texi: Likewise.
49923         * doc/posix-functions/iswgraph_l.texi: Likewise.
49924         * doc/posix-functions/iswlower_l.texi: Likewise.
49925         * doc/posix-functions/iswprint_l.texi: Likewise.
49926         * doc/posix-functions/iswpunct_l.texi: Likewise.
49927         * doc/posix-functions/iswspace_l.texi: Likewise.
49928         * doc/posix-functions/iswupper_l.texi: Likewise.
49929         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49930         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49931         * doc/posix-functions/open_wmemstream.texi: Likewise.
49932         * doc/posix-functions/swscanf.texi: Likewise.
49933         * doc/posix-functions/towctrans_l.texi: Likewise.
49934         * doc/posix-functions/towlower.texi: Likewise.
49935         * doc/posix-functions/towlower_l.texi: Likewise.
49936         * doc/posix-functions/towupper.texi: Likewise.
49937         * doc/posix-functions/towupper_l.texi: Likewise.
49938         * doc/posix-functions/vfwprintf.texi: Likewise.
49939         * doc/posix-functions/vfwscanf.texi: Likewise.
49940         * doc/posix-functions/vswscanf.texi: Likewise.
49941         * doc/posix-functions/vwprintf.texi: Likewise.
49942         * doc/posix-functions/vwscanf.texi: Likewise.
49943         * doc/posix-functions/wcpcpy.texi: Likewise.
49944         * doc/posix-functions/wcpncpy.texi: Likewise.
49945         * doc/posix-functions/wcscasecmp.texi: Likewise.
49946         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49947         * doc/posix-functions/wcscoll_l.texi: Likewise.
49948         * doc/posix-functions/wcsdup.texi: Likewise.
49949         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49950         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49951         * doc/posix-functions/wcsnlen.texi: Likewise.
49952         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49953         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49954         * doc/posix-functions/wctrans_l.texi: Likewise.
49955         * doc/posix-functions/wctype_l.texi: Likewise.
49956         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49957         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49958         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49959         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49960         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49961         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49962         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49963         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49964         * doc/glibc-functions/wcschrnul.texi: Likewise.
49965         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49966         * doc/glibc-functions/wcstod_l.texi: Likewise.
49967         * doc/glibc-functions/wcstof_l.texi: Likewise.
49968         * doc/glibc-functions/wcstol_l.texi: Likewise.
49969         * doc/glibc-functions/wcstold_l.texi: Likewise.
49970         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49971         * doc/glibc-functions/wcstoq.texi: Likewise.
49972         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49973         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49974         * doc/glibc-functions/wcstouq.texi: Likewise.
49975         * doc/glibc-functions/wmempcpy.texi: Likewise.
49976
49977 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49978             Eric Blake  <ebb9@byu.net>
49979             Paolo Bonzini  <bonzini@gnu.org>
49980             Bruno Haible  <bruno@clisp.org>
49981
49982         Make c-stack work on Haiku.
49983         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49984         (c_stack_action): Use SA_ONSTACK flag.
49985
49986 2008-12-22  Bruno Haible  <bruno@clisp.org>
49987
49988         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49989
49990 2008-12-22  Bruno Haible  <bruno@clisp.org>
49991
49992         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
49993         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
49994         being overridden.
49995         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
49996         New macros.
49997         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
49998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
49999         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50000         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50001
50002 2008-12-22  Bruno Haible  <bruno@clisp.org>
50003
50004         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50005         from test code.
50006
50007 2008-12-22  Eric Blake  <ebb9@byu.net>
50008
50009         Avoid gcc warnings on cygwin.
50010         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50011         Avoid unused variable.
50012         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50013         Likewise.
50014
50015 2008-12-22  Bruno Haible  <bruno@clisp.org>
50016
50017         Remove HAVE_MBRTOWC conditionals.
50018         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50019         (mbscasecmp): Assume mbrtowc function.
50020         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50021         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50022         * lib/mbschr.c: Include mbuiter.h unconditionally.
50023         (mbschr): Assume mbrtowc function.
50024         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50025         (mbscspn): Assume mbrtowc function.
50026         * lib/mbslen.c: Include mbuiter.h unconditionally.
50027         (mbslen): Assume mbrtowc function.
50028         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50029         (mbsncasecmp): Assume mbrtowc function.
50030         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50031         (mbsnlen): Assume mbrtowc function.
50032         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50033         (mbspbrk): Assume mbrtowc function.
50034         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50035         (mbspcasecmp): Assume mbrtowc function.
50036         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50037         (mbsrchr): Assume mbrtowc function.
50038         * lib/mbssep.c: Include mbuiter.h unconditionally.
50039         (mbssep): Assume mbrtowc function.
50040         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50041         (mbsspn): Assume mbrtowc function.
50042         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50043         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50044         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50045         (mbstok_r): Assume mbrtowc function.
50046         * lib/propername.c: Include mbuiter.h unconditionally.
50047         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50048         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50049         (trim2): Assume mbrtowc function.
50050         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50051         (mbsnwidth): Assume mbrtowc function.
50052         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50053         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50054         fallback definitions.
50055         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50056
50057 2008-12-22  Bruno Haible  <bruno@clisp.org>
50058
50059         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50060
50061 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50062
50063         * modules/regex: Request emulations for the mb*/wc* functions we need.
50064         * m4/regex.m4: Don't look for those functions here.
50065         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50066
50067 2008-12-22  Bruno Haible  <bruno@clisp.org>
50068
50069         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50070
50071 2008-12-21  Bruno Haible  <bruno@clisp.org>
50072
50073         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50074         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50075         (Include): Remove conditionalization.
50076         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50077         (Include): Remove conditionalization.
50078         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50079         (Include): Remove conditionalization.
50080         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50081         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50082         * NEWS: Mention the change.
50083         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50084         via Sergey Poznyakoff <gray@gnu.org.ua>.
50085
50086 2008-12-21  Bruno Haible  <bruno@clisp.org>
50087
50088         * MODULES.html.sh (Extended multibyte and wide character utilities
50089         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50090         wcrtomb, wcsrtombs.
50091         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50092         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50093         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50094         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50095
50096 2008-12-21  Bruno Haible  <bruno@clisp.org>
50097
50098         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50099
50100 2008-12-21  Bruno Haible  <bruno@clisp.org>
50101
50102         * modules/wcsnrtombs-tests: New file.
50103         * tests/test-wcsnrtombs1.sh: New file.
50104         * tests/test-wcsnrtombs2.sh: New file.
50105         * tests/test-wcsnrtombs3.sh: New file.
50106         * tests/test-wcsnrtombs4.sh: New file.
50107         * tests/test-wcsnrtombs.c: New file.
50108
50109         New module 'wcsnrtombs'.
50110         * lib/wchar.in.h (wcsnrtombs): New declaration.
50111         * lib/wcsnrtombs.c: New file.
50112         * lib/wcsrtombs-state.c: New file.
50113         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50114         (internal_state): Remove variable.
50115         * m4/wcsnrtombs.m4: New file.
50116         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50117         compilation units.
50118         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50119         HAVE_WCSNRTOMBS.
50120         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50121         HAVE_WCSNRTOMBS.
50122         * modules/wcsnrtombs: New file.
50123         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50124         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50125
50126 2008-12-21  Bruno Haible  <bruno@clisp.org>
50127
50128         * modules/wcsrtombs-tests: New file.
50129         * tests/test-wcsrtombs1.sh: New file.
50130         * tests/test-wcsrtombs2.sh: New file.
50131         * tests/test-wcsrtombs3.sh: New file.
50132         * tests/test-wcsrtombs4.sh: New file.
50133         * tests/test-wcsrtombs.c: New file.
50134
50135         New module 'wcsrtombs'.
50136         * lib/wchar.in.h (wcsrtombs): New declaration.
50137         * lib/wcsrtombs.c: New file.
50138         * m4/wcsrtombs.m4: New file.
50139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50140         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50141         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50142         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50143         * modules/wcsrtombs: New file.
50144         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50145         bugs.
50146
50147 2008-12-21  Bruno Haible  <bruno@clisp.org>
50148
50149         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50150         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50151         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50152         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50153         if not correct.
50154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50155         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50156         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50157         m4/locale-zh.m4, m4/codeset.m4.
50158         * doc/posix-functions/wcrtomb.texi: Document the bug.
50159
50160 2008-12-21  Bruno Haible  <bruno@clisp.org>
50161
50162         Work around a btowc() bug on IRIX 6.5.
50163         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50164         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50165         REPLACE_WTOBC if not.
50166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50167         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50168         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50169
50170 2008-12-21  Bruno Haible  <bruno@clisp.org>
50171
50172         * modules/wcrtomb-tests: New file.
50173         * tests/test-wcrtomb.sh: New file.
50174         * tests/test-wcrtomb.c: New file.
50175
50176         New module 'wcrtomb'.
50177         * lib/wchar.in.h (wcrtomb): New declaration.
50178         * lib/wcrtomb.c: New file.
50179         * m4/wcrtomb.m4: New file.
50180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50181         HAVE_WCRTOMB.
50182         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50183         HAVE_WCRTOMB.
50184         * modules/wcrtomb: New file.
50185         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50186
50187 2008-12-21  Bruno Haible  <bruno@clisp.org>
50188
50189         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50190         * modules/mbsrtowcs (Files): Likewise.
50191         * modules/wctob (Files): Likewise.
50192         * modules/c-strcase-tests (Files): Likewise.
50193         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50194         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50195         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50196         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50197         * modules/vasnprintf-posix-tests (Files): Likewise.
50198
50199 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50200
50201         gitlog-to-changelog: pass all command-line arguments to git-log
50202         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50203         it is sometimes convenient to filter the commits in various ways.
50204         gitlog-to-changelog only allows --since to specify a start date,
50205         but git-log itself supports many other filtering mechanisms.
50206         At the moment, I want to filter by branch name.  Rather than
50207         adding a --branch option to gitlog-to-changelog, it seems more
50208         flexible to simply pass all options directly to git-log and let
50209         git do the work.  Notice that this effectively makes --since a
50210         redundant option for gitlog-to-changelog, but removing it would
50211         require current usage to change since calls would then require
50212         an additional '--'.
50213
50214 2008-12-21  Bruno Haible  <bruno@clisp.org>
50215
50216         * modules/mbsnrtowcs-tests: New file.
50217         * tests/test-mbsnrtowcs1.sh: New file.
50218         * tests/test-mbsnrtowcs2.sh: New file.
50219         * tests/test-mbsnrtowcs3.sh: New file.
50220         * tests/test-mbsnrtowcs4.sh: New file.
50221         * tests/test-mbsnrtowcs.c: New file.
50222
50223         New module 'mbsnrtowcs'.
50224         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50225         * lib/mbsnrtowcs.c: New file.
50226         * lib/mbsrtowcs-state.c: New file.
50227         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50228         (internal_state): Remove variable.
50229         * m4/mbsnrtowcs.m4: New file.
50230         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50231         compilation units.
50232         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50233         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50234         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50235         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50236         * modules/mbsnrtowcs: New file.
50237         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50238         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50239         portability problem.
50240
50241 2008-12-21  Bruno Haible  <bruno@clisp.org>
50242
50243         Work around mbsrtowcs bug.
50244         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50245         (gl_FUNC_MBSRTOWCS): Invoke it.
50246         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50247         m4/locale-zh.m4.
50248         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50249
50250 2008-12-21  Bruno Haible  <bruno@clisp.org>
50251
50252         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50253
50254 2008-12-21  Bruno Haible  <bruno@clisp.org>
50255
50256         Update doc for AIX.
50257         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50258         16-bit wchar_t type.
50259         * doc/posix-functions/btowc.texi: Likewise.
50260         * doc/posix-functions/fgetwc.texi: Likewise.
50261         * doc/posix-functions/fgetws.texi: Likewise.
50262         * doc/posix-functions/fputwc.texi: Likewise.
50263         * doc/posix-functions/fputws.texi: Likewise.
50264         * doc/posix-functions/fwide.texi: Likewise.
50265         * doc/posix-functions/fwprintf.texi: Likewise.
50266         * doc/posix-functions/fwscanf.texi: Likewise.
50267         * doc/posix-functions/getwchar.texi: Likewise.
50268         * doc/posix-functions/getwc.texi: Likewise.
50269         * doc/posix-functions/iswalnum.texi: Likewise.
50270         * doc/posix-functions/iswalpha.texi: Likewise.
50271         * doc/posix-functions/iswblank.texi: Likewise.
50272         * doc/posix-functions/iswcntrl.texi: Likewise.
50273         * doc/posix-functions/iswctype.texi: Likewise.
50274         * doc/posix-functions/iswdigit.texi: Likewise.
50275         * doc/posix-functions/iswgraph.texi: Likewise.
50276         * doc/posix-functions/iswlower.texi: Likewise.
50277         * doc/posix-functions/iswprint.texi: Likewise.
50278         * doc/posix-functions/iswpunct.texi: Likewise.
50279         * doc/posix-functions/iswspace.texi: Likewise.
50280         * doc/posix-functions/iswupper.texi: Likewise.
50281         * doc/posix-functions/iswxdigit.texi: Likewise.
50282         * doc/posix-functions/mbrtowc.texi: Likewise.
50283         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50284         * doc/posix-functions/mbstowcs.texi: Likewise.
50285         * doc/posix-functions/mbtowc.texi: Likewise.
50286         * doc/posix-functions/putwchar.texi: Likewise.
50287         * doc/posix-functions/putwc.texi: Likewise.
50288         * doc/posix-functions/swprintf.texi: Likewise.
50289         * doc/posix-functions/tolower.texi: Likewise.
50290         * doc/posix-functions/toupper.texi: Likewise.
50291         * doc/posix-functions/towctrans.texi: Likewise.
50292         * doc/posix-functions/ungetwc.texi: Likewise.
50293         * doc/posix-functions/vswprintf.texi: Likewise.
50294         * doc/posix-functions/wcrtomb.texi: Likewise.
50295         * doc/posix-functions/wcscat.texi: Likewise.
50296         * doc/posix-functions/wcschr.texi: Likewise.
50297         * doc/posix-functions/wcscmp.texi: Likewise.
50298         * doc/posix-functions/wcscoll.texi: Likewise.
50299         * doc/posix-functions/wcscpy.texi: Likewise.
50300         * doc/posix-functions/wcscspn.texi: Likewise.
50301         * doc/posix-functions/wcsftime.texi: Likewise.
50302         * doc/posix-functions/wcslen.texi: Likewise.
50303         * doc/posix-functions/wcsncat.texi: Likewise.
50304         * doc/posix-functions/wcsncmp.texi: Likewise.
50305         * doc/posix-functions/wcsncpy.texi: Likewise.
50306         * doc/posix-functions/wcspbrk.texi: Likewise.
50307         * doc/posix-functions/wcsrchr.texi: Likewise.
50308         * doc/posix-functions/wcsrtombs.texi: Likewise.
50309         * doc/posix-functions/wcsspn.texi: Likewise.
50310         * doc/posix-functions/wcsstr.texi: Likewise.
50311         * doc/posix-functions/wcstod.texi: Likewise.
50312         * doc/posix-functions/wcstof.texi: Likewise.
50313         * doc/posix-functions/wcstoimax.texi: Likewise.
50314         * doc/posix-functions/wcstok.texi: Likewise.
50315         * doc/posix-functions/wcstold.texi: Likewise.
50316         * doc/posix-functions/wcstoll.texi: Likewise.
50317         * doc/posix-functions/wcstol.texi: Likewise.
50318         * doc/posix-functions/wcstombs.texi: Likewise.
50319         * doc/posix-functions/wcstoull.texi: Likewise.
50320         * doc/posix-functions/wcstoul.texi: Likewise.
50321         * doc/posix-functions/wcstoumax.texi: Likewise.
50322         * doc/posix-functions/wcswidth.texi: Likewise.
50323         * doc/posix-functions/wcsxfrm.texi: Likewise.
50324         * doc/posix-functions/wctob.texi: Likewise.
50325         * doc/posix-functions/wctomb.texi: Likewise.
50326         * doc/posix-functions/wctrans.texi: Likewise.
50327         * doc/posix-functions/wctype.texi: Likewise.
50328         * doc/posix-functions/wcwidth.texi: Likewise.
50329         * doc/posix-functions/wmemchr.texi: Likewise.
50330         * doc/posix-functions/wmemcmp.texi: Likewise.
50331         * doc/posix-functions/wmemcpy.texi: Likewise.
50332         * doc/posix-functions/wmemmove.texi: Likewise.
50333         * doc/posix-functions/wmemset.texi: Likewise.
50334         * doc/posix-functions/wprintf.texi: Likewise.
50335         * doc/posix-functions/wscanf.texi: Likewise.
50336
50337 2008-12-21  Bruno Haible  <bruno@clisp.org>
50338
50339         Update doc for HP-UX 11.11.
50340         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50341         in HP-UX version 11.00, not in all versions of HP-UX 11.
50342         * doc/posix-functions/fwide.texi: Likewise.
50343         * doc/posix-functions/fwprintf.texi: Likewise.
50344         * doc/posix-functions/fwscanf.texi: Likewise.
50345         * doc/posix-functions/inet_ntop.texi: Likewise.
50346         * doc/posix-functions/inet_pton.texi: Likewise.
50347         * doc/posix-functions/mbrlen.texi: Likewise.
50348         * doc/posix-functions/mbrtowc.texi: Likewise.
50349         * doc/posix-functions/mbsinit.texi: Likewise.
50350         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50351         * doc/posix-functions/swprintf.texi: Likewise.
50352         * doc/posix-functions/swscanf.texi: Likewise.
50353         * doc/posix-functions/towctrans.texi: Likewise.
50354         * doc/posix-functions/vfwprintf.texi: Likewise.
50355         * doc/posix-functions/vswprintf.texi: Likewise.
50356         * doc/posix-functions/vwprintf.texi: Likewise.
50357         * doc/posix-functions/wcrtomb.texi: Likewise.
50358         * doc/posix-functions/wcsrtombs.texi: Likewise.
50359         * doc/posix-functions/wcsstr.texi: Likewise.
50360         * doc/posix-functions/wctob.texi: Likewise.
50361         * doc/posix-functions/wctrans.texi: Likewise.
50362         * doc/posix-functions/wmemchr.texi: Likewise.
50363         * doc/posix-functions/wmemcmp.texi: Likewise.
50364         * doc/posix-functions/wmemcpy.texi: Likewise.
50365         * doc/posix-functions/wmemmove.texi: Likewise.
50366         * doc/posix-functions/wmemset.texi: Likewise.
50367         * doc/posix-functions/wprintf.texi: Likewise.
50368         * doc/posix-functions/wscanf.texi: Likewise.
50369
50370 2008-12-21  Bruno Haible  <bruno@clisp.org>
50371
50372         Work around a portability problem.
50373         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50374         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50375
50376 2008-12-20  Bruno Haible  <bruno@clisp.org>
50377
50378         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50379         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50380         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50382         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50383
50384         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50385         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50386         set.
50387         (GNULIB_defined_mbstate_t): New macro.
50388         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50389         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50390         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50391         reuses the system's mbrtowc function but works around the bugs.
50392         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50393         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50394         macros.
50395         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50396         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50397         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50398         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50399         REPLACE_MBSINIT if mbsinit needs to be overridden.
50400         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50401         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50402         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50403         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50404         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50405         m4/locale-zh.m4.
50406         (Depends): Add mbsinit.
50407         * modules/mbsinit (Depends): Add mbrtowc.
50408         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50409
50410 2008-12-20  Bruno Haible  <bruno@clisp.org>
50411
50412         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50413         so that there are no conversion errors on AIX.
50414         * tests/test-mbsrtowcs.c (main): LIkewise.
50415
50416 2008-12-20  Bruno Haible  <bruno@clisp.org>
50417
50418         Work around wctob bug on Solaris <= 9.
50419         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50420         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50422         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50423         * modules/wctob (Files): Add m4/locale-fr.m4.
50424         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50425
50426 2008-12-20  Bruno Haible  <bruno@clisp.org>
50427
50428         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50429         /dev/null.
50430         * tests/test-select-in.sh: Likewise.
50431         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50432
50433 2008-12-20  Bruno Haible  <bruno@clisp.org>
50434
50435         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50436         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50437         Cygwin 1.5.x.
50438
50439 2008-12-20  Bruno Haible  <bruno@clisp.org>
50440
50441         Ensure mbstate_t is defined on HP-UX 11.11.
50442         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50443         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50444         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50445         AC_USE_SYSTEM_EXTENSIONS.
50446         * modules/fnmatch (Depends-on): Add extensions.
50447         * modules/mbrlen (Depends-on): Likewise.
50448         * modules/mbrtowc (Depends-on): Likewise.
50449         * modules/mbsinit (Depends-on): Likewise.
50450         * modules/mbsrtowcs (Depends-on): Likewise.
50451         * modules/mbswidth (Depends-on): Likewise.
50452         * modules/quotearg (Depends-on): Likewise.
50453         * modules/strftime (Depends-on): Likewise.
50454
50455 2008-12-20  Bruno Haible  <bruno@clisp.org>
50456
50457         Ensure wctob is declared on IRIX 6.5.
50458         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50459         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50460         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50461         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50462         of HAVE_WCTOB.
50463         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50464         HAVE_WCTOB.
50465         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50466
50467 2008-12-19  Bruno Haible  <bruno@clisp.org>
50468
50469         * modules/mbsrtowcs-tests: New file.
50470         * tests/test-mbsrtowcs1.sh: New file.
50471         * tests/test-mbsrtowcs2.sh: New file.
50472         * tests/test-mbsrtowcs3.sh: New file.
50473         * tests/test-mbsrtowcs4.sh: New file.
50474         * tests/test-mbsrtowcs.c: New file.
50475
50476         New module 'mbsrtowcs'.
50477         * lib/wchar.in.h (mbsrtowcs): New declaration.
50478         * lib/mbsrtowcs.c: New file.
50479         * m4/mbsrtowcs.m4: New file.
50480         * modules/mbsrtowcs: New file.
50481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50482         HAVE_MBSRTOWCS.
50483         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50484         HAVE_MBSRTOWCS.
50485         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50486
50487 2008-12-19  Bruno Haible  <bruno@clisp.org>
50488
50489         New module 'mbrlen'.
50490         * lib/wchar.in.h (mbrlen): New declaration.
50491         * lib/mbrlen.c: New file.
50492         * m4/mbrlen.m4: New file.
50493         * modules/mbrlen: New file.
50494         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50495         HAVE_MBRLEN.
50496         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50497         HAVE_MBRLEN.
50498         * doc/posix-functions/mbrlen.texi: Document the new module.
50499
50500 2008-12-19  Bruno Haible  <bruno@clisp.org>
50501
50502         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50503         * modules/mbrtowc (Depends-on): Add verify.
50504         Suggested by Paul Eggert.
50505
50506 2008-12-18  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/mbsinit-tests: New file.
50509         * tests/test-mbsinit.sh: New file.
50510         * tests/test-mbsinit.c: New file.
50511
50512 2008-12-18  Bruno Haible  <bruno@clisp.org>
50513
50514         * modules/mbrtowc-tests: New file.
50515         * tests/test-mbrtowc1.sh: New file.
50516         * tests/test-mbrtowc2.sh: New file.
50517         * tests/test-mbrtowc3.sh: New file.
50518         * tests/test-mbrtowc4.sh: New file.
50519         * tests/test-mbrtowc.c: New file.
50520
50521         New module 'mbrtowc'.
50522         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50523         mbsinit and mbrtowc.
50524         (mbrtowc): New declaration.
50525         * lib/mbrtowc.c: New file.
50526         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50527         * modules/mbrtowc: New file.
50528         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50529         HAVE_MBRTOWC.
50530         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50531         HAVE_MBRTOWC.
50532         * doc/posix-functions/mbrtowc.texi: Document the new module.
50533
50534 2008-12-18  Bruno Haible  <bruno@clisp.org>
50535
50536         New module 'wctob'.
50537         * lib/wchar.in.h (wctob): New declaration.
50538         * lib/wctob.c: New file.
50539         * m4/wctob.m4: New file.
50540         * modules/wctob: New file.
50541         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50542         HAVE_WCTOB.
50543         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50544         * doc/posix-functions/wctob.texi: Document the new module.
50545
50546 2008-12-18  Bruno Haible  <bruno@clisp.org>
50547
50548         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50549         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50550
50551 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50552
50553         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50554         G. Christensen" <tgc@jupiterrise.com>.
50555
50556         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50557         G. Christensen" <tgc@jupiterrise.com>.
50558
50559         * lib/flock.c: Need to include string.h.  Reported by "Tom
50560         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50561         <ebb9@byu.net>.
50562
50563 2008-12-18  Bruno Haible  <bruno@clisp.org>
50564
50565         * m4/locale-ja.m4: New file, from GNU gettext.
50566
50567 2008-12-17  Bruno Haible  <bruno@clisp.org>
50568
50569         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50570         Suggested by Eric Blake.
50571
50572 2008-12-17  Bruno Haible  <bruno@clisp.org>
50573
50574         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50575
50576 2008-12-17  Bruno Haible  <bruno@clisp.org>
50577
50578         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50579         * modules/mbsinit (Depends-on): Add verify.
50580         Suggested by Paul Eggert.
50581
50582 2008-12-17  Bruno Haible  <bruno@clisp.org>
50583
50584         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50585         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50586         gl_FUNC_MBRTOWC.
50587         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50588         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50589         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50590         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50591         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50592         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50593         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50594         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50595         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50596         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50597         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50598         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50599         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50600         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50601         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50602         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50603         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50604         * modules/trim (configure.ac): Likewise.
50605
50606 2008-12-17  Bruno Haible  <bruno@clisp.org>
50607
50608         * modules/btowc-tests: New file.
50609         * tests/test-btowc1.sh: New file.
50610         * tests/test-btowc2.sh: New file.
50611         * tests/test-btowc.c: New file.
50612
50613         New module 'btowc'.
50614         * lib/wchar.in.h (btowc): New declaration.
50615         * lib/btowc.c: New file.
50616         * m4/btowc.m4: New file.
50617         * modules/btowc: New file.
50618         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50619         HAVE_BTOWC.
50620         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50621         * doc/posix-functions/btowc.texi: Document the new module.
50622
50623 2008-12-17  Bruno Haible  <bruno@clisp.org>
50624
50625         New module 'mbsinit'.
50626         * lib/wchar.in.h (mbsinit): New declaration.
50627         * lib/mbsinit.c: New file.
50628         * m4/mbsinit.m4: New file.
50629         * modules/mbsinit: New file.
50630         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50631         HAVE_MBSINIT.
50632         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50633         HAVE_MBSINIT.
50634         * doc/posix-functions/mbsinit.texi: Document the new module.
50635
50636 2008-12-16  Bruno Haible  <bruno@clisp.org>
50637
50638         * lib/unistd.in.h: Add comment.
50639         * tests/test-environ.c: Don't include <stdlib.h>.
50640
50641 2008-12-16  Bruno Haible  <bruno@clisp.org>
50642
50643         * lib/parse-duration.h (parse_duration): Document return value
50644         convention.
50645         * lib/parse-duration.c: Include specification header first. Add
50646         comments.
50647         (_): Remove macro.
50648         (parse_year_month_day, parse_hour_minute_second): Move side effects
50649         outside of strchr call.
50650         (parse_non_iso8601): Move side effects outside of isspace call.
50651         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50652         call.
50653
50654 2008-12-16  Bruno Haible  <bruno@clisp.org>
50655
50656         * tests/test-parse-duration.sh: Produce no output when the test
50657         succeeds.
50658
50659 2008-12-16  Bruno Haible  <bruno@clisp.org>
50660
50661         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
50662         expressions.
50663
50664 2008-12-15  Bruno Haible  <bruno@clisp.org>
50665
50666         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
50667         * doc/glibc-functions/flistxattr.texi: Likewise.
50668         * doc/glibc-functions/fopencookie.texi: Likewise.
50669         * doc/glibc-functions/fremovexattr.texi: Likewise.
50670         * doc/glibc-functions/fsetxattr.texi: Likewise.
50671         * doc/glibc-functions/getxattr.texi: Likewise.
50672         * doc/glibc-functions/lgetxattr.texi: Likewise.
50673         * doc/glibc-functions/listxattr.texi: Likewise.
50674         * doc/glibc-functions/llistxattr.texi: Likewise.
50675         * doc/glibc-functions/lremovexattr.texi: Likewise.
50676         * doc/glibc-functions/lsetxattr.texi: Likewise.
50677         * doc/glibc-functions/removexattr.texi: Likewise.
50678         * doc/glibc-functions/setxattr.texi: Likewise.
50679         * doc/posix-functions/open_memstream.texi: Likewise.
50680
50681 2008-12-15  Eric Blake  <ebb9@byu.net>
50682
50683         Update doc for cygwin 1.7.
50684         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50685         functions.
50686         * doc/posix-functions/fchmodat.texi: Likewise.
50687         * doc/posix-functions/fchownat.texi: Likewise.
50688         * doc/posix-functions/fdopendir.texi: Likewise.
50689         * doc/posix-functions/fmemopen.texi: Likewise.
50690         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50691         * doc/posix-functions/fstatat.texi: Likewise.
50692         * doc/posix-functions/futimens.texi: Likewise.
50693         * doc/posix-functions/gai_strerror.texi: Likewise.
50694         * doc/posix-functions/getaddrinfo.texi: Likewise.
50695         * doc/posix-functions/getnameinfo.texi: Likewise.
50696         * doc/posix-functions/if_freenameindex.texi: Likewise.
50697         * doc/posix-functions/if_indextoname.texi: Likewise.
50698         * doc/posix-functions/if_nameindex.texi: Likewise.
50699         * doc/posix-functions/if_nametoindex.texi: Likewise.
50700         * doc/posix-functions/insque.texi: Likewise.
50701         * doc/posix-functions/linkat.texi: Likewise.
50702         * doc/posix-functions/llrint.texi: Likewise.
50703         * doc/posix-functions/llrintf.texi: Likewise.
50704         * doc/posix-functions/llrintl.texi: Likewise.
50705         * doc/posix-functions/lockf.texi: Likewise.
50706         * doc/posix-functions/lrintl.texi: Likewise.
50707         * doc/posix-functions/mkdirat.texi: Likewise.
50708         * doc/posix-functions/mkfifoat.texi: Likewise.
50709         * doc/posix-functions/mknodat.texi: Likewise.
50710         * doc/posix-functions/mq_close.texi: Likewise.
50711         * doc/posix-functions/mq_getattr.texi: Likewise.
50712         * doc/posix-functions/mq_notify.texi: Likewise.
50713         * doc/posix-functions/mq_open.texi: Likewise.
50714         * doc/posix-functions/mq_receive.texi: Likewise.
50715         * doc/posix-functions/mq_send.texi: Likewise.
50716         * doc/posix-functions/mq_setattr.texi: Likewise.
50717         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50718         * doc/posix-functions/mq_timedsend.texi: Likewise.
50719         * doc/posix-functions/mq_unlink.texi: Likewise.
50720         * doc/posix-functions/open_memstream.texi: Likewise.
50721         * doc/posix-functions/openat.texi: Likewise.
50722         * doc/posix-functions/posix_fadvise.texi: Likewise.
50723         * doc/posix-functions/posix_fallocate.texi: Likewise.
50724         * doc/posix-functions/posix_madvise.texi: Likewise.
50725         * doc/posix-functions/posix_memalign.texi: Likewise.
50726         * doc/posix-functions/posix_openpt.texi: Likewise.
50727         * doc/posix-functions/readlinkat.texi: Likewise.
50728         * doc/posix-functions/remque.texi: Likewise.
50729         * doc/posix-functions/renameat.texi: Likewise.
50730         * doc/posix-functions/rintl.texi: Likewise.
50731         * doc/posix-functions/sem_unlink.texi: Likewise.
50732         * doc/posix-functions/shm_open.texi: Likewise.
50733         * doc/posix-functions/shm_unlink.texi: Likewise.
50734         * doc/posix-functions/signgam.texi: Likewise.
50735         * doc/posix-functions/sigset.texi: Likewise.
50736         * doc/posix-functions/stpcpy.texi: Likewise.
50737         * doc/posix-functions/stpncpy.texi: Likewise.
50738         * doc/posix-functions/strerror.texi: Likewise.
50739         * doc/posix-functions/strtod.texi: Likewise.
50740         * doc/posix-functions/symlinkat.texi: Likewise.
50741         * doc/posix-functions/unlinkat.texi: Likewise.
50742         * doc/posix-functions/utimensat.texi: Likewise.
50743         * doc/glibc-functions/bindresvport.texi: Likewise.
50744         * doc/glibc-functions/dn_expand.texi: Likewise.
50745         * doc/glibc-functions/exp10.texi: Likewise.
50746         * doc/glibc-functions/exp10f.texi: Likewise.
50747         * doc/glibc-functions/fgetxattr.texi: Likewise.
50748         * doc/glibc-functions/flistxattr.texi: Likewise.
50749         * doc/glibc-functions/fopencookie.texi: Likewise.
50750         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50751         * doc/glibc-functions/fremovexattr.texi: Likewise.
50752         * doc/glibc-functions/fsetxattr.texi: Likewise.
50753         * doc/glibc-functions/getifaddrs.texi: Likewise.
50754         * doc/glibc-functions/getxattr.texi: Likewise.
50755         * doc/glibc-functions/lgetxattr.texi: Likewise.
50756         * doc/glibc-functions/listxattr.texi: Likewise.
50757         * doc/glibc-functions/llistxattr.texi: Likewise.
50758         * doc/glibc-functions/lremovexattr.texi: Likewise.
50759         * doc/glibc-functions/lsetxattr.texi: Likewise.
50760         * doc/glibc-functions/pow10.texi: Likewise.
50761         * doc/glibc-functions/pow10f.texi: Likewise.
50762         * doc/glibc-functions/rcmd_af.texi: Likewise.
50763         * doc/glibc-functions/removexattr.texi: Likewise.
50764         * doc/glibc-functions/res_init.texi: Likewise.
50765         * doc/glibc-functions/res_mkquery.texi: Likewise.
50766         * doc/glibc-functions/res_query.texi: Likewise.
50767         * doc/glibc-functions/res_querydomain.texi: Likewise.
50768         * doc/glibc-functions/res_send.texi: Likewise.
50769         * doc/glibc-functions/rresvport_af.texi: Likewise.
50770         * doc/glibc-functions/setxattr.texi: Likewise.
50771         * doc/glibc-functions/strcasestr.texi: Likewise.
50772
50773 2008-12-15  Bruno Haible  <bruno@clisp.org>
50774
50775         Fix compilation error on OSF/1 4.0.
50776         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50777         <sys/time.h>, simply delegate to the system header.
50778         Reported by Daniel Richard G. <oss@teragram.com>.
50779
50780 2008-12-15  Bruno Haible  <bruno@clisp.org>
50781
50782         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50783         * doc/posix-functions/fchmodat.texi: Likewise.
50784         * doc/posix-functions/fchownat.texi: Likewise.
50785         * doc/posix-functions/fdopendir.texi: Likewise.
50786         * doc/posix-functions/fstatat.texi: Likewise.
50787         * doc/posix-functions/mkdirat.texi: Likewise.
50788         * doc/posix-functions/unlinkat.texi: Likewise.
50789
50790 2008-12-14  Bruno Haible  <bruno@clisp.org>
50791
50792         Update doc for POSIX:2008.
50793         * doc/posix-functions/faccessat.texi: New file.
50794         * doc/posix-functions/fchmodat.texi: New file.
50795         * doc/posix-functions/fchownat.texi: New file.
50796         * doc/posix-functions/fdopendir.texi: New file.
50797         * doc/posix-functions/fstatat.texi: New file.
50798         * doc/posix-functions/futimens.texi: New file.
50799         * doc/posix-functions/linkat.texi: New file.
50800         * doc/posix-functions/mkdirat.texi: New file.
50801         * doc/posix-functions/mkfifoat.texi: New file.
50802         * doc/posix-functions/mknodat.texi: New file.
50803         * doc/posix-functions/open_wmemstream.texi: New file.
50804         * doc/posix-functions/openat.texi: New file.
50805         * doc/posix-functions/psiginfo.texi: New file.
50806         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50807         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50808         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50809         * doc/posix-functions/readlinkat.texi: New file.
50810         * doc/posix-functions/renameat.texi: New file.
50811         * doc/posix-functions/strerror_l.texi: New file.
50812         * doc/posix-functions/symlinkat.texi: New file.
50813         * doc/posix-functions/unlinkat.texi: New file.
50814         * doc/posix-functions/utimensat.texi: New file.
50815         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50816
50817 2008-12-14  Bruno Haible  <bruno@clisp.org>
50818
50819         Update doc for POSIX:2008.
50820         * doc/posix-functions/alphasort.texi: Renamed from
50821         doc/glibc-functions/alphasort.texi.
50822         * doc/posix-functions/dirfd.texi: Renamed from
50823         doc/glibc-functions/dirfd.texi.
50824         * doc/posix-functions/dprintf.texi: Renamed from
50825         doc/glibc-functions/dprintf.texi.
50826         * doc/posix-functions/duplocale.texi: Renamed from
50827         doc/glibc-functions/duplocale.texi.
50828         * doc/posix-functions/fexecve.texi: Renamed from
50829         doc/glibc-functions/fexecve.texi.
50830         * doc/posix-functions/fmemopen.texi: Renamed from
50831         doc/glibc-functions/fmemopen.texi.
50832         * doc/posix-functions/freelocale.texi: Renamed from
50833         doc/glibc-functions/freelocale.texi.
50834         * doc/posix-functions/getdate_err.texi: Renamed from
50835         doc/glibc-functions/getdate_err.texi.
50836         * doc/posix-functions/isalnum_l.texi: Renamed from
50837         doc/glibc-functions/isalnum_l.texi.
50838         * doc/posix-functions/isalpha_l.texi: Renamed from
50839         doc/glibc-functions/isalpha_l.texi.
50840         * doc/posix-functions/isblank_l.texi: Renamed from
50841         doc/glibc-functions/isblank_l.texi.
50842         * doc/posix-functions/iscntrl_l.texi: Renamed from
50843         doc/glibc-functions/iscntrl_l.texi.
50844         * doc/posix-functions/isdigit_l.texi: Renamed from
50845         doc/glibc-functions/isdigit_l.texi.
50846         * doc/posix-functions/isgraph_l.texi: Renamed from
50847         doc/glibc-functions/isgraph_l.texi.
50848         * doc/posix-functions/islower_l.texi: Renamed from
50849         doc/glibc-functions/islower_l.texi.
50850         * doc/posix-functions/isprint_l.texi: Renamed from
50851         doc/glibc-functions/isprint_l.texi.
50852         * doc/posix-functions/ispunct_l.texi: Renamed from
50853         doc/glibc-functions/ispunct_l.texi.
50854         * doc/posix-functions/isspace_l.texi: Renamed from
50855         doc/glibc-functions/isspace_l.texi.
50856         * doc/posix-functions/isupper_l.texi: Renamed from
50857         doc/glibc-functions/isupper_l.texi.
50858         * doc/posix-functions/iswalnum_l.texi: Renamed from
50859         doc/glibc-functions/iswalnum_l.texi.
50860         * doc/posix-functions/iswalpha_l.texi: Renamed from
50861         doc/glibc-functions/iswalpha_l.texi.
50862         * doc/posix-functions/iswblank_l.texi: Renamed from
50863         doc/glibc-functions/iswblank_l.texi.
50864         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50865         doc/glibc-functions/iswcntrl_l.texi.
50866         * doc/posix-functions/iswctype_l.texi: Renamed from
50867         doc/glibc-functions/iswctype_l.texi.
50868         * doc/posix-functions/iswdigit_l.texi: Renamed from
50869         doc/glibc-functions/iswdigit_l.texi.
50870         * doc/posix-functions/iswgraph_l.texi: Renamed from
50871         doc/glibc-functions/iswgraph_l.texi.
50872         * doc/posix-functions/iswlower_l.texi: Renamed from
50873         doc/glibc-functions/iswlower_l.texi.
50874         * doc/posix-functions/iswprint_l.texi: Renamed from
50875         doc/glibc-functions/iswprint_l.texi.
50876         * doc/posix-functions/iswpunct_l.texi: Renamed from
50877         doc/glibc-functions/iswpunct_l.texi.
50878         * doc/posix-functions/iswspace_l.texi: Renamed from
50879         doc/glibc-functions/iswspace_l.texi.
50880         * doc/posix-functions/iswupper_l.texi: Renamed from
50881         doc/glibc-functions/iswupper_l.texi.
50882         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50883         doc/glibc-functions/iswxdigit_l.texi.
50884         * doc/posix-functions/isxdigit_l.texi: Renamed from
50885         doc/glibc-functions/isxdigit_l.texi.
50886         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50887         doc/glibc-functions/mbsnrtowcs.texi.
50888         * doc/posix-functions/mkdtemp.texi: Renamed from
50889         doc/glibc-functions/mkdtemp.texi.
50890         * doc/posix-functions/newlocale.texi: Renamed from
50891         doc/glibc-functions/newlocale.texi.
50892         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50893         doc/glibc-functions/nl_langinfo_l.texi.
50894         * doc/posix-functions/open_memstream.texi: Renamed from
50895         doc/glibc-functions/open_memstream.texi.
50896         * doc/posix-functions/opterr.texi: Renamed from
50897         doc/glibc-functions/opterr.texi.
50898         * doc/posix-functions/optind.texi: Renamed from
50899         doc/glibc-functions/optind.texi.
50900         * doc/posix-functions/optopt.texi: Renamed from
50901         doc/glibc-functions/optopt.texi.
50902         * doc/posix-functions/psignal.texi: Renamed from
50903         doc/glibc-functions/psignal.texi.
50904         * doc/posix-functions/scandir.texi: Renamed from
50905         doc/glibc-functions/scandir.texi.
50906         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50907         doc/glibc-functions/sched_get_priority_min.texi.
50908         * doc/posix-functions/signgam.texi: Renamed from
50909         doc/glibc-functions/signgam.texi.
50910         * doc/posix-functions/stpcpy.texi: Renamed from
50911         doc/glibc-functions/stpcpy.texi.
50912         * doc/posix-functions/stpncpy.texi: Renamed from
50913         doc/glibc-functions/stpncpy.texi.
50914         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50915         doc/glibc-functions/strcasecmp_l.texi.
50916         * doc/posix-functions/strcoll_l.texi: Renamed from
50917         doc/glibc-functions/strcoll_l.texi.
50918         * doc/posix-functions/strfmon_l.texi: Renamed from
50919         doc/glibc-functions/strfmon_l.texi.
50920         * doc/posix-functions/strftime_l.texi: Renamed from
50921         doc/glibc-functions/strftime_l.texi.
50922         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50923         doc/glibc-functions/strncasecmp_l.texi.
50924         * doc/posix-functions/strndup.texi: Renamed from
50925         doc/glibc-functions/strndup.texi.
50926         * doc/posix-functions/strnlen.texi: Renamed from
50927         doc/glibc-functions/strnlen.texi.
50928         * doc/posix-functions/strsignal.texi: Renamed from
50929         doc/glibc-functions/strsignal.texi.
50930         * doc/posix-functions/strxfrm_l.texi: Renamed from
50931         doc/glibc-functions/strxfrm_l.texi.
50932         * doc/posix-functions/timer_gettime.texi: Renamed from
50933         doc/glibc-functions/timer_gettime.texi.
50934         * doc/posix-functions/tolower_l.texi: Renamed from
50935         doc/glibc-functions/tolower_l.texi.
50936         * doc/posix-functions/toupper_l.texi: Renamed from
50937         doc/glibc-functions/toupper_l.texi.
50938         * doc/posix-functions/towctrans_l.texi: Renamed from
50939         doc/glibc-functions/towctrans_l.texi.
50940         * doc/posix-functions/towlower_l.texi: Renamed from
50941         doc/glibc-functions/towlower_l.texi.
50942         * doc/posix-functions/towupper_l.texi: Renamed from
50943         doc/glibc-functions/towupper_l.texi.
50944         * doc/posix-functions/uselocale.texi: Renamed from
50945         doc/glibc-functions/uselocale.texi.
50946         * doc/posix-functions/vdprintf.texi: Renamed from
50947         doc/glibc-functions/vdprintf.texi.
50948         * doc/posix-functions/wcpcpy.texi:
50949         Renamed from doc/glibc-functions/wcpcpy.texi.
50950         * doc/posix-functions/wcpncpy.texi: Renamed from
50951         doc/glibc-functions/wcpncpy.texi.
50952         * doc/posix-functions/wcscasecmp.texi: Renamed from
50953         doc/glibc-functions/wcscasecmp.texi.
50954         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50955         doc/glibc-functions/wcscasecmp_l.texi.
50956         * doc/posix-functions/wcscoll_l.texi: Renamed from
50957         doc/glibc-functions/wcscoll_l.texi.
50958         * doc/posix-functions/wcsdup.texi: Renamed from
50959         doc/glibc-functions/wcsdup.texi.
50960         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50961         doc/glibc-functions/wcsncasecmp.texi.
50962         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50963         doc/glibc-functions/wcsncasecmp_l.texi.
50964         * doc/posix-functions/wcsnlen.texi: Renamed from
50965         doc/glibc-functions/wcsnlen.texi.
50966         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50967         doc/glibc-functions/wcsnrtombs.texi.
50968         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50969         doc/glibc-functions/wcsxfrm_l.texi.
50970         * doc/posix-functions/wctrans_l.texi: Renamed from
50971         doc/glibc-functions/wctrans_l.texi.
50972         * doc/posix-functions/wctype_l.texi: Renamed from
50973         doc/glibc-functions/wctype_l.texi.
50974         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50975         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50976         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50977         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50978         these subsections.
50979         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50980         Remove sections.
50981
50982 2008-12-14  Bruno Haible  <bruno@clisp.org>
50983
50984         Update doc for POSIX:2008.
50985         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50986
50987 2008-12-14  Bruno Haible  <bruno@clisp.org>
50988
50989         Update doc for POSIX:2008.
50990         * doc/pastposix-functions/bcmp.texi: Renamed from
50991         doc/posix-functions/bcmp.texi.
50992         * doc/pastposix-functions/bcopy.texi: Renamed from
50993         doc/posix-functions/bcopy.texi.
50994         * doc/pastposix-functions/bsd_signal.texi: Renamed from
50995         doc/posix-functions/bsd_signal.texi.
50996         * doc/pastposix-functions/bzero.texi: Renamed from
50997         doc/posix-functions/bzero.texi.
50998         * doc/pastposix-functions/ecvt.texi: Renamed from
50999         doc/posix-functions/ecvt.texi.
51000         * doc/pastposix-functions/fcvt.texi: Renamed from
51001         doc/posix-functions/fcvt.texi.
51002         * doc/pastposix-functions/ftime.texi: Renamed from
51003         doc/posix-functions/ftime.texi.
51004         * doc/pastposix-functions/gcvt.texi: Renamed from
51005         doc/posix-functions/gcvt.texi.
51006         * doc/pastposix-functions/getcontext.texi: Renamed from
51007         doc/posix-functions/getcontext.texi.
51008         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51009         doc/posix-functions/gethostbyaddr.texi.
51010         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51011         doc/posix-functions/gethostbyname.texi.
51012         * doc/pastposix-functions/getwd.texi: Renamed from
51013         doc/posix-functions/getwd.texi.
51014         * doc/pastposix-functions/h_errno.texi: Renamed from
51015         doc/posix-functions/h_errno.texi.
51016         * doc/pastposix-functions/index.texi: Renamed from
51017         doc/posix-functions/index.texi.
51018         * doc/pastposix-functions/makecontext.texi: Renamed from
51019         doc/posix-functions/makecontext.texi.
51020         * doc/pastposix-functions/mktemp.texi: Renamed from
51021         doc/posix-functions/mktemp.texi.
51022         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51023         doc/posix-functions/pthread_attr_getstackaddr.texi.
51024         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51025         doc/posix-functions/pthread_attr_setstackaddr.texi.
51026         * doc/pastposix-functions/rindex.texi: Renamed from
51027         doc/posix-functions/rindex.texi.
51028         * doc/pastposix-functions/scalb.texi: Renamed from
51029         doc/posix-functions/scalb.texi.
51030         * doc/pastposix-functions/setcontext.texi: Renamed from
51031         doc/posix-functions/setcontext.texi.
51032         * doc/pastposix-functions/swapcontext.texi: Renamed from
51033         doc/posix-functions/swapcontext.texi.
51034         * doc/pastposix-functions/ualarm.texi: Renamed from
51035         doc/posix-functions/ualarm.texi.
51036         * doc/pastposix-functions/usleep.texi: Renamed from
51037         doc/posix-functions/usleep.texi.
51038         * doc/pastposix-functions/vfork.texi: Renamed from
51039         doc/posix-functions/vfork.texi.
51040         * doc/pastposix-functions/wcswcs.texi: Renamed from
51041         doc/posix-functions/wcswcs.texi.
51042         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51043         (Function Substitutes): Update.
51044
51045 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51046
51047         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51048         m4/strerror.m4.
51049
51050 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51051             Bruno Haible  <bruno@clisp.org>
51052
51053         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51054
51055 2008-12-13  Bruno Haible  <bruno@clisp.org>
51056
51057         * modules/strtoull (Depends-on): Remove unistd.
51058
51059 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51060
51061         * modules/strtoull (Depends-on): Add stdlib.
51062
51063 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51064
51065         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51066
51067 2008-12-10  Jim Meyering  <meyering@redhat.com>
51068
51069         gl_ASSERT: don't say assertions are disabled when they're not
51070         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51071         "checking whether to enable assertions... no", when they are in
51072         fact enabled.  This is solely a bug in the output of configure.
51073         In spite of saying "no", NDEBUG was not defined in that case.
51074         Also, as noted by Eric Blake, leave assertions enabled upon
51075         --enable-assert=INVALID.
51076
51077 2008-12-10  Bruno Haible  <bruno@clisp.org>
51078
51079         Change MODULES.html to refer to POSIX:2008 where possible.
51080         * MODULES.html.sh (POSIX2008_URL): New variable.
51081         (posix_headers): Remove sys/timeb, ucontext.
51082         (posix2001_headers): New variable.
51083         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51084         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51085         index, makecontext, mktemp, pthread_attr_getstackaddr,
51086         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51087         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51088         (posix2001_functions): New variable.
51089         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51090         otherwise.
51091
51092 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51093
51094         add missing include to parse-duration.c
51095         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51096         * modules/parse-duration (Depends-on): Add xalloc.
51097
51098         fix sed script reading maint.mk
51099         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51100         (syntax-check-rules): Use it.
51101
51102 2008-12-09  Bruno Haible  <bruno@clisp.org>
51103
51104         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51105         MacOS X 10.4/PowerPC.
51106         Reported by Simon Josefsson.
51107
51108 2008-12-08  Jim Meyering  <meyering@redhat.com>
51109
51110         work around mingw's lack of some S_IF definitions
51111         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51112         Reported by Simon Josefsson.
51113
51114 2008-12-08  Bruno Haible  <bruno@clisp.org>
51115
51116         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51117         applied to variables. Needed on MacOS X 10.4/PowerPC.
51118         Reported by Simon Josefsson.
51119
51120 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51121         and Eric Blake  <ebb9@byu.net>
51122
51123         assert: honor --enable-assert
51124         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51125         order to honor --enable-assert, rather than treating it as a
51126         synonym for --disable-assert.
51127
51128 2008-12-08  Jim Meyering  <meyering@redhat.com>
51129
51130         * lib/posixtm.c: Remove now-useless declaration of mktime.
51131
51132         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51133
51134 2008-12-07  Bruno Haible  <bruno@clisp.org>
51135
51136         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51137         test_once): Mark functions as static.
51138         * tests/test-tls.c (test_tls): Likewise.
51139
51140 2008-12-07  Bruno Haible  <bruno@clisp.org>
51141
51142         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51143         iconv_register_autodetect.
51144
51145 2008-12-07  Jim Meyering  <meyering@redhat.com>
51146
51147         posixtm.c: avoid a warning
51148         * lib/posixtm.c (posixtime): Don't initialize tm0.
51149         It's no longer needed to placate gcc4's -Wuninitialized,
51150         and the attempt to placate would elicit a new warning.
51151
51152         unicodeio.c: mark unused parameters
51153         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51154         (fallback_failure_callback): Likewise.
51155
51156 2008-12-07  Bruno Haible  <bruno@clisp.org>
51157
51158         * gnulib-tool (func_create_testdir): When building the tests
51159         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51160         Reported by Simon Josefsson.
51161
51162 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51163
51164         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51165
51166 2008-12-06  Bruno Haible  <bruno@clisp.org>
51167
51168         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51169         Suggested by Eric Blake.
51170
51171 2008-12-06  Bruno Haible  <bruno@clisp.org>
51172
51173         Fix a c-stack test failure on MacOS X.
51174         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51175         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51176         handler for SIGBUS as well.
51177         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51178         install a signal handler for SIGBUS as well.
51179         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51180
51181 2008-12-06  Bruno Haible  <bruno@clisp.org>
51182
51183         Advocacy documentation.
51184         * doc/gnulib-intro.texi (Benefits): New section.
51185         * doc/gnulib.texi: Update.
51186
51187 2008-12-06  Bruno Haible  <bruno@clisp.org>
51188
51189         Document the 'manywarnings' module.
51190         * doc/manywarnings.texi: New file.
51191         * doc/gnulib.texi: Include it.
51192
51193 2008-12-05  Eric Blake  <ebb9@byu.net>
51194
51195         tests: silence some gcc warnings
51196         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51197         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51198         type mismatches.
51199
51200 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51201             Bruno Haible  <bruno@clisp.org>
51202
51203         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51204
51205 2008-11-29  Jim Meyering  <meyering@redhat.com>
51206
51207         unicodeio.c: mark unused parameters
51208         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51209         (fallback_failure_callback): Likewise.
51210
51211         fts: fix a thinko
51212         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51213         (set_stat_type): Return S_IF*-valued "type" directly.
51214         Prompted by James Youngman's spotting a related bug.
51215         Confirmed by further testing through find.
51216
51217         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51218         * lib/fts.c (D_TYPE): Define.
51219         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51220         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51221         (s_ifmt_shift_bits): New function.
51222         (set_stat_type): New function.
51223         (fts_build): When not calling fts_stat, call set_stat_type
51224         to propagate dirent.d_type info to fts_read caller.
51225         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51226         fts_statp->st_mode type information may be valid.
51227
51228 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51229
51230         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51231         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51232         <sds@gnu.org>.
51233
51234 2008-11-20  Bruno Haible  <bruno@clisp.org>
51235
51236         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51237         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51238         INCLUDE_NEXT.
51239         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51240         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51241         * modules/math (Makefile.am): Substitute
51242         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51243         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51244
51245 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51246             Bruno Haible  <bruno@clisp.org>
51247
51248         * lib/stdint.in.h: Define all type macros so that their expansion is
51249         a single typedef'ed token. Fixes a compilation failure in Boost which
51250         does "using ::int8_t;".
51251
51252 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51253
51254         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51255         gl_MANYWARN_ALL_GCC.
51256         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51257         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51258         * modules/manywarnings: New file.
51259         * MODULES.html.sh: Mention manywarnings module.
51260
51261 2008-11-18  Bruno Haible  <bruno@clisp.org>
51262
51263         * doc/gnulib-tool.texi (Unit tests): New section.
51264
51265 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51266
51267         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51268         paths like 'lib/po/foo.po'.
51269
51270 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51271
51272         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51273         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51274
51275 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51276
51277         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51278         parameter works.
51279
51280 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51281
51282         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51283
51284 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51285
51286         * modules/parse-duration-tests: New file.
51287         * tests/test-parse-duration.sh: New file.
51288         * tests/test-parse-duration.c: New file.
51289
51290         New module 'parse-duration'.
51291         * lib/parse-duration.h: New file.
51292         * lib/parse-duration.c: New file.
51293         * modules/parse-duration: New file.
51294
51295 2008-11-17  Bruno Haible  <bruno@clisp.org>
51296
51297         * tests/test-select-out.sh: Comment out the first pipe test.
51298         Reported by Simon Josefsson.
51299
51300 2008-11-17  Bruno Haible  <bruno@clisp.org>
51301
51302         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51303         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51304         gl_HOSTENT.
51305
51306 2008-11-17  Bruno Haible  <bruno@clisp.org>
51307
51308         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51309         -lnetwork and -lnet. Needed for Haiku and BeOS.
51310
51311 2008-11-16  Bruno Haible  <bruno@clisp.org>
51312
51313         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51314
51315 2008-11-16  Bruno Haible  <bruno@clisp.org>
51316
51317         Avoid test failure on Haiku.
51318         * tests/test-fsync.c: Include <errno.h>.
51319         (main): Don't require that fsync (0) fails.
51320
51321 2008-11-15  Bruno Haible  <bruno@clisp.org>
51322
51323         New module 'hostent'.
51324         * modules/hostent: New file.
51325         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51326
51327 2008-11-15  Bruno Haible  <bruno@clisp.org>
51328
51329         New module 'servent'.
51330         * modules/servent: New file.
51331         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51332
51333 2008-11-15  Bruno Haible  <bruno@clisp.org>
51334
51335         Avoid generating same test program with two different rules.
51336         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51337         test-frexp to test-frexp-nolibm.
51338         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51339         test-frexpl to test-frexpl-nolibm.
51340
51341 2008-11-15  Bruno Haible  <bruno@clisp.org>
51342
51343         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51344         $(FREXPL_LIBM).
51345
51346 2008-11-15  Bruno Haible  <bruno@clisp.org>
51347
51348         * lib/netdb.in.h: Activate the definitions also when the system's
51349         <netdb.h> has 'struct addrinfo'.
51350         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51351         EAI_OVERFLOW or AI_NUMERICSERV.
51352         * doc/posix-headers/netdb.texi: Document the problem.
51353
51354 2008-11-15  Bruno Haible  <bruno@clisp.org>
51355
51356         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51357
51358         Make the 'sched' module work on platforms where <sched.h> exists but
51359         is incomplete (such as Haiku).
51360         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51361         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51362         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51363         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51364         HAVE_STRUCT_SCHED_PARAM.
51365         * modules/sched (Depends-on): Add include_next.
51366         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51367         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51368         * doc/posix-headers/sched.texi: Document the issue.
51369
51370 2008-11-13  Jim Meyering  <meyering@redhat.com>
51371
51372         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51373         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51374         test would fail due to the difference in the Report bugs to ...
51375         line.  The expected address is empty, "<>", while the actual
51376         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51377
51378 2008-11-12  Bruno Haible  <bruno@clisp.org>
51379
51380         lstat: don't compile lstat.c on systems lacking lstat
51381         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51382         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51383         Reported by Daniel P. Berrange via Jim Meyering.
51384
51385 2008-11-12  Jim Meyering  <meyering@redhat.com>
51386
51387         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51388
51389 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51390
51391         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51392         instead.
51393
51394 2008-11-12  Bruno Haible  <bruno@clisp.org>
51395
51396         * lib/unicodeio.c: Include unistr.h.
51397         (utf8_wctomb): Remove function.
51398         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51399
51400 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51401
51402         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51403         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51404         <bruno@clisp.org>.
51405         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51406
51407 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51408
51409         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51410         * doc/gnulib.texi: Add section for warnings.
51411
51412 2008-11-11  Bruno Haible  <bruno@clisp.org>
51413
51414         * lib/sockets.h: Add a comment.
51415
51416 2008-11-11  Karl Berry  <karl@gnu.org>
51417
51418         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51419
51420 2008-11-11  Eric Blake  <ebb9@byu.net>
51421
51422         fdl.texi: avoid git symlinks
51423         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51424
51425 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51426
51427         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51428
51429 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51430
51431         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51432         (gl_WARN_ADD): Substitute $2 if literal.
51433
51434 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51435
51436         * m4/warning.m4: Remove.
51437
51438 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51439
51440         * m4/warnings.m4: Almost complete rewrite. :-)
51441
51442 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51443
51444         * modules/warnings: New module.
51445         * m4/warnings.m4: New file.
51446         * MODULES.html.sh: Mention warnings module.
51447         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51448         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51449
51450 2008-11-10  Eric Blake  <ebb9@byu.net>
51451
51452         fdl.texi: make a symlink to the latest version
51453         * doc/standards.texi: Revert today's earlier change.
51454         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51455         * doc/fdl.texi: ...and replace this with a symlink to the newer
51456         fdl-1.3.texi.
51457
51458 2008-11-10  Bruno Haible  <bruno@clisp.org>
51459
51460         * tests/test-select-fd.c (main): Accept the result file name as fourth
51461         argument.
51462         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51463         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51464
51465 2008-11-10  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51468         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51469         as autoconf-substituted macros.
51470         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51471         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51472         gl_NETDB_H_DEFAULTS. Set these variables.
51473         * modules/netdb (Makefile.am): Substitute these variables.
51474
51475 2008-11-10  Eric Blake  <ebb9@byu.net>
51476
51477         standards.texi: include correct file for FDL 1.3
51478         * doc/standards.texi (GNU Free Documentation License): Change
51479         include file to pull in FDL 1.3, not 1.2.
51480
51481         fdl.texi: revert accidental change to license
51482         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51483
51484 2008-11-10  Bruno Haible  <bruno@clisp.org>
51485
51486         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51487         cross-compiling guesses also when the native compile gives no result.
51488
51489 2008-11-10  Bruno Haible  <bruno@clisp.org>
51490
51491         * lib/spawni.c (__spawni): Force variable into the stack.
51492
51493 2008-11-10  Bruno Haible  <bruno@clisp.org>
51494
51495         Add support for Haiku.
51496         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51497         glibc and BeOS, but also on Haiku.
51498         * lib/fpurge.c (fpurge): Likewise.
51499         * lib/freadable.c (freadable): Likewise.
51500         * lib/freadahead.c (freadahead): Likewise.
51501         * lib/freading.c (freading): Likewise.
51502         * lib/freadptr.c (freadptr): Likewise.
51503         * lib/freadseek.c (freadptrinc): Likewise.
51504         * lib/fseeko.c (rpl_fseeko): Likewise.
51505         * lib/fseterr.c (fseterr): Likewise.
51506         * lib/fwritable.c (fwritable): Likewise.
51507         * lib/fwriting.c (fwriting): Likewise.
51508         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51509
51510 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51511
51512         * lib/config.charset: Treat Haiku like BeOS.
51513
51514 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51515
51516         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51517         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51518
51519 2008-11-08  Bruno Haible  <bruno@clisp.org>
51520
51521         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51522         AC_CACHE_CHECK.
51523
51524 2008-11-08  Bruno Haible  <bruno@clisp.org>
51525
51526         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51527
51528 2008-11-08  Bruno Haible  <bruno@clisp.org>
51529
51530         * tests/test-select-fd.c: New file.
51531         * tests/test-select-in.sh: New file.
51532         * tests/test-select-out.sh: New file.
51533         * tests/test-select-stdin.c: New file.
51534         * modules/select-tests (Files): Add the new files.
51535         (Depends-on): Add gettimeofday.
51536         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51537         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51538         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51539
51540 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51541             Bruno Haible  <bruno@clisp.org>
51542
51543         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51544
51545 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51546
51547         * build-aux/pmccabe2html: Added support for C++ source files.
51548
51549 2008-11-05  Ben Pfaff  <blp@gnu.org>
51550
51551         Fix lib/close.c build on Windows.
51552         * modules/close (Files): Add lib/w32sock.h.
51553
51554 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51555
51556         Accept Bison's NEWS format.
51557         * build-aux/announce-gen (print_news_deltas): Tweak
51558         $re_prefix.
51559
51560 2008-11-04  Bruno Haible  <bruno@clisp.org>
51561
51562         * modules/random_r (Maintainer): Add glibc.
51563
51564 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51565
51566         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51567         by karl@freefriends.org (Karl Berry).
51568         * doc/alloca.texi: Likewise.
51569         * doc/c-ctype.texi: Likewise.
51570         * doc/c-strcase.texi: Likewise.
51571         * doc/c-strcaseeq.texi: Likewise.
51572         * doc/c-strcasestr.texi: Likewise.
51573         * doc/c-strstr.texi: Likewise.
51574         * doc/c-strtod.texi: Likewise.
51575         * doc/c-strtold.texi: Likewise.
51576         * doc/ctime.texi: Likewise.
51577         * doc/error.texi: Likewise.
51578         * doc/fdl.texi: Likewise.
51579         * doc/gcd.texi: Likewise.
51580         * doc/getdate.texi: Likewise.
51581         * doc/gnulib-intro.texi: Likewise.
51582         * doc/gnulib-tool.texi: Likewise.
51583         * doc/gnulib.texi: Likewise.
51584         * doc/inet_ntoa.texi: Likewise.
51585         * doc/maintain.texi: Likewise.
51586         * doc/make-stds.texi: Likewise.
51587         * doc/quote.texi: Likewise.
51588         * doc/regexprops-generic.texi: Likewise.
51589         * doc/standards.texi: Likewise.
51590         * doc/verify.texi: Likewise.
51591         * doc/visibility.texi: Likewise.
51592         * doc/gnulib.texi (GNU Free Documentation License): Include
51593         fdl-1.3.texi instead of fdl.texi.
51594
51595 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51596
51597         * doc/fdl-1.3.texi: New file, from
51598         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51599         * modules/fdl-1.3: Add.
51600         * MODULES.html.sh: Add fdl-1.3.
51601
51602 2008-11-03  Bruno Haible  <bruno@clisp.org>
51603
51604         Make determination of absolute name of header file work with AIX xlc.
51605         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51606         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51607         preprocessing.
51608         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51609         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51610
51611 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51612
51613         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51614         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51615         <ludo@gnu.org>.
51616
51617 2008-11-02  Bruno Haible  <bruno@clisp.org>
51618
51619         Mark 'strpbrk' obsolete.
51620         * modules/strpbrk (Status, Notice): New sections.
51621         * modules/strtok_r (Depends-on): Add strpbrk.
51622
51623 2008-11-02  Bruno Haible  <bruno@clisp.org>
51624
51625         Mark 'strdup' obsolete.
51626         * modules/strdup (Status, Notice): New sections.
51627         * modules/findprog (Depends-on): Add strdup.
51628         * modules/getaddrinfo (Depends-on): Likewise.
51629         * modules/localename (Depends-on): Likewise.
51630         * modules/relocatable-lib (Depends-on): Likewise.
51631         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51632         * modules/relocatable-prog (Depends-on): Likewise.
51633         * modules/trim (Depends-on): Likewise.
51634         * modules/unictype/gen-ctype (Depends-on): Likewise.
51635         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51636
51637 2008-11-02  Bruno Haible  <bruno@clisp.org>
51638
51639         Mark 'strcspn' obsolete.
51640         * modules/strcspn (Status, Notice): New sections.
51641
51642 2008-11-02  Bruno Haible  <bruno@clisp.org>
51643
51644         Mark 'rmdir' obsolete.
51645         * modules/rmdir (Status, Notice): New sections.
51646         * modules/clean-temp (Depends-on): Add rmdir.
51647         * modules/openat (Depends-on): Likewise.
51648
51649 2008-11-02  Bruno Haible  <bruno@clisp.org>
51650
51651         Mark 'raise' obsolete.
51652         * modules/raise (Status, Notice): New sections.
51653         (Include): Specify <signal.h>.
51654         * modules/stdio (Depends-on): Add raise.
51655         * modules/write (Depends-on): Likewise.
51656
51657 2008-11-02  Bruno Haible  <bruno@clisp.org>
51658
51659         Mark 'memset' obsolete.
51660         * modules/memset (Status, Notice): New sections.
51661
51662 2008-11-02  Bruno Haible  <bruno@clisp.org>
51663
51664         Mark 'memmove' obsolete.
51665         * modules/memmove (Status, Notice): New sections.
51666         * modules/argp (Depends-on): Add memmove.
51667         * modules/argz (Depends-on): Likewise.
51668         * modules/canonicalize (Depends-on): Likewise.
51669         * modules/canonicalize-lgpl (Depends-on): Likewise.
51670         * modules/fts (Depends-on): Likewise.
51671         * modules/getcwd (Depends-on): Likewise.
51672         * modules/human (Depends-on): Likewise.
51673         * modules/regex (Depends-on): Likewise.
51674         * modules/striconveh (Depends-on): Likewise.
51675         * modules/trim (Depends-on): Likewise.
51676         * modules/unistr/u8-move (Depends-on): Likewise.
51677         * modules/unistr/u16-move (Depends-on): Likewise.
51678         * modules/unistr/u32-move (Depends-on): Likewise.
51679
51680 2008-11-02  Bruno Haible  <bruno@clisp.org>
51681
51682         Mark 'memcpy' obsolete.
51683         * modules/memcpy (Status, Notice): New sections.
51684
51685 2008-11-02  Bruno Haible  <bruno@clisp.org>
51686
51687         Mark 'memcmp' obsolete.
51688         * modules/memcmp (Status, Notice): New sections.
51689         * modules/argmatch (Depends-on): Add memchr.
51690         * modules/backupfile (Depends-on): Likewise.
51691         * modules/c-strcasestr (Depends-on): Likewise.
51692         * modules/crypto/des (Depends-on): Likewise.
51693         * modules/csharpcomp (Depends-on): Likewise.
51694         * modules/fnmatch (Depends-on): Likewise.
51695         * modules/git-merge-changelog (Depends-on): Likewise.
51696         * modules/isnand (Depends-on): Likewise.
51697         * modules/isnand-nolibm (Depends-on): Likewise.
51698         * modules/isnanf (Depends-on): Likewise.
51699         * modules/isnanf-nolibm (Depends-on): Likewise.
51700         * modules/isnanl (Depends-on): Likewise.
51701         * modules/isnanl-nolibm (Depends-on): Likewise.
51702         * modules/mbchar (Depends-on): Likewise.
51703         * modules/memcoll (Depends-on): Likewise.
51704         * modules/quotearg (Depends-on): Likewise.
51705         * modules/regex (Depends-on): Likewise.
51706         * modules/relocatable-prog (Depends-on): Likewise.
51707         * modules/same (Depends-on): Likewise.
51708         * modules/signbit (Depends-on): Likewise.
51709         * modules/strcasestr-simple (Depends-on): Likewise.
51710         * modules/unictype/gen-ctype (Depends-on): Likewise.
51711         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51712         * modules/uniname/uniname (Depends-on): Likewise.
51713         * modules/unistr/u8-cmp (Depends-on): Likewise.
51714
51715 2008-11-02  Bruno Haible  <bruno@clisp.org>
51716
51717         Mark 'memchr' obsolete.
51718         * modules/memchr (Status, Notice): New sections.
51719         * modules/argp (Depends-on): Add memchr.
51720         * modules/base64 (Depends-on): Likewise.
51721         * modules/c-strcasestr (Depends-on): Likewise.
51722         * modules/chdir-long (Depends-on): Likewise.
51723         * modules/fnmatch (Depends-on): Likewise.
51724         * modules/getsubopt (Depends-on): Likewise.
51725         * modules/git-merge-changelog (Depends-on): Likewise.
51726         * modules/glob (Depends-on): Likewise.
51727         * modules/strcasestr-simple (Depends-on): Likewise.
51728         * modules/strnlen (Depends-on): Likewise.
51729
51730 2008-11-02  Bruno Haible  <bruno@clisp.org>
51731
51732         Mark 'atexit' obsolete.
51733         * modules/atexit (Status, Notice): New sections.
51734         * modules/chdir-long (Depends-on): Add atexit.
51735         * modules/wait-process (Depends-on): Likewise.
51736
51737 2008-11-02  Bruno Haible  <bruno@clisp.org>
51738
51739         * gnulib-tool: New option --with-obsolete.
51740         (func_usage): Document it.
51741         (func_modules_transitive_closure): Drop obsolete dependencies if
51742         incobsolete is not true.
51743         (func_import): Read and save the incobsolete variable to the cache.
51744
51745 2008-11-02  Bruno Haible  <bruno@clisp.org>
51746
51747         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51748         * gnulib-tool: New option --extract-status.
51749         (func_usage): Document it.
51750         (sed_extract_prog): Recognize it.
51751         (func_get_status): New function.
51752
51753 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51754
51755         * modules/sockets (License): Change from LGPL to LGPLv2+.
51756
51757 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51758
51759         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51760
51761 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51762
51763         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51764         Mention times and sys_times.
51765         * modules/sys_times, modules/sys_times-tests: New modules.
51766         * modules/times, modules/times-tests: Likewise
51767         * m4/sys_times_h.m4: New file.
51768         * lib/sys_times.in.h: Likewise
51769         * lib/times.c: Likewise.
51770         * tests/test-sys_times.c: Likewise.
51771         * tests/test-times.c: Likewise.
51772         * doc/posix-headers/sys_times.texi: Update.
51773         * doc/posix-functions/times.texi: Update.
51774
51775 2008-10-28  Jim Meyering  <meyering@redhat.com>
51776
51777         * modules/tempname (Depends-on): Add lstat.
51778
51779         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51780
51781 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51782
51783         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51784         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51785         using idiom used elsewhere in gnulib.
51786
51787 2008-10-27  Jim Meyering  <meyering@redhat.com>
51788
51789         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51790
51791 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51792
51793         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51794         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51795         programs.
51796         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51797
51798 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51799
51800         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51801
51802 2008-10-27  Bruno Haible  <bruno@clisp.org>
51803
51804         * tests/test-lstat.c: Include <stdio.h>.
51805
51806 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51807
51808         * modules/lstat-tests: New module.
51809         * tests/test-lstat.c: New file.
51810
51811 2008-10-26  Jim Meyering  <meyering@redhat.com>
51812
51813         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51814
51815 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51816             Bruno Haible  <bruno@clisp.org>
51817
51818         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51819         * modules/configmake (Include): Add a note that the include must come
51820         after all system headers.
51821         * lib/javaversion.c: Include configmake.h after all other includes.
51822
51823 2008-10-26  Bruno Haible  <bruno@clisp.org>
51824
51825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51826         HAVE_STRUCT_RANDOM_DATA to 1.
51827         (gl_STDLIB_H): Simplify.
51828
51829 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51830
51831         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51832         substitute HAVE_STRUCT_RANDOM_DATA.
51833         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51834         random_data.
51835         * modules/stdlib (Makefile.am): Substitute
51836         HAVE_STRUCT_RANDOM_DATA.
51837
51838 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51839
51840         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51841         * doc/gnulib-intro.texi (Copyright): Likewise.
51842
51843 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51844
51845         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51846         findings.
51847
51848 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51849             Bruno Haible  <bruno@clisp.org>
51850
51851         * lib/unistd.in.h: Include <winsock2.h>.
51852         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51853         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51854         Provide dummy declarations.
51855         (gethostname): Override.
51856         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51857         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51858         gl_PREREQ_SYS_H_WINSOCK2.
51859         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51860         * doc/posix-functions/gethostname.texi: More details.
51861
51862 2008-10-25  Bruno Haible  <bruno@clisp.org>
51863
51864         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51865         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51866         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51867
51868         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51869         here ...
51870         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51871         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51872         gl_UNISTD_H_DEFAULTS.
51873
51874 2008-10-25  Eric Blake  <ebb9@byu.net>
51875
51876         signbit: avoid spurious compiler failure
51877         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51878         declarations inside function.
51879
51880 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51881             Bruno Haible  <bruno@clisp.org>
51882
51883         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51884         * modules/random_r (Depends-on): Add stdint.
51885
51886 2008-10-24  Bruno Haible  <bruno@clisp.org>
51887
51888         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51889         Eggert.
51890         * modules/strerror (License): Likewise.
51891
51892 2008-10-24  Jim Meyering  <meyering@redhat.com>
51893
51894         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51895         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51896
51897 2008-10-24  Eric Blake  <ebb9@byu.net>
51898
51899         getgroups: fix compilation when getgroups is available
51900         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51901         but with <config.h> override of getgroups disabled.
51902
51903 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51904
51905         * doc/gnulib.texi (Header files): Add note about C++ problems.
51906         Explained by Bruno Haible <bruno@clisp.org>.
51907
51908 2008-10-23  Bruno Haible  <bruno@clisp.org>
51909
51910         Define a dummy SA_NODEFER macro on Interix.
51911         * lib/signal.in.h (SA_NODEFER): Define fallback.
51912         Reported by Aleksey Cheusov <cheusov@tut.by> via
51913         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51914
51915 2008-10-23  Bruno Haible  <bruno@clisp.org>
51916
51917         * modules/freadahead (License): Change to LGPLv2+.
51918         Suggested by Simon Josefsson.
51919
51920 2008-10-23  Jim Meyering  <meyering@redhat.com>
51921
51922         random_r: new module
51923         * modules/random_r: New file.
51924         * m4/random_r.m4: New file.
51925         * lib/random_r.c: New file, from glibc.
51926         * modules/random_r-tests: New file.
51927         * tests/test-random_r.c: New file.
51928         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51929          Declare.
51930         (RAND_MAX): Define.
51931         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51932         * modules/stdlib: Substitute them, too.
51933         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51934         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51935         * doc/glibc-functions/random_r.texi: Likewise.
51936         * doc/glibc-functions/setstate_r.texi: Likewise.
51937         * doc/glibc-functions/srandom_r.texi: Likewise.
51938         * config/srclist.txt: Mention it.
51939
51940 2008-10-23  David Lutterkort  <lutter@redhat.com>
51941
51942         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51943         link requirement
51944
51945 2008-10-23  Jim Meyering  <meyering@redhat.com>
51946
51947         selinux-h: mark parameters of stub functions as intentionally unused
51948         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51949         * lib/se-context.in.h: Likewise.
51950
51951 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51952
51953         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51954
51955 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51956
51957         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51958
51959 2008-10-22  Eric Blake  <ebb9@byu.net>
51960
51961         glthread/thread: avoid compiler warning
51962         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51963         Add unreachable abort to silence compiler.
51964
51965 2008-10-22  Eric Blake  <ebb9@byu.net>
51966
51967         netdb: also supply struct addrinfo for cygwin 1.5.x
51968         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51969         older cygwin.
51970         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51971         cygwin.
51972         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51973
51974 2008-10-22  Bruno Haible  <bruno@clisp.org>
51975
51976         * users.txt: Update entry about pspp.
51977
51978 2008-10-21  Bruno Haible  <bruno@clisp.org>
51979
51980         Simplification.
51981         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51982         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51983
51984         Simplification.
51985         * lib/ioctl.c (ioctl): Don't undefine.
51986         * lib/socket.c (socket): Don't undefine.
51987
51988         Remove unused module indicator macros.
51989         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51990         GNULIB_$1 as a C macro.
51991
51992         * doc/posix-functions/close.texi: Undo last change.
51993         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
51994         Windows platforms.
51995
51996 2008-10-21  Bruno Haible  <bruno@clisp.org>
51997
51998         Add gethostname() declaration to <unistd.h>.
51999         * lib/unistd.in.h (gethostname): New declaration.
52000         * lib/gethostname.c: Include <unistd.h>.
52001         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52002         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52003         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52004         and HAVE_GETHOSTNAME.
52005         * modules/gethostname (Depends-on): Add unistd.
52006         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52007         (Include): Specify <unistd.h>.
52008         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52009         HAVE_GETHOSTNAME.
52010         * tests/test-gethostname.c: Include <unistd.h> first.
52011
52012 2008-10-21  Bruno Haible  <bruno@clisp.org>
52013
52014         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52015         * modules/select-tests (Depends-on): Likewise.
52016         Reported by Simon Josefsson.
52017
52018 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52019
52020         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52021         * lib/accept.c: New file, based on winsock.c.
52022         * lib/bind.c: New file, based on winsock.c.
52023         * lib/connect.c: New file, based on winsock.c.
52024         * lib/getpeername.c: New file, based on winsock.c.
52025         * lib/getsockname.c: New file, based on winsock.c.
52026         * lib/getsockopt.c: New file, based on winsock.c.
52027         * lib/ioctl.c: New file, based on winsock.c.
52028         * lib/listen.c: New file, based on winsock.c.
52029         * lib/recv.c: New file, based on winsock.c.
52030         * lib/recvfrom.c: New file, based on winsock.c.
52031         * lib/send.c: New file, based on winsock.c.
52032         * lib/sendto.c: New file, based on winsock.c.
52033         * lib/setsockopt.c: New file, based on winsock.c.
52034         * lib/shutdown.c: New file, based on winsock.c.
52035         * lib/socket.c: New file, based on winsock.c.
52036         * lib/w32sock.h: New file, based on winsock.c.
52037         * lib/winsock.c: Remove file.
52038         * modules/accept: Likewise.
52039         * modules/bind: Likewise.
52040         * modules/connect: Likewise.
52041         * modules/getpeername: Likewise.
52042         * modules/getsockname: Likewise.
52043         * modules/getsockopt: Likewise.
52044         * modules/ioctl: Likewise.
52045         * modules/listen: Likewise.
52046         * modules/recv: Likewise.
52047         * modules/recvfrom: Likewise.
52048         * modules/send: Likewise.
52049         * modules/sendto: Likewise.
52050         * modules/setsockopt: Likewise.
52051         * modules/shutdown: Likewise.
52052         * modules/socket: Use socket.c instead of winsock.c.
52053         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52054         * doc/posix-functions/accept.texi: Doc fix.
52055         * doc/posix-functions/bind.texi: Doc fix.
52056         * doc/posix-functions/close.texi: Doc fix.
52057         * doc/posix-functions/connect.texi: Doc fix.
52058         * doc/posix-functions/getpeername.texi: Doc fix.
52059         * doc/posix-functions/getsockname.texi: Doc fix.
52060         * doc/posix-functions/getsockopt.texi: Doc fix.
52061         * doc/posix-functions/ioctl.texi: Doc fix.
52062         * doc/posix-functions/listen.texi: Doc fix.
52063         * doc/posix-functions/recv.texi: Doc fix.
52064         * doc/posix-functions/recvfrom.texi: Doc fix.
52065         * doc/posix-functions/send.texi: Doc fix.
52066         * doc/posix-functions/sendto.texi: Doc fix.
52067         * doc/posix-functions/setsockopt.texi: Doc fix.
52068         * doc/posix-functions/shutdown.texi: Doc fix.
52069         * doc/posix-functions/socket.texi: Doc fix.
52070
52071 2008-10-20  Bruno Haible  <bruno@clisp.org>
52072
52073         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52074         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52075         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52076         as an alias for SIGABRT.
52077         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52078         (sigaction): Map it to SIGABRT.
52079         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52080
52081 2008-10-20  Bruno Haible  <bruno@clisp.org>
52082
52083         * lib/fts.c: Don't include lstat.h.
52084         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52085
52086         Move the lstat() declaration to <sys/stat.h>.
52087         * lib/lstat.h: Remove file.
52088         * lib/sys_stat.in.h: Add special invocation convention.
52089         (lstat): New declaration.
52090         * lib/lstat.c (orig_lstat): New function.
52091         (rpl_lstat): Use orig_lstat instead of lstat.
52092         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52093         AC_C_INLINE. Set REPLACE_LSTAT.
52094         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52095         and REPLACE_LSTAT.
52096         * modules/lstat (Files): Remove lib/lstat.h.
52097         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52098         (Include): Specify <sys/stat.h> instead of lstat.h.
52099         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52100         REPLACE_LSTAT.
52101         * NEWS: Mention the change.
52102
52103 2008-10-20  Bruno Haible  <bruno@clisp.org>
52104
52105         * modules/posix_spawn-tests: New file.
52106         * tests/test-posix_spawn3.c: New file.
52107
52108 2008-10-20  Bruno Haible  <bruno@clisp.org>
52109
52110         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52111         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52112         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52113         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52114         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52115
52116 2008-10-20  Bruno Haible  <bruno@clisp.org>
52117
52118         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52119         of posix_spawn on AIX 5.3.
52120
52121 2008-10-20  Bruno Haible  <bruno@clisp.org>
52122
52123         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52124
52125 2008-10-20  Bruno Haible  <bruno@clisp.org>
52126
52127         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52128         of AC_LANG_PROGRAM.
52129
52130 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52131
52132         * lib/netdb.in.h: Don't define GNU specific constants until they
52133         are supported or needed.  Reported by Bruno Haible
52134         <bruno@clisp.org>.
52135
52136 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52137
52138         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52139
52140 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52141
52142         * lib/getaddrinfo.h: Remove file.
52143         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52144         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52145         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52146         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52147         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52148         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52149         * tests/test-getaddrinfo.c: Likewise.
52150         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52151         * NEWS: Mention change.
52152
52153 2008-10-19  Bruno Haible  <bruno@clisp.org>
52154
52155         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52156
52157 2008-10-19  Bruno Haible  <bruno@clisp.org>
52158
52159         * lib/wait-process.c: Include simply <sys/wait.h>.
52160         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52161         WIFSTOPPED): Remove fallback definitions.
52162         * modules/wait-process (Depends-on): Add sys_wait.
52163
52164         New module 'sys_wait'.
52165         * modules/sys_wait: New file.
52166         * lib/sys_wait.in.h: New file, partially copied from
52167         lib/wait-process.c.
52168         * m4/sys_wait_h.m4: New file.
52169         * doc/posix-headers/sys_wait.texi: Mention the new module.
52170
52171 2008-10-19  Bruno Haible  <bruno@clisp.org>
52172
52173         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52174
52175 2008-10-19  Bruno Haible  <bruno@clisp.org>
52176
52177         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52178         * lib/wait-process.c (WAIT_T): Remove type.
52179         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52180         (wait_subprocess): Update.
52181
52182 2008-10-19  Bruno Haible  <bruno@clisp.org>
52183
52184         New module 'atoll'.
52185         * modules/atoll: New file.
52186         * lib/stdlib.in.h (atoll): New declaration.
52187         * lib/atoll.c: New file, from glibc with modifications.
52188         * m4/atoll.m4: New file.
52189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52190         HAVE_ATOLL.
52191         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52192         * doc/posix-functions/atoll.texi: Mention the new module.
52193
52194 2008-10-19  Bruno Haible  <bruno@clisp.org>
52195
52196         Add strtoull() declaration to <stdlib.h>.
52197         * lib/stdlib.in.h (strtoull): New declaration.
52198         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52199         Set HAVE_STRTOULL.
52200         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52201         HAVE_STRTOULL.
52202         * modules/strtoull (Depends-on): Add stdlib.
52203         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52204         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52205         HAVE_STRTOULL.
52206
52207 2008-10-19  Bruno Haible  <bruno@clisp.org>
52208
52209         Add strtoll() declaration to <stdlib.h>.
52210         * lib/stdlib.in.h (strtoll): New declaration.
52211         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52212         Set HAVE_STRTOLL.
52213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52214         HAVE_STRTOLL.
52215         * modules/strtoll (Depends-on): Add stdlib.
52216         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52217         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52218
52219 2008-10-19  Bruno Haible  <bruno@clisp.org>
52220
52221         * modules/bcopy (Depends-on): Add strings.
52222         (Include): Specify <strings.h>.
52223
52224 2008-10-19  Bruno Haible  <bruno@clisp.org>
52225
52226         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52227
52228 2008-10-19  Bruno Haible  <bruno@clisp.org>
52229
52230         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52231         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52232         mingw.
52233
52234 2008-10-19  Bruno Haible  <bruno@clisp.org>
52235
52236         * lib/atanl.c: Don't include isnanl.h.
52237         * lib/cosl.c: Likewise.
52238         * lib/ldexpl.c: Likewise.
52239         * lib/logl.c: Likewise.
52240         * lib/sinl.c: Likewise.
52241         * lib/sqrtl.c: Likewise.
52242         * lib/tanl.c: Likewise.
52243
52244         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52245         * lib/isnanf.h: Remove file.
52246         * lib/isnand.h: Remove file.
52247         * lib/isnanl.h: Remove file.
52248         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52249         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52250         macros.
52251         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52252         HAVE_ISNANF, don't define it as a C macro.
52253         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52254         HAVE_ISNAND, don't define it as a C macro.
52255         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52256         HAVE_ISNANL, don't define it as a C macro.
52257         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52258         HAVE_ISNAN[FDL].
52259         * modules/isnanf (Files): Remove lib/isnanf.h.
52260         (Depends-on): Add math.
52261         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52262         (Include): Specify <math.h> instead of isnanf.h.
52263         * modules/isnand (Files): Remove lib/isnand.h.
52264         (Depends-on): Add math.
52265         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52266         (Include): Specify <math.h> instead of isnand.h.
52267         * modules/isnanl (Files): Remove lib/isnanl.h.
52268         (Depends-on): Add math.
52269         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52270         (Include): Specify <math.h> instead of isnanl.h.
52271         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52272         HAVE_ISNAN[FDL].
52273         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52274         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52275         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52276         * NEWS: Mention the change.
52277
52278 2008-10-18  Bruno Haible  <bruno@clisp.org>
52279
52280         Add getusershell(), setusershell(), endusershell() declarations to
52281         <unistd.h>.
52282         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52283         declarations.
52284         * lib/getusershell.c: Include unistd.h.
52285         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52286         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52287         HAVE_GETUSERSHELL.
52288         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52289         and HAVE_GETUSERSHELL.
52290         * modules/getusershell (Depends-on): Add unistd, extensions.
52291         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52292         (Include): Specify <unistd.h>.
52293         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52294         HAVE_GETUSERSHELL.
52295
52296 2008-10-18  Bruno Haible  <bruno@clisp.org>
52297
52298         Add a getloadavg() declaration to <stdlib.h>.
52299         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52300         getloadavg declaration.
52301         (getloadavg): New declaration.
52302         * lib/getloadavg.c: Include <stdlib.h> first.
52303         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52304         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52305         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52307         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52308         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52309         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52310         (Include): Specify <stdlib.h>.
52311         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52312         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52313
52314 2008-10-18  Bruno Haible  <bruno@clisp.org>
52315
52316         * lib/dirchownmod.c: Don't include lchmod.h.
52317
52318         Move the lchmod() declaration to <sys/stat.h>.
52319         * lib/lchmod.h: Remove file.
52320         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52321         (lchmod): New declaration, moved here from lib/lchown.h.
52322         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52323         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52324         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52325         and HAVE_LCHMOD.
52326         * modules/lchmod (Files): Remove lib/lchmod.h.
52327         (Depends-on): Add sys_stat, extensions.
52328         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52329         (Include): Specify <sys/stat.h> instead of lchmod.h.
52330         * modules/sys_stat (Depends-on): Add link-warning.
52331         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52332         definition of GL_LINK_WARNING.
52333         * NEWS: Mention the change.
52334
52335 2008-10-18  Bruno Haible  <bruno@clisp.org>
52336
52337         * lib/fchdir.c: Don't include dirfd.h.
52338         * lib/fts.c: Likewise.
52339         * lib/getcwd.c: Likewise.
52340         * lib/glob.c: Likewise.
52341
52342         Move the dirfd() declaration to <dirent.h>.
52343         * lib/dirfd.h: Remove file.
52344         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52345         (dirfd): New declaration.
52346         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52347         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52348         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52349         HAVE_DECL_DIRFD.
52350         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52351         HAVE_DECL_DIRFD.
52352         * modules/dirfd (Files): Remove lib/dirfd.h.
52353         (Depends-on): Add dirent, extensions.
52354         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52355         (Include): Specify <dirent.h> instead of dirfd.h.
52356         * modules/dirent (Depends-on): Add link-warning.
52357         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52358         definition of GL_LINK_WARNING.
52359         * NEWS: Mention the change.
52360
52361 2008-10-18  Bruno Haible  <bruno@clisp.org>
52362
52363         Move the euidaccess() declaration to <unistd.h>.
52364         * lib/euidaccess.h: Remove file.
52365         * lib/unistd.in.h (euidaccess): New declaration.
52366         * lib/euidaccess.c: Don't include euidaccess.h.
52367         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52368         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52370         and HAVE_EUIDACCESS.
52371         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52372         (Depends-on): Add unistd.
52373         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52374         (Include): Specify <unistd.h> instead of euidaccess.h.
52375         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52376         HAVE_EUIDACCESS.
52377         * NEWS: Mention the change.
52378
52379 2008-10-18  Bruno Haible  <bruno@clisp.org>
52380
52381         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52382
52383         Move the getdomainname() declaration to <unistd.h>.
52384         * lib/getdomainname.h: Remove file.
52385         * lib/unistd.in.h (getdomainname): New declaration.
52386         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52387         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52388         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52389         HAVE_GETDOMAINNAME.
52390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52391         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52392         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52393         (Depends-on): Add unistd, extensions.
52394         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52395         (Includes): Specify <unistd.h> instead of getdomainname.h.
52396         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52397         HAVE_GETDOMAINNAME.
52398         * NEWS: Mention the change.
52399
52400 2008-10-18  Bruno Haible  <bruno@clisp.org>
52401
52402         * modules/dirent: New file.
52403         * m4/dirent_h.m4: New file.
52404         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52405         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52406         * modules/fchdir (Files): Remove lib/dirent.in.h.
52407         (Depends-on): Add dirent.
52408         (Makefile.am): Move rules to modules/dirent.
52409         * doc/posix-headers/dirent.texi: Mention the new module.
52410
52411 2008-10-18  Bruno Haible  <bruno@clisp.org>
52412
52413         Avoid -Wunused-parameter warnings in public gnulib header files.
52414         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52415         macro.
52416         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52417
52418 2008-10-18  Bruno Haible  <bruno@clisp.org>
52419
52420         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52421         * doc/glibc-functions/error.texi: Mention the module 'error'.
52422         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52423         * doc/glibc-functions/getdomainname.texi: Mention the module
52424         'getdomainname'.
52425         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52426         * doc/glibc-functions/getpagesize.texi: Mention the module
52427         'getpagesize'.
52428         * doc/glibc-functions/getusershell.texi: Mention the module
52429         'getusershell'.
52430         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52431         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52432         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52433         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52434         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52435         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52436         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52437         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52438         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52439         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52440         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52441         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52442         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52443         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52444
52445 2008-10-17  Bruno Haible  <bruno@clisp.org>
52446
52447         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52448         HP-UX and IRIX, use -0.0L.
52449         * tests/test-ceill.c (minus_zero): Likewise.
52450         * tests/test-floorl.c (minus_zero): Likewise.
52451         * tests/test-frexpl.c (minus_zero): Likewise.
52452         * tests/test-isnan.c (minus_zerol): Likewise.
52453         * tests/test-isnanl.h (minus_zero): Likewise.
52454         * tests/test-ldexpl.c (minus_zero): Likewise.
52455         * tests/test-roundl.c (minus_zero): Likewise.
52456         * tests/test-signbit.c (minus_zerol): Likewise.
52457         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52458         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52459         * tests/test-truncl.c (minus_zero): Likewise.
52460         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52461         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52462         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52463         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52464
52465 2008-10-17  Bruno Haible  <bruno@clisp.org>
52466
52467         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52468         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52469         that it gets activated only for gcc >= 3.0.
52470         * lib/dirent.in.h: Likewise.
52471         * lib/errno.in.h: Likewise.
52472         * lib/fcntl.in.h: Likewise.
52473         * lib/float.in.h: Likewise.
52474         * lib/iconv.in.h: Likewise.
52475         * lib/inttypes.in.h: Likewise.
52476         * lib/locale.in.h: Likewise.
52477         * lib/math.in.h: Likewise.
52478         * lib/netdb.in.h: Likewise.
52479         * lib/netinet_in.in.h: Likewise.
52480         * lib/search.in.h: Likewise.
52481         * lib/signal.in.h: Likewise.
52482         * lib/spawn.in.h: Likewise.
52483         * lib/stdarg.in.h: Likewise.
52484         * lib/stdint.in.h: Likewise.
52485         * lib/stdio.in.h: Likewise.
52486         * lib/stdlib.in.h: Likewise.
52487         * lib/string.in.h: Likewise.
52488         * lib/strings.in.h: Likewise.
52489         * lib/sys_file.in.h: Likewise.
52490         * lib/sys_ioctl.in.h: Likewise.
52491         * lib/sys_select.in.h: Likewise.
52492         * lib/sys_socket.in.h: Likewise.
52493         * lib/sys_stat.in.h: Likewise.
52494         * lib/sys_time.in.h: Likewise.
52495         * lib/sysexits.in.h: Likewise.
52496         * lib/time.in.h: Likewise.
52497         * lib/unistd.in.h: Likewise.
52498         * lib/wchar.in.h: Likewise.
52499         * lib/wctype.in.h: Likewise.
52500         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52501
52502 2008-10-17  Jim Meyering  <meyering@redhat.com>
52503
52504         ignore-value: don't depend on inline module
52505         * modules/ignore-value (Depends-on): Remove 'inline'.
52506         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52507         Suggestion from Bruno Haible.
52508
52509 2008-10-17  Bruno Haible  <bruno@clisp.org>
52510
52511         New implementation of condition variables for Win32.
52512         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52513         (gl_linked_waitqueue_t): New type.
52514         (gl_cond_t): Use it.
52515         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52516         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52517         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52518         (glthread_cond_init_func, glthread_cond_wait_func,
52519         glthread_cond_timedwait_func, glthread_cond_signal_func,
52520         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52521         Reimplemented on the basis of gl_linked_waitqueue_t.
52522         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52523         gl_waitqueue_t.
52524         (gl_rwlock_t): Update.
52525         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52526
52527 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52528
52529         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52530         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52531
52532 2008-10-17  Jim Meyering  <meyering@redhat.com>
52533
52534         ignore-value: new module
52535         * modules/ignore-value: New file.
52536         * lib/ignore-value.h: New file.
52537         * MODULES.html.sh (Compiler warning management): New section,
52538         just for this module.  More to come.
52539
52540 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52541
52542         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52543         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52544         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52545
52546 2008-10-16  Jim Meyering  <meyering@redhat.com>
52547
52548         openat-die.c: avoid 'no previous prototype' warning
52549         * lib/openat-die.c: Include "openat.h".
52550         Reported by Reuben Thomas <rrt@sc3d.org>.
52551
52552 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52553
52554         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52555         * lib/netdb.in.h: Fix typo.
52556         Reported by Bruno Haible  <bruno@clisp.org>
52557
52558         * lib/netdb.in.h: Include sys/socket.h for platforms without
52559         netdb.h, to get structures like hostent on MinGW.
52560         * modules/netdb (Depends-on): Add sys_socket.
52561
52562 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52563
52564         * modules/netdb, modules/netdb-tests: New file.
52565         * m4/netdb_h.m4: New file.
52566         * lib/netdb.in.h: Add, currently just an empty file pending
52567         definitions.
52568         * tests/test-netdb.c: New file.
52569         * doc/posix-headers/netdb.texi: Mention that we replace it if
52570         needed.
52571         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52572         netdb.
52573
52574 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52575
52576         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52577         with code.
52578
52579 2008-10-13  Bruno Haible  <bruno@clisp.org>
52580
52581         * lib/glthread/cond.c (glthread_cond_wait_func,
52582         glthread_cond_timedwait_func): Add a comment.
52583
52584 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52585
52586         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52587         * tests/test-select.c: Likewise,
52588
52589 2008-10-13  Bruno Haible  <bruno@clisp.org>
52590
52591         * lib/glthread/cond.c (glthread_cond_wait_func,
52592         glthread_cond_timedwait_func): Fix variable name.
52593         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52594
52595 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52596
52597         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52598         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52599         struct sockaddr.sa_len.
52600         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52601
52602 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52603
52604         * build-aux/pmccabe2html: Add css and css_url parameters.
52605
52606 2008-10-12  Bruno Haible  <bruno@clisp.org>
52607
52608         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52609         calling aclx_get.
52610         Reported by Rainer Tammer <tammer@tammer.net>.
52611
52612 2008-10-12  Bruno Haible  <bruno@clisp.org>
52613
52614         Use msvcrt aware primitives for creation/termination of Win32 threads.
52615         * lib/glthread/thread.c: Include <process.h>.
52616         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52617         (wrapper_func): Update signature.
52618         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52619
52620 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52621             Bruno Haible  <bruno@clisp.org>
52622
52623         Provide a Win32 implementation of the 'cond' module.
52624         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52625         * lib/glthread/cond.c (glthread_cond_init_func,
52626         glthread_cond_wait_func, glthread_cond_timedwait_func,
52627         glthread_cond_signal_func, glthread_cond_broadcast_func,
52628         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52629         * modules/cond (Dependencies): Add gettimeofday.
52630
52631 2008-10-11  Bruno Haible  <bruno@clisp.org>
52632
52633         Make sleep work on older versions of mingw.
52634         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52635         only whether it exists.
52636         * doc/posix-functions/sleep.texi: Mention the problem with older
52637         versions of mingw.
52638
52639 2008-10-11  Bruno Haible  <bruno@clisp.org>
52640
52641         New module 'shutdown'.
52642         * modules/shutdown: New file.
52643         * lib/sys_socket.in.h (shutdown): New declaration.
52644         * lib/winsock.c (shutdown): New function.
52645         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52646         GNULIB_SHUTDOWN.
52647         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52648         * doc/posix-functions/shutdown.texi: Document the new module.
52649
52650 2008-10-11  Jim Meyering  <meyering@redhat.com>
52651
52652         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52653
52654 2008-10-11  Bruno Haible  <bruno@clisp.org>
52655
52656         New module 'fclose'.
52657         * modules/fclose: New file.
52658         * lib/stdio.in.h (fclose): New declaration.
52659         * lib/fclose.c: New file.
52660         * m4/fclose.m4: New file.
52661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
52662         REPLACE_FCLOSE.
52663         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
52664         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
52665         REPLACE_FCLOSE.
52666         * modules/close (Depends-on): fclose.
52667         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
52668
52669 2008-10-11  Bruno Haible  <bruno@clisp.org>
52670
52671         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
52672         set errno and don't call _close.
52673
52674 2008-10-10  Bruno Haible  <bruno@clisp.org>
52675
52676         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
52677         ACL, not afterwards. Fixes test failure on Cygwin.
52678
52679 2008-10-09  Ben Pfaff  <blp@gnu.org>
52680
52681         * build-aux/announce-gen: Fix gnulib version related part of usage
52682         message.  Die with a useful error message if no tarballs are
52683         found.
52684
52685 2008-10-10  Jim Meyering  <meyering@redhat.com>
52686
52687         bootstrap: use git's --depth=N option only if it's supported
52688         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52689         recognize the --depth option.  Reported by Pádraig Brady.
52690
52691 2008-10-09  Bruno Haible  <bruno@clisp.org>
52692
52693         New module 'ioctl'.
52694         * modules/ioctl: New file.
52695         * lib/sys_socket.in.h (ioctl): Remove declaration.
52696         * lib/winsock.c: Include <sys/ioctl.h>.
52697         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52698         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52699         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52700         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52701         * doc/posix-functions/ioctl.texi: Mention the new module.
52702
52703 2008-10-09  Bruno Haible  <bruno@clisp.org>
52704
52705         New module 'sys_ioctl'.
52706         * lib/sys_ioctl.in.h: New file.
52707         * m4/sys_ioctl_h.m4: New file.
52708         * modules/sys_ioctl: New file.
52709         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52710
52711 2008-10-09  Bruno Haible  <bruno@clisp.org>
52712
52713         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52714         * lib/winsock.c: Include <stdarg.h>.
52715         (rpl_ioctl): Change to second argument 'int' and then varargs.
52716
52717 2008-10-09  Bruno Haible  <bruno@clisp.org>
52718
52719         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52720         when the sys_socket module is present and the system has <winsock2.h>.
52721
52722 2008-10-09  Bruno Haible  <bruno@clisp.org>
52723
52724         * doc/posix-functions/close.texi: Mention module 'close' instead of
52725         module 'sys_socket'.
52726
52727 2008-10-09  Bruno Haible  <bruno@clisp.org>
52728
52729         * doc/glibc-headers/sys_ioctl.texi: New file.
52730         * doc/gnulib.texi: Include it.
52731
52732 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52733             Bruno Haible  <bruno@clisp.org>
52734
52735         Combine the two replacements of 'close'.
52736         * lib/sys_socket.in.h (close): Define to a reminder to include
52737         <unistd.h>.
52738         (_gl_close_fd_maybe_socket): New declaration.
52739         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52740         * lib/winsock.c (close): Remove undefinition.
52741         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52742         needed for the gnulib module 'close'.
52743         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52744         define to an error symbol or to a warning, if suitable.
52745         * lib/close.c: Include <sys/socket.h>.
52746         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52747         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52748         UNISTD_H_HAVE_WINSOCK2_H.
52749         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52750         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52751         UNISTD_H_HAVE_WINSOCK2_H.
52752         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52753         (configure.ac): Set a module indicator.
52754         (Makefile.am): Substitute GNULIB_CLOSE.
52755         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52756         * modules/poll-tests (Depends-on): Add close.
52757         * modules/select-tests (Depends-on): Likewise.
52758
52759 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52760             Bruno Haible  <bruno@clisp.org>
52761
52762         New module 'close'.
52763         * modules/close: New file.
52764         * lib/unistd.in.h (close): Move declaration out of the
52765         FCHDIR_REPLACEMENT scope.
52766         (_gl_unregister_fd): New declaration.
52767         * lib/close.c: New file.
52768         * lib/fchdir.c (rpl_close): Remove function.
52769         * m4/close.m4: New file.
52770         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52771         close.
52772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52773         REPLACE_CLOSE.
52774         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52775         REPLACE_CLOSE.
52776         * modules/fchdir (Depends-on): Add close.
52777
52778 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52779             Bruno Haible  <bruno@clisp.org>
52780
52781         * lib/fcntl.in.h (open): Simplify conditionals.
52782         (_gl_register_fd): New declaration.
52783         * lib/fchdir.c (rpl_open): Remove function.
52784         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52785         also.
52786         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52787         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52788         open.
52789
52790 2008-10-09  Jim Meyering  <meyering@redhat.com>
52791
52792         GNUmakefile: use the more name-space-friendly "_version"
52793         * top/GNUmakefile (_dummy): Update.
52794         (_version): Rename from "version".
52795
52796 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52797             Bruno Haible  <bruno@clisp.org>
52798
52799         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52800         rpl_close.
52801         (_gl_register_fd): New function, extracted from rpl_open.
52802         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52803         (rpl_open, rpl_opendir): Use _gl_register_fd.
52804
52805 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52806
52807         Fix organization of 'open' replacement.
52808         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52809         (gl_FUNC_OPEN): Use it.
52810         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52811
52812 2008-10-08  Bruno Haible  <bruno@clisp.org>
52813
52814         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52815
52816 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52817
52818         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52819         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52820         listen).
52821
52822 2008-10-08  Eric Blake  <ebb9@byu.net>
52823
52824         GNUmakefile: add 'make version' target
52825         * top/GNUmakefile (_curr-ver): Split version update rules...
52826         (version): ...into a target.
52827
52828 2008-10-07  Bruno Haible  <bruno@clisp.org>
52829
52830         Use a more portable replacement expression for -0.0L.
52831         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52832         instead of -0.0L. Fix m4 quotation.
52833
52834         * tests/test-signbit.c: Include <float.h>.
52835         (minus_zero): New variable.
52836         (test_signbitl): Use minus_zero instead of -zero.
52837         * modules/signbit-tests (Depends-on): Add float.
52838
52839         * tests/test-ceill.c: Include <float.h>.
52840         (zero): Remove variable.
52841         (minus_zero): New variable.
52842         (main): Use minus_zero instead of -zero.
52843         * modules/ceill-tests (Depends-on): Add float.
52844
52845         * tests/test-floorl.c: Include <float.h>.
52846         (zero): Remove variable.
52847         (minus_zero): New variable.
52848         (main): Use minus_zero instead of -zero.
52849         * modules/floorl-tests (Depends-on): Add float.
52850
52851         * tests/test-roundl.c: Include <float.h>.
52852         (zero): Remove variable.
52853         (minus_zero): New variable.
52854         (main): Use minus_zero instead of -zero.
52855         * modules/roundl-tests (Depends-on): Add float.
52856
52857         * tests/test-truncl.c: Include <float.h>.
52858         (zero): Remove variable.
52859         (minus_zero): New variable.
52860         (main): Use minus_zero instead of -zero.
52861         * modules/truncl-tests (Depends-on): Add float.
52862
52863         * tests/test-frexpl.c (zero): Remove variable.
52864         (minus_zero): New variable.
52865         (main): Use minus_zero instead of -zero.
52866         * modules/frexpl-tests (Depends-on): Add float.
52867
52868         * tests/test-isnan.c (zerol): Remove variable.
52869         (minus_zerol): New variable.
52870         (test_long_double): Use minus_zerol instead of -zerol.
52871         * modules/isnan-tests (Depends-on): Add float.
52872
52873         * tests/test-isnanl.h (zero): Remove variable.
52874         (minus_zero): New variable.
52875         (main): Use minus_zero instead of -zero.
52876         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52877         * modules/isnanl-tests (Depends-on): Add float.
52878
52879         * tests/test-ldexpl.c (zero): Remove variable.
52880         (minus_zero): New variable.
52881         (main): Use minus_zero instead of -zero.
52882         * modules/ldexpl-tests (Depends-on): Add float.
52883
52884         * tests/test-snprintf-posix.h (zerol): Remove variable.
52885         (minus_zerol): New variable.
52886         (test_function): Use minus_zerol instead of -zerol.
52887         * modules/snprintf-posix-tests (Depends-on): Add float.
52888         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52889
52890         * tests/test-sprintf-posix.h (zerol): Remove variable.
52891         (minus_zerol): New variable.
52892         (test_function): Use minus_zerol instead of -zerol.
52893         * modules/sprintf-posix-tests (Depends-on): Add float.
52894         * modules/vsprintf-posix-tests (Depends-on): Add float.
52895
52896         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52897         (minus_zerol): New variable.
52898         (test_function): Use minus_zerol instead of -zerol.
52899         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52900
52901         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52902         (minus_zerol): New variable.
52903         (test_function): Use minus_zerol instead of -zerol.
52904         * modules/vasprintf-posix-tests (Depends-on): Add float.
52905
52906 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52907
52908         * MODULES.html.sh (Support for building documentation): Mention
52909         pmccabe2html.  Sort entries.
52910
52911         Add pmccabe2html module, from gnupdf.
52912         * build-aux/pmccabe.css: New file.
52913         * build-aux/pmccabe2html: New file.
52914         * m4/pmccabe2html.m4: New file.
52915         * modules/pmccabe2html: New file.
52916
52917 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52918
52919         flock: new module
52920         * MODULES.html.sh: Add to list of modules.
52921         * lib/flock.c: flock implementation for Windows and Unix systems
52922         which have fcntl.
52923         * doc/glibc-functions/flock.texi: Update documentation.
52924         * lib/sys_file.in.h: <sys/file.h> header file.
52925         * m4/flock.m4: M4 macros.
52926         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52927         * modules/flock: flock module.
52928         * modules/flock-tests: flock tests module.
52929         * modules/sys_file: sys/file.h module.
52930         * tests/test-flock.c: test suite for flock.
52931
52932 2008-10-06  Jim Meyering  <meyering@redhat.com>
52933
52934         bootstrap: check for LT_INIT more portably still ;-)
52935         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52936         Spotted by Bruno Haible.
52937
52938 2008-10-06  Eric Blake  <ebb9@byu.net>
52939
52940         test-signbit: avoid tripping Irix cc bug on -0.0L
52941         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52942         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52943         entire testsuite consistent and avoids an Irix 6.2 bug.
52944
52945 2008-10-05  Bruno Haible  <bruno@clisp.org>
52946             Jim Meyering  <jim@meyering.net>
52947
52948         Add an option for ignoring EPIPE during close_stdout.
52949         * lib/closeout.h: Include <stdbool.h>.
52950         (close_stdout_set_ignore_EPIPE): New declaration.
52951         * lib/closeout.c: Include <stdbool.h>.
52952         (ignore_EPIPE): New variable.
52953         (close_stdout_set_ignore_EPIPE): New function.
52954         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52955         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52956         failure.
52957         * modules/closeout (Depends-on): Add stdbool.
52958
52959 2008-10-05  Bruno Haible  <bruno@clisp.org>
52960
52961         * modules/accept: New file.
52962         * modules/bind: New file.
52963         * modules/connect: New file.
52964         * modules/getpeername: New file.
52965         * modules/getsockname: New file.
52966         * modules/getsockopt: New file.
52967         * modules/listen: New file.
52968         * modules/recv: New file.
52969         * modules/recvfrom: New file.
52970         * modules/send: New file.
52971         * modules/sendto: New file.
52972         * modules/setsockopt: New file.
52973         * modules/socket: New file.
52974         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52975         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52976         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52977         the particular module is requested. Add a link warning when the
52978         particular module is not requested.
52979         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52980         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52981         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52982         the particular module is requested.
52983         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52984         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52985         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52986         * modules/sys_socket (Depends-on): Add link-warning.
52987         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52988         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52989         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52990         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52991         GL_LINK_WARNING.
52992         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
52993         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
52994         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
52995         * doc/posix-functions/getpeername.texi: Mention the new module
52996         'getpeername'.
52997         * doc/posix-functions/getsockname.texi: Mention the new module
52998         'getsockname'.
52999         * doc/posix-functions/getsockopt.texi: Mention the new module
53000         'getsockopt'.
53001         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53002         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53003         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53004         * doc/posix-functions/send.texi: Mention the new module 'send'.
53005         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53006         * doc/posix-functions/setsockopt.texi: Mention the new module
53007         'setsockopt'.
53008         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53009         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53010         listen, connect, accept.
53011         * modules/select-tests (Depends-on): Likewise.
53012
53013 2008-10-05  Bruno Haible  <bruno@clisp.org>
53014
53015         * lib/winsock.c (strerror): Remove unused #undef.
53016         (rpl_close): Remove unused local variable.
53017
53018         * modules/sys_socket (Depends-on); Add errno.
53019
53020 2008-10-05  Bruno Haible  <bruno@clisp.org>
53021
53022         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53023         (select): Add a link warning when the 'select' module is not used.
53024         * modules/sys_select (Depends-on): Add link-warning.
53025         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53026         Suggested by Paolo Bonzini.
53027
53028 2008-10-05  Jim Meyering  <meyering@redhat.com>
53029
53030         bootstrap: check for LT_INIT more portably
53031         * build-aux/bootstrap: Avoid using grep -E, since it's not
53032         portable enough.  Suggestion from Bruno Haible.
53033
53034 2008-10-05  Bruno Haible  <bruno@clisp.org>
53035
53036         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53037         as being fixed by gnulib.
53038
53039 2008-10-05  Bruno Haible  <bruno@clisp.org>
53040
53041         * modules/select-tests: New file, mostly copied from
53042         modules/sys_select-tests.
53043         * tests/test-select.c: New file, mostly copied from
53044         tests/test-sys_select.c.
53045         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53046         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53047         (Makefile.am): Remove test_sys_select_LDADD.
53048
53049         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53050         to an undefined symbol, for an error message.
53051         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53052         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53053         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53054         winsock-select.c here.
53055         * modules/sys_select (Files): Remove lib/winsock-select.c.
53056         (Depends-on): Remove alloca.
53057         (Makefile.am): Substitute GNULIB_SELECT.
53058         * modules/select: New file.
53059         * doc/posix-functions/select.texi: Update.
53060
53061 2008-10-05  Bruno Haible  <bruno@clisp.org>
53062
53063         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53064         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53065         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53066         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53067         getdtablesize.
53068         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53069         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53070
53071 2008-10-05  Bruno Haible  <bruno@clisp.org>
53072
53073         * modules/getdtablesize-tests: New file.
53074         * tests/test-getdtablesize.c: New file.
53075
53076         New module 'getdtablesize'.
53077         * lib/unistd.in.h (getdtablesize): New declaration.
53078         * lib/getdtablesize.c: New file.
53079         * m4/getdtablesize.m4: New file.
53080         * modules/getdtablesize: New file.
53081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53082         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53083         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53084         HAVE_GETDTABLESIZE.
53085         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53086
53087 2008-10-05  Bruno Haible  <bruno@clisp.org>
53088
53089         * modules/sched (Makefile.am): Fix typo.
53090         Reported by Simon Josefsson.
53091
53092 2008-10-05  Jim Meyering  <meyering@redhat.com>
53093
53094         bootstrap: check for LT_INIT, too
53095         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53096         are deprecated.  Suggestion from Ralf Wildenhues.
53097
53098 2008-10-05  Bruno Haible  <bruno@clisp.org>
53099
53100         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53101         overriding them by ours.
53102         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53103
53104 2008-10-05  Jim Meyering  <meyering@redhat.com>
53105
53106         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53107         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53108         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53109
53110 2008-10-04  Bruno Haible  <bruno@clisp.org>
53111
53112         * modules/dup2 (License): Change to LGPLv2+.
53113         * modules/sleep (License): Likewise.
53114         * modules/perror (License): Likewise.
53115         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53116         Blake.
53117         * modules/signal (License): Likewise.
53118         * modules/sigprocmask (License): Likewise.
53119         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53120         Meyering.
53121
53122 2008-10-04  Bruno Haible  <bruno@clisp.org>
53123
53124         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53125         Reported by Rainer Tammer <tammer@tammer.net>.
53126
53127 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53128             Bruno Haible  <bruno@clisp.org>
53129
53130         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53131         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53132         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53133
53134 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53135
53136         filevercmp: new module
53137         * lib/filevercmp.h: New function filevercmp comparing version strings.
53138         * lib/filevercmp.c: Implementation of filevercmp function.
53139         * modules/filevercmp: Module metadata.
53140         * tests/test-filevercmp.c: Unit test for new module.
53141         * modules/filevercmp-tests: Unit test metadata.
53142         * MODULES.html.sh: Add filevercmp module.
53143
53144 2008-10-03  Bruno Haible  <bruno@clisp.org>
53145
53146         * lib/c-ctype.h: Add comment.
53147         Reported by Jim Meyering.
53148
53149 2008-10-02  Bruno Haible  <bruno@clisp.org>
53150
53151         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53152
53153 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53154
53155         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53156         name of bootstrap.conf accordingly.
53157
53158 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53159
53160         * build-aux/bootstrap: Install git-merge-changelog configuration
53161         items into .gitconfig if needed.
53162
53163 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53164
53165         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53166         git repository, and initialize/update it accordingly.
53167
53168 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53169
53170         * modules/fsync-tests: New file.
53171         * tests/test-fsync.c: New file.
53172
53173         New module 'fsync'.
53174         * lib/fsync.c: New file.
53175         * m4/fsync.m4: New file.
53176         * modules/fsync: New file.
53177         * lib/unistd.in.h (fsync): New declaration.
53178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53179         GNULIB_FSYNC and HAVE_FSYNC.
53180         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53181         * MODULES.html.sh (posix_functions): Add fsync.
53182         * doc/posix-functions/fsync.texi: Mention the new module.
53183
53184 2008-10-02  Jim Meyering  <meyering@redhat.com>
53185
53186         fts.c: sync with similar code from coreutils' remove.c
53187         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53188         Guard also with "#if defined __linux__", since for now at least,
53189         this code is Linux-kernel-specific.
53190
53191 2008-10-02  Jim Meyering  <meyering@redhat.com>
53192
53193         fts: bug fixes
53194         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53195         Include <sys/vfs.h>, not <sys/statfs.h>.
53196
53197         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53198         Include <sys/vfs.h>, not <sys/statfs.h>.
53199
53200 2008-10-01  Bruno Haible  <bruno@clisp.org>
53201
53202         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53203         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53204         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53205         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53206         * doc/posix-functions/posix_spawnp.texi: Likewise.
53207         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53208         whether posix_spawn actually works.
53209         * m4/pipe.m4 (gl_PIPE): Likewise.
53210         * modules/execute (Files): Add m4/posix_spawn.m4.
53211         * modules/pipe (Files): Add m4/posix_spawn.m4.
53212         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53213
53214 2008-10-01  Jim Meyering  <meyering@redhat.com>
53215
53216         remove trailing spaces
53217         * NEWS: Likewise.
53218         * lib/poll.c (poll): Likewise.
53219         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53220         * lib/winsock.c (rpl_close): Likewise.
53221         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53222         * modules/yield: Likewise.
53223         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53224         * tests/test-sys_select.c (connect_to_socket): Likewise.
53225
53226         fts.c: adjust a new interface to be more generally useful
53227         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53228         (fts_build): Adjust caller.
53229
53230 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53231
53232         * modules/cond-tests: New file.
53233         * tests/test-cond.c: New file.
53234
53235 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53236             Bruno Haible  <bruno@clisp.org>
53237
53238         * modules/cond (Dependencies): Add errno, time.
53239         * lib/glthread/cond.h: Include <time.h>.
53240         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53241         across platforms.
53242
53243 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53244             Bruno Haible  <bruno@clisp.org>
53245
53246         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53247
53248 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53249             Bruno Haible  <bruno@clisp.org>
53250
53251         * modules/tls-tests (Depends-on): Add thread, yield.
53252         (configure.ac): Remove all checks.
53253         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53254         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53255         gl_thread_self): Remove definitions. Include glthread/thread.h and
53256         glthread/yield.h instead.
53257         (test_tls): Pass an additional NULL argument to gl_thread_join.
53258
53259 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53260             Bruno Haible  <bruno@clisp.org>
53261
53262         * modules/lock-tests (Depends-on): Add thread, yield.
53263         (configure.ac): Remove all checks.
53264         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53265         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53266         gl_thread_self): Remove definitions. Include glthread/thread.h and
53267         glthread/yield.h instead.
53268         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53269         additional NULL argument to gl_thread_join.
53270
53271 2008-09-30  Bruno Haible  <bruno@clisp.org>
53272
53273         Fix the Win32 implementation of the 'thread' module.
53274         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53275         pointer type.
53276         (gl_thread_self): Invoke gl_thread_self_func.
53277         (gl_thread_self_func): New declaration.
53278         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53279         (do_init_self_key, init_self_key): New functions.
53280         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53281         Remove some fields.
53282         (running_threads, running_lock): Remove variables.
53283         (get_current_thread_handle): New function.
53284         (gl_thread_self_func, wrapper_func, glthread_create_func,
53285         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53286         simplified.
53287
53288 2008-09-30  Bruno Haible  <bruno@clisp.org>
53289
53290         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53291         files.
53292
53293 2008-09-30  Jim Meyering  <meyering@redhat.com>
53294
53295         fts.m4: correct the test for statfs.f_type
53296         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53297         when checking for statfs.f_type.
53298
53299 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53300
53301         tests: avoid some compiler warnings
53302         * tests/test-memchr.c (main): Pass NULL indirectly.
53303         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53304
53305 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53306
53307         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53308         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53309         exactly specified dayshifts.
53310         (dayshift): New rule.
53311         (rel): Add dayshift.
53312         (relative_time_table) [tomorrow, yesterday, today, now]:
53313         Use tDAY_SHIFT in place of tDAY_UNIT.
53314         * tests/test-getdate.c: Add tests for now-disallowed countable
53315         dayshifts, e.g., "4 yesterday ago".
53316
53317 2008-09-29  Bruno Haible  <bruno@clisp.org>
53318
53319         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53320         * tests/test-posix_spawn1.in.sh: Renamed from
53321         tests/test-posix_spawn.in.sh.
53322         * tests/test-posix_spawn2.c: New file.
53323         * tests/test-posix_spawn2.in.sh: New file.
53324         * modules/posix_spawnp-tests (Files): Update.
53325         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53326
53327 2008-09-29  Bruno Haible  <bruno@clisp.org>
53328
53329         Propagate effects of putenv/setenv/unsetenv to child processes.
53330         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53331         * lib/pipe.c (create_pipe): Likewise.
53332
53333 2008-09-29  Bruno Haible  <bruno@clisp.org>
53334
53335         Enable use of shell scripts as executables in mingw.
53336         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53337         run the program as a shell script.
53338         * lib/pipe.c (create_pipe): Likewise.
53339         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53340         resulting array.
53341
53342 2008-09-29  Eric Blake  <ebb9@byu.net>
53343
53344         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53345
53346 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53347
53348         * doc/posix-functions/accept.texi: Update mingw problems.
53349         * doc/posix-functions/bind.texi: Update mingw problems.
53350         * doc/posix-functions/close.texi: Update mingw problems.
53351         * doc/posix-functions/connect.texi: Update mingw problems.
53352         * doc/posix-functions/getpeername.texi: Update mingw problems.
53353         * doc/posix-functions/getsockname.texi: Update mingw problems.
53354         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53355         * doc/posix-functions/ioctl.texi: Update mingw problems.
53356         * doc/posix-functions/listen.texi: Update mingw problems.
53357         * doc/posix-functions/recv.texi: Update mingw problems.
53358         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53359         * doc/posix-functions/select.texi: Update mingw problems.
53360         * doc/posix-functions/send.texi: Update mingw problems.
53361         * doc/posix-functions/sendto.texi: Update mingw problems.
53362         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53363         * doc/posix-functions/socket.texi: Update mingw problems.
53364
53365 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53366             Bruno Haible  <bruno@clisp.org>
53367
53368         * lib/sys_select.in.h: Include sys/time.h.
53369         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53370         * modules/sys_select: Depend on sys_time.
53371         * tests/test-sys_select.c: Test that sys/select.h defines struct
53372         timeval fully.
53373
53374 2008-09-29  Bruno Haible  <bruno@clisp.org>
53375
53376         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53377         * lib/sys_select.in.h: Likewise.
53378
53379 2008-09-29  Bruno Haible  <bruno@clisp.org>
53380
53381         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53382
53383 2008-09-29  Bruno Haible  <bruno@clisp.org>
53384
53385         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53386         Set LIBSOCKET instead of augmenting LIBS.
53387         * modules/sockets (Link): New section.
53388         * modules/sockets-tests (test_sockets_LDADD): New variable.
53389         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53390         * modules/poll-tests (test_poll_LDADD): New variable.
53391         * NEWS: Document the change.
53392
53393 2008-09-29  Bruno Haible  <bruno@clisp.org>
53394
53395         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53396         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53397         ARPA_INET_H directly.
53398         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53399
53400 2008-09-28  Bruno Haible  <bruno@clisp.org>
53401
53402         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53403         from gl_HEADER_SYS_SOCKET.
53404         (gl_HEADER_SYS_SOCKET): Invoke it.
53405         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53406
53407 2008-09-28  Bruno Haible  <bruno@clisp.org>
53408
53409         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53410         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53411         Needed on OSF/1 4.0.
53412
53413 2008-09-28  Bruno Haible  <bruno@clisp.org>
53414
53415         Override open more carefully.
53416         * lib/open.c (orig_open): New function.
53417         (rpl_open): Use orig_open instead of open.
53418         * lib/fcntl.in.h: Add special invocation convention.
53419         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53420         (gl_FUNC_OPEN): Invoke it.
53421
53422         Override freopen more carefully.
53423         * lib/freopen.c (orig_freopen): New function.
53424         (rpl_freopen): Use orig_freopen instead of freopen.
53425         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53426         (gl_FUNC_FREOPEN): Invoke it.
53427
53428         Override fopen more carefully.
53429         * lib/fopen.c (orig_fopen): New function.
53430         (rpl_fopen): Use orig_fopen instead of fopen.
53431         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53432         (gl_FUNC_FOPEN): Invoke it.
53433         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53434
53435 2008-09-28  Bruno Haible  <bruno@clisp.org>
53436
53437         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53438         SIGPIPE.
53439
53440 2008-09-28  Bruno Haible  <bruno@clisp.org>
53441
53442         * tests/test-sigaction.c (handler, main): Disable the check whether
53443         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53444         glibc systems with LinuxThreads.
53445
53446 2008-09-28  Bruno Haible  <bruno@clisp.org>
53447
53448         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53449
53450         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53451         with AIX xlc.
53452         * lib/fcntl.in.h (open): Likewise.
53453         Reported by Rainer Tammer <tammer@tammer.net>.
53454
53455 2008-09-28  Bruno Haible  <bruno@clisp.org>
53456
53457         * modules/posix_spawnp-tests: New file.
53458         * tests/test-posix_spawn.c: New file.
53459         * tests/test-posix_spawn.in.sh: New file.
53460
53461         New module 'posix_spawnp'.
53462         * modules/posix_spawnp: New file.
53463         * lib/spawnp.c: New file, from GNU libc with modifications.
53464         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53465
53466         New module 'posix_spawn'.
53467         * modules/posix_spawn: New file.
53468         * lib/spawn.c: New file, from GNU libc with modifications.
53469         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53470
53471         New module 'posix_spawnattr_destroy'.
53472         * modules/posix_spawnattr_destroy: New file.
53473         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53474         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53475         module.
53476
53477         New module 'posix_spawnattr_setsigmask'.
53478         * modules/posix_spawnattr_setsigmask: New file.
53479         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53480         modifications.
53481         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53482         new module.
53483
53484         New module 'posix_spawnattr_getsigmask'.
53485         * modules/posix_spawnattr_getsigmask: New file.
53486         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53487         modifications.
53488         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53489         new module.
53490
53491         New module 'posix_spawnattr_setsigdefault'.
53492         * modules/posix_spawnattr_setsigdefault: New file.
53493         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53494         modifications.
53495         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53496         new module.
53497
53498         New module 'posix_spawnattr_getsigdefault'.
53499         * modules/posix_spawnattr_getsigdefault: New file.
53500         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53501         modifications.
53502         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53503         new module.
53504
53505         New module 'posix_spawnattr_setschedpolicy'.
53506         * modules/posix_spawnattr_setschedpolicy: New file.
53507         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53508         modifications.
53509         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53510         new module.
53511
53512         New module 'posix_spawnattr_getschedpolicy'.
53513         * modules/posix_spawnattr_getschedpolicy: New file.
53514         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53515         modifications.
53516         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53517         new module.
53518
53519         New module 'posix_spawnattr_setschedparam'.
53520         * modules/posix_spawnattr_setschedparam: New file.
53521         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53522         modifications.
53523         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53524         new module.
53525
53526         New module 'posix_spawnattr_getschedparam'.
53527         * modules/posix_spawnattr_getschedparam: New file.
53528         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53529         modifications.
53530         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53531         new module.
53532
53533         New module 'posix_spawnattr_setpgroup'.
53534         * modules/posix_spawnattr_setpgroup: New file.
53535         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53536         modifications.
53537         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53538         module.
53539
53540         New module 'posix_spawnattr_getpgroup'.
53541         * modules/posix_spawnattr_getpgroup: New file.
53542         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53543         modifications.
53544         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53545         module.
53546
53547         New module 'posix_spawnattr_setflags'.
53548         * modules/posix_spawnattr_setflags: New file.
53549         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53550         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53551         module.
53552
53553         New module 'posix_spawnattr_getflags'.
53554         * modules/posix_spawnattr_getflags: New file.
53555         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53556         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53557         module.
53558
53559         New module 'posix_spawnattr_init'.
53560         * modules/posix_spawnattr_init: New file.
53561         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53562         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53563         module.
53564
53565         New module 'posix_spawn_file_actions_destroy'.
53566         * modules/posix_spawn_file_actions_destroy: New file.
53567         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53568         modifications.
53569         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53570         the new module.
53571
53572         New module 'posix_spawn_file_actions_addopen'.
53573         * modules/posix_spawn_file_actions_addopen: New file.
53574         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53575         modifications.
53576         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53577         the new module.
53578
53579         New module 'posix_spawn_file_actions_adddup2'.
53580         * modules/posix_spawn_file_actions_adddup2: New file.
53581         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53582         modifications.
53583         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53584         the new module.
53585
53586         New module 'posix_spawn_file_actions_addclose'.
53587         * modules/posix_spawn_file_actions_addclose: New file.
53588         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53589         modifications.
53590         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53591         the new module.
53592
53593         New module 'posix_spawn_file_actions_init'.
53594         * modules/posix_spawn_file_actions_init: New file.
53595         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53596         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53597         new module.
53598
53599         New module 'posix_spawn-internal'.
53600         * modules/posix_spawn-internal: New file.
53601         * lib/spawn_int.h: New file, from GNU libc with modifications.
53602         * lib/spawni.c: New file, from GNU libc with modifications.
53603         * m4/posix_spawn.m4: New file.
53604
53605         New module 'spawn'.
53606         * modules/spawn: New file.
53607         * lib/spawn.in.h: New file, from GNU libc with modifications.
53608         * m4/spawn_h.m4: New file.
53609         * doc/posix-headers/spawn.texi: Mention the new module.
53610
53611 2008-09-28  Bruno Haible  <bruno@clisp.org>
53612
53613         * modules/sched-tests: New file.
53614         * tests/test-sched.c: New file.
53615
53616         New module 'sched'.
53617         * modules/sched: New file.
53618         * lib/sched.in.h: New file.
53619         * m4/sched_h.m4: New file.
53620         * doc/posix-headers/sched.texi: Mention the new module.
53621
53622 2008-09-27  Eric Blake  <ebb9@byu.net>
53623
53624         Fix previous patch, and tweak references to $0.
53625         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53626         (func_version, func_gnulib_dir): Don't call this program
53627         gnulib-tool.
53628         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53629         with using $0 in function.
53630         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53631         (func_fatal_error): Reuse the name the user invoked us with.
53632
53633 2008-09-27  Bruno Haible  <bruno@clisp.org>
53634
53635         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53636         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53637         (gl_ICONV_H): Not here.
53638         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53639         instead of assigning ICONV_H directly.
53640
53641         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53642         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53643         WCHAR_H directly.
53644
53645 2008-09-27  Bruno Haible  <bruno@clisp.org>
53646
53647         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53648         * modules/arpa_inet (Depends-on): Add link-warning.
53649         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53650         * modules/unistd (Makefile.am): Likewise.
53651
53652 2008-09-26  Bruno Haible  <bruno@clisp.org>
53653
53654         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53655         variables.
53656         (func_version): Essentially copied from gnulib-tool.
53657         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53658         func_readlink): Copied from gnulib-tool.
53659
53660 2008-09-26  Bruno Haible  <bruno@clisp.org>
53661
53662         * gnulib-tool (func_version): Change directory to $gnulib_dir before
53663         invoking git-version-gen.
53664
53665 2008-09-26  Bruno Haible  <bruno@clisp.org>
53666
53667         * posix-modules: Update to directory names changed on 2008-01-19.
53668         Remove commas in output before splitting into words. No more need to
53669         avoid 'ftruncate' since 2007-02-19.
53670
53671 2008-09-26  Bruno Haible  <bruno@clisp.org>
53672
53673         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
53674
53675 2008-09-26  Bruno Haible  <bruno@clisp.org>
53676
53677         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
53678         * modules/fwriteerror (Depends-on): Add errno.
53679
53680 2008-09-26  Bruno Haible  <bruno@clisp.org>
53681
53682         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
53683         * tests/test-vc-list-files-cvs.sh: Likewise.
53684
53685 2008-09-26  Bruno Haible  <bruno@clisp.org>
53686
53687         * doc/posix-headers/sys_resource.texi: Reorder items.
53688
53689 2008-09-26  Jim Meyering  <meyering@redhat.com>
53690
53691         fts: tweak inode comparison function
53692         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53693         inode numbers, as documented.
53694
53695         fts: sort dirent entries on inode number before traversing
53696         This avoids a quadratic, seek-related performance penalty when
53697         operating on a directory containing many entries (measurable at 10k;
53698         3.5 hours at 2 million entries with a cold cache) on certain types
53699         of file systems, including ext3 and ext4, but not tmpfs.
53700         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53701         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53702         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53703         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53704         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53705         (fts_build): Set the stat.st_ino member from D_INO.
53706         If it is likely to be useful, sort dirent entries on inode number.
53707
53708         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53709         and the struct statfs.f_type member.
53710         * modules/fts (Depends-on): Add d-ino.
53711
53712 2008-09-26  Bruno Haible  <bruno@clisp.org>
53713
53714         * modules/sigpipe-die (Depends-on): Add sigpipe.
53715
53716         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53717         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53718         and GNULIB_STDIO_H_SIGPIPE are set.
53719         * lib/stdio-write.c: New file.
53720         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53721         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53722         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53723         REPLACE_STDIO_WRITE_FUNCS.
53724         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53725         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53726         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53727         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53728         * modules/stdio (Files): Add lib/stdio-write.c.
53729         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53730         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53731         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53732         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53733         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53734         REPLACE_FPRINTF_POSIX.
53735         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53736         REPLACE_PRINTF_POSIX.
53737         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53738         REPLACE_VFPRINTF_POSIX.
53739         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53740         REPLACE_VPRINTF_POSIX.
53741         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53742         SIGPIPE issue.
53743         * doc/posix-functions/fputc.texi: Likewise.
53744         * doc/posix-functions/fputs.texi: Likewise.
53745         * doc/posix-functions/fwrite.texi: Likewise.
53746         * doc/posix-functions/printf.texi: Likewise.
53747         * doc/posix-functions/putc.texi: Likewise.
53748         * doc/posix-functions/putchar.texi: Likewise.
53749         * doc/posix-functions/puts.texi: Likewise.
53750         * doc/posix-functions/vfprintf.texi: Likewise.
53751         * doc/posix-functions/vprintf.texi: Likewise.
53752
53753         * modules/safe-write (Depends-on): Add write.
53754
53755         * modules/sigpipe-tests: New file.
53756         * tests/test-sigpipe.c: New file.
53757         * tests/test-sigpipe.sh: New file.
53758
53759         * modules/write: New file.
53760         * lib/unistd.in.h: Include <sys/types.h>.
53761         (write): New declaration.
53762         * lib/write.c: New file.
53763         * m4/write.m4: New file.
53764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53765         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53766         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53767         GNULIB_WRITE, REPLACE_WRITE.
53768         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53769         and the SIGPIPE issue.
53770
53771         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53772         (raise): New declaration.
53773         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53774         (ext_signal): New function.
53775         (rpl_raise): New function.
53776         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53777         GNULIB_SIGNAL_H_SIGPIPE.
53778         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53779         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53780
53781         * modules/sigpipe: New file.
53782         * m4/sigpipe.m4: New file.
53783
53784 2008-09-25  Derek Price  <derek@ximbiot.com>
53785             Bruno Haible  <bruno@clisp.org>
53786
53787         * gnulib-tool (func_import): Report all license incompatibilities, not
53788         just the first one.
53789
53790 2008-09-25  Bruno Haible  <bruno@clisp.org>
53791
53792         * gnulib-tool (func_import): When computing the edits, consider not
53793         only the Makefile.ams that exist but also those that will be generated.
53794
53795 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53796
53797         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53798         fixes gnulib-tool --test warning about duplicate dependency.
53799
53800 2008-09-25  Bruno Haible  <bruno@clisp.org>
53801
53802         * gnulib-tool: Don't ask the user to perform edits in the generated
53803         Makefile.ams.
53804         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53805         apply to the Makefile.am being generated.
53806         (func_emit_tests_Makefile_am): Execute edits that apply to the
53807         Makefile.am being generated.
53808         (func_import): Setup list of Makefile.am edits before emitting the
53809         Makefile.ams, not at the end.
53810         (func_create_testdir): Update.
53811         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53812
53813 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53814
53815         * gnulib-tool (func_import): Store the --tests-base option in the
53816         comment in gnulib-cache.m4.
53817
53818 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53819
53820         * NEWS: Document increased portability that sys_select now provides.
53821
53822         * lib/sys_select.in.h: Install select wrapper.
53823         * lib/sys_socket.in.h: Use more descriptive name when there is no
53824         select wrapper.
53825         * lib/winsock-select.c: New.
53826         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53827         Require gl_HEADER_SYS_SOCKET.
53828         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53829         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53830         * tests/test-sys_select.c: Add functional tests.
53831
53832 2008-09-24  Eric Blake  <ebb9@byu.net>
53833
53834         open, fopen: close fd leak in last patch
53835         * lib/open.c (rpl_open): Close fd before returning error.
53836         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53837         * doc/posix-functions/open.texi (open): Document that Irix also
53838         has the bug.
53839         * doc/posix-functions/fopen.texi (fopen): Likewise.
53840         Reported by Paolo Bonzini.
53841
53842 2008-09-24  Bruno Haible  <bruno@clisp.org>
53843
53844         Ensure that a filename ending in a slash cannot be used to access a
53845         non-directory.
53846         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53847         to check whether it's really a directory.
53848         * lib/fopen.c: Include fcntl.h, unistd.h.
53849         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53850         and fdopen().
53851         * modules/fopen (Depends-on): Add unistd.
53852         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53853         * tests/test-fopen.c (main): Likewise.
53854         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53855         * doc/posix-functions/fopen.texi: Likewise.
53856         Reported by Eric Blake.
53857
53858 2008-09-23  Eric Blake  <ebb9@byu.net>
53859
53860         c-stack: avoid compiler optimizations when provoking overflow
53861         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53862         recursion harder to optimize, to ensure a stack overflow occurs.
53863         * tests/test-c-stack.c (recurse): Likewise.
53864         Borrowed from libsigsegv.
53865
53866         c-stack: work around Irix sigaltstack bug
53867         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53868         whether sigaltstack uses wrong end of stack_t (copied in part from
53869         libsigsegv).
53870         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53871         Irix bug, without requiring an over-allocation.
53872         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53873         bug.
53874
53875         fopen: document mingw bug on directories
53876         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53877         not allowing a stream visiting a directory, even though reading
53878         from such a stream is not portable.
53879
53880 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53881
53882         * lib/poll.c: Rewrite.
53883         * modules/poll: Depend on alloca.
53884
53885 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53886
53887         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53888         instead define prototypes for a full set of wrappers.  Ensure
53889         that Cygwin does not use the compatibility code, which is only
53890         for MinGW.
53891         * lib/winsock.c: New.
53892         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53893         * modules/sys_socket: Add lib/winsock.c.
53894
53895         * modules/poll-tests: Add errno and perror.
53896         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53897
53898 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53899
53900         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53901
53902 2008-09-23  Bruno Haible  <bruno@clisp.org>
53903
53904         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53905         * doc/glibc-functions/*: Likewise.
53906
53907 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53908
53909         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53910         success.
53911
53912 2008-09-22  Eric Blake  <ebb9@byu.net>
53913             Bruno Haible  <bruno@clisp.org>
53914
53915         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53916         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53917         supply %A but mishandle pseudo-NaN.
53918         Reported by Simon Josefsson.
53919
53920 2008-09-21  Bruno Haible  <bruno@clisp.org>
53921
53922         * tests/test-lock.c (main): Tweak skip message.
53923         * tests/test-tls.c (main): Likewise.
53924
53925 2008-09-21  Bruno Haible  <bruno@clisp.org>
53926
53927         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53928         whether 'struct sigaction' has sa_sigaction here...
53929         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53930         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53931
53932 2008-09-21  Bruno Haible  <bruno@clisp.org>
53933
53934         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53935         section.
53936         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53937         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53938         the new section.
53939         (Support for obsolete systems lacking POSIX:2001): New section.
53940         (String handling <string.h>): Move strdup to the new section.
53941         Suggested by Simon Josefsson and Paolo Bonzini.
53942
53943 2008-09-21  Bruno Haible  <bruno@clisp.org>
53944
53945         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53946         exponents in %e and %g results on 'long double'. Needed for mingw's
53947         improved *printf functions.
53948         * tests/test-vasprintf-posix.c (test_function): Likewise.
53949         * tests/test-snprintf-posix.h (test_function): Likewise.
53950         * tests/test-sprintf-posix.h (test_function): Likewise.
53951         Reported by Eric Blake.
53952
53953 2008-09-21  Bruno Haible  <bruno@clisp.org>
53954
53955         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53956         * tests/test-sprintf-posix.h (test_function): Likewise.
53957
53958 2008-09-21  Bruno Haible  <bruno@clisp.org>
53959
53960         * modules/getpass (Depends-on): Add strdup-posix.
53961
53962         New module 'strdup-posix'.
53963         * modules/strdup-posix: New file.
53964         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53965         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53966         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53967         REPLACE_STRDUP.
53968         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53969         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53971         strdup-posix.
53972
53973         * modules/strdup (Depends-on): Remove malloc-posix.
53974
53975 2008-09-20  Bruno Haible  <bruno@clisp.org>
53976
53977         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53978         Wildenhues.
53979
53980 2008-09-20  Bruno Haible  <bruno@clisp.org>
53981
53982         Ensure that wint_t gets defined on IRIX 5.3.
53983         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53984         * lib/wctype.in.h (wint_t): Likewise.
53985         (__wctype_wint_t): Remove type.
53986         (isw*): Use wint_t instead of __wctype_wint_t.
53987         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53988         * modules/wchar (Files): Add m4/wint_t.m4.
53989         (Makefile.am): Substitute HAVE_WINT_T.
53990         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53991         * tests/test-wctype.c: Check that wint_t is defined.
53992         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
53993         * doc/posix-headers/wctype.texi: Likewise.
53994         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53995
53996 2008-09-18  Bruno Haible  <bruno@clisp.org>
53997
53998         * gnulib-tool (func_exit): Update comment.
53999
54000 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54001
54002         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54003         assumes strdup exists and does not depend on strdup to return
54004         ENOMEM on out of memory conditions.
54005
54006 2008-09-18  Bruno Haible  <bruno@clisp.org>
54007
54008         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54009         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54010         digits for the exponent.
54011
54012 2008-09-18  Jim Meyering  <meyering@redhat.com>
54013             Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/vasnprintf.c (decimal_point_char): Define also if
54016         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54017
54018 2008-09-16  Bruno Haible  <bruno@clisp.org>
54019         and Eric Blake  <ebb9@byu.net>
54020
54021         vasnprintf: support Irix 5.3
54022         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54023         that mishandle long double infinity.
54024         Reported by Tom G. Christensen.
54025
54026 2008-09-16  Bruno Haible  <bruno@clisp.org>
54027
54028         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54029         Solaris 9.
54030         * doc/glibc-functions/alphasort.texi: Likewise.
54031         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54032
54033 2008-09-16  Jim Meyering  <meyering@redhat.com>
54034
54035         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54036         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54037         a umask modification leak out of a subshell.  Otherwise, the
54038         opensolaris /bin/sh would be accepted and thus cause unwarranted
54039         failures in the coreutils test suite.
54040
54041 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54042
54043         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54044         to succeed.
54045
54046 2008-09-16  Jim Meyering  <meyering@redhat.com>
54047
54048         avoid spurious test failure when library is built without ACL support
54049         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54050         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54051         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54052         * tests/test-copy-acl.sh: Likewise.
54053
54054 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54055
54056         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54057         based on character occurrence counts.
54058
54059 2008-09-15  Eric Blake  <ebb9@byu.net>
54060
54061         tests: avoid some compiler warnings
54062         * tests/test-memchr.c (main): Pass NULL indirectly.
54063         * tests/test-closein.c (main): Avoid unused variable.
54064
54065 2008-09-15  Bruno Haible  <bruno@clisp.org>
54066
54067         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54068         are missing on OpenBSD 4.0 individually.
54069         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54070
54071 2008-09-15  Bruno Haible  <bruno@clisp.org>
54072
54073         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54074         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54075         * doc/posix-functions/perror.texi: Likewise.
54076         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54077         is missing.
54078         Reported by Eric Blake.
54079
54080         * lib/errno.in.h: Use replacement values >= 2000.
54081         Reported by Eric Blake.
54082
54083 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54084
54085         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54086         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54087         limit.
54088         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54089         compareseq was aborted.
54090
54091 2008-09-14  Bruno Haible  <bruno@clisp.org>
54092
54093         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54094         yvec_edit_count.
54095         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54096         (fstrcmp_bounded): Simplify result computation accordingly.
54097
54098 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54099
54100         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54101         (fstrcmp): Define in terms of fstrcmp_bounded.
54102         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54103         lower_bound argument.
54104         Return quickly if the result is certainly < lower_bound.
54105         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54106
54107 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54108
54109         * lib/diffseq.h (EARLY_ABORT): New macro.
54110         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54111         evaluates to true.
54112
54113 2008-09-14  Bruno Haible  <bruno@clisp.org>
54114
54115         * modules/perror-tests: New file.
54116         * tests/test-perror.sh: New file.
54117         * tests/test-perror.c: New file.
54118
54119         New module 'perror'.
54120         * lib/stdio.in.h (perror): New declaration.
54121         * lib/perror.c: New file.
54122         * m4/perror.m4: New file.
54123         * modules/perror: New file.
54124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54125         * doc/posix-functions/perror.texi: Mention the perror module.
54126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54127         REPLACE_PERROR.
54128         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54129         REPLACE_PERROR.
54130
54131 2008-09-14  Bruno Haible  <bruno@clisp.org>
54132
54133         * modules/stdio (Makefile.am): Reorder to match the order in
54134         lib/stdio.in.h.
54135         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54136
54137 2008-09-13  Bruno Haible  <bruno@clisp.org>
54138
54139         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54140
54141 2008-09-13  Bruno Haible  <bruno@clisp.org>
54142
54143         Extend strerror to cover the added errno values.
54144         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54145         (rpl_strerror): Provide error messages for the added errno values and
54146         for the WSA* values.
54147         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54148         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54149         strerror.
54150         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54151         * modules/strerror (Depends-on): Add errno.
54152         * doc/posix-functions/strerror.texi: Document the change.
54153         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54154         and EOVERFLOW.
54155
54156 2008-09-13  Bruno Haible  <bruno@clisp.org>
54157
54158         * modules/EOVERFLOW: Remove file.
54159         * m4/eoverflow.m4: Remove file.
54160         * modules/EOVERFLOW-tests: Remove file.
54161         * tests/test-EOVERFLOW.c: Remove file.
54162         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54163         * modules/ftell (Depends-on): Likewise.
54164         * modules/getdelim (Depends-on): Likewise.
54165         * modules/getugroups (Depends-on): Likewise.
54166         * modules/poll (Depends-on): Likewise.
54167         * modules/snprintf (Depends-on): Likewise.
54168         * modules/sprintf-posix (Depends-on): Likewise.
54169         * modules/vasnprintf (Depends-on): Likewise.
54170         * modules/vasprintf (Depends-on): Likewise.
54171         * modules/vfprintf-posix (Depends-on): Likewise.
54172         * modules/vsnprintf (Depends-on): Likewise.
54173         * modules/vsprintf-posix (Depends-on): Likewise.
54174         * modules/xvasprintf (Depends-on): Likewise.
54175         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54176         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54177         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54178         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54179         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54180         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54181         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54182         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54183         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54184         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54185         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54186         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54187         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54188         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54189         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54190         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54191         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54192         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54193         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54194         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54195         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54196         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54197         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54198         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54199         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54200         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54201         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54202         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54203         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54204         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54205         * MODULES.html.sh: Remove EOVERFLOW.
54206         * NEWS: Mention the change.
54207
54208 2008-09-13  Bruno Haible  <bruno@clisp.org>
54209
54210         * modules/errno-tests: New file.
54211         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54212
54213         * lib/errno.in.h: New file.
54214         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54215         * modules/errno: New file.
54216         * doc/posix-headers/errno.texi: Update documentation.
54217         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54218
54219 2008-09-13  Bruno Haible  <bruno@clisp.org>
54220
54221         * tests/test-poll.c: Use #if for native Windows, rather than testing
54222         __MSVCRT__.
54223
54224 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54225             Bruno Haible  <bruno@clisp.org>
54226
54227         * lib/glob.c: Don't include <pwd.h> on native Windows.
54228         (WINDOWS32): New macro.
54229         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54230
54231 2008-09-13  Bruno Haible  <bruno@clisp.org>
54232
54233         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54234         (ETIMEDOUT): Remove macro.
54235         (glthread_cond_timedwait_multithreaded): New declaration.
54236         (glthread_cond_timedwait): Use it.
54237         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54238         (glthread_cond_timedwait_multithreaded): New function.
54239
54240 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54241
54242         * modules/poll-tests: Do not check for io.h.
54243         * tests/test-poll.c: Check for __MSVCRT__ instead.
54244
54245 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54246
54247         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54248         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54249         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54250
54251 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54252
54253         * modules/poll-tests: New.
54254         * tests/test-poll.c: New.
54255
54256 2008-09-12  Eric Blake  <ebb9@byu.net>
54257
54258         frexp: test for NetBSD failure on -0.0
54259         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54260         not all, bugs from NetBSD 3.0 have been fixed.
54261         * doc/posix-functions/frexp.texi (frexp): Document bug.
54262         Reported by Thomas Klausner.
54263
54264         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54265         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54266         literal -0.0.
54267         Reported by Jonathan C. Patschke <jp@centtech.com>.
54268
54269 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54270
54271         * lib/glthread/cond.h: Use dummy implementation also if
54272         USE_WIN32_THREADS.
54273
54274 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54275
54276         * modules/fnmatch-posix (License): Change to LGPLv2+.
54277         * modules/fnmatch-gnu (License): Likewise.
54278
54279 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54280
54281         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54282
54283 2008-09-11  Jim Meyering  <meyering@redhat.com>
54284
54285         * users.txt: Add gtk-vnc.
54286
54287 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54288
54289         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54290         rotate amounts.
54291
54292         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54293         required for 16-bit and 8-bit rotates.
54294         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54295         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54296         UINT8_MAX instead of hard-coded constants.
54297         Suggested by Paul Eggert.
54298
54299 2008-09-07  Bruno Haible  <bruno@clisp.org>
54300
54301         * tests/test-striconveh.c (main): Check behaviour when converting from
54302         UTF-7.
54303
54304         Make striconveh work better with stateful encodings.
54305         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54306         that iconv does not increment the inptr when returning -1/EINVAL.
54307
54308 2008-09-07  Bruno Haible  <bruno@clisp.org>
54309
54310         * build-aux/config.rpath: Update according to libtool-2.2.6.
54311         * build-aux/config.libpath: Likewise.
54312
54313 2008-09-06  Bruno Haible  <bruno@clisp.org>
54314
54315         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54316         * lib/freadptr.c (freadptr): Likewise.
54317         * lib/freadseek.c (freadptrinc): Likewise.
54318         Reported by Simon Josefsson.
54319
54320 2008-09-06  Bruno Haible  <bruno@clisp.org>
54321
54322         * modules/freadptr (License): Change to LGPLv2+.
54323         * modules/freadseek (License): Likewise.
54324         Suggested by Eric Blake.
54325
54326         * modules/memchr2 (License): Change to LGPLv2+.
54327         Approved by Eric Blake.
54328
54329 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54330             Bruno Haible  <bruno@clisp.org>
54331
54332         Make gnulib-tool work with native 'sed' on AIX.
54333         * gnulib-tool (sed_noop): New variable.
54334         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54335         func_add_or_update, func_create_testdir): Use it to initialize sed
54336         script variables.
54337         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54338
54339 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54340             Bruno Haible  <bruno@clisp.org>
54341
54342         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54343         also works after #include directives.
54344
54345 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54346
54347         getdate.y: reject an out-of-range timezone value
54348         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54349         the range [-24...+24].  When specified with only one or two digits,
54350         * tests/test-getdate.c: Tests for the fix.
54351         * doc/getdate.texi: Document this change.
54352
54353 2008-09-03  Bruno Haible  <bruno@clisp.org>
54354
54355         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54356
54357 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54358
54359         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54360         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54361         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54362         Blake <ebb9@byu.net>.
54363
54364         * tests/test-bitrotate.c: Add more test vectors.
54365
54366 2008-09-02  Eric Blake  <ebb9@byu.net>
54367
54368         vasnprintf-posix: handle large precision via %.*d
54369         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54370         when handling it ourselves.
54371         * tests/test-vasnprintf-posix.c (test_function): Add test.
54372         * tests/test-snprintf-posix.h (test_function): Likewise.
54373         * tests/test-sprintf-posix.h (test_function): Likewise.
54374         * tests/test-vasprintf-posix.c (test_function): Likewise.
54375         Reported by Alain Guibert.
54376
54377 2008-09-01  Eric Blake  <ebb9@byu.net>
54378
54379         c-stack: make configure-time check more robust
54380         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54381         successful sigaction call.
54382         Reported by Tom G. Christensen.
54383
54384 2008-09-01  Bruno Haible  <bruno@clisp.org>
54385
54386         New module 'findprog-lgpl'.
54387         * modules/findprog-lgpl: New file.
54388         * lib/findprog-lgpl.c: New file.
54389         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54390         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54391         to decide whether to use strdup or xstrdup, concatenated_filename or
54392         xconcatenated_filename.
54393
54394 2008-09-01  Bruno Haible  <bruno@clisp.org>
54395
54396         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54397         'xconcat-filename' (GPL).
54398         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54399         (License): Change to LGPLv2+.
54400         * modules/xconcat-filename: New file.
54401         * lib/concat-filename.h (concatenated_filename): Change specification.
54402         (xconcatenated_filename): New declaration.
54403         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54404         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54405         memory situations.
54406         * lib/xconcat-filename.c: New file.
54407         * NEWS: Mention the change.
54408         * lib/findprog.c: Include concat-filename.h, not filename.h.
54409         (find_in_path): Use xconcatenated_filename instead of
54410         concatenated_filename.
54411         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54412         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54413         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54414         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54415         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54416         instead of concatenated_filename.
54417         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54418         (execute_java_class): Use xconcatenated_filename instead of
54419         concatenated_filename.
54420         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54421         * modules/javacomp (Depends-on): Likewise.
54422         * modules/javaexec (Depends-on): Likewise.
54423
54424 2008-09-01  Bruno Haible  <bruno@clisp.org>
54425
54426         Split module 'filename' into 'filename' and 'concat-filename'.
54427         * modules/filename: Keep only lib/filename.h.
54428         (License): Change to LGPLv2+.
54429         * modules/concat-filename: New file, extracted from modules/filename.
54430         * lib/filename.h (concatenated_filename): Remove declaration.
54431         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54432         * lib/concat-filename.c: Include concat-filename.h.
54433         * NEWS: Mention the change.
54434
54435 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54436
54437         * lib/bitrotate.h (rotl8, rotr8): Add.
54438
54439         * modules/bitrotate (configure.ac): Need
54440         AC_REQUIRE([AC_C_INLINE]).
54441         (Description): Mention stdint.h.  Reported by Bruno Haible
54442         <bruno@clisp.org>.
54443
54444         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54445         Paolo Bonzini <bonzini@gnu.org>.
54446
54447 2008-08-31  Bruno Haible  <bruno@clisp.org>
54448
54449         Assume Solaris specific bi-arch conventions on Solaris systems.
54450         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54451         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54452         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54453         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54454         like acl_libdirstem.
54455         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54456         acl_libdirstem.
54457         * NEWS: Mention the change.
54458         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54459
54460 2008-08-31  Jim Meyering  <meyering@redhat.com>
54461
54462         * lib/strftime.h: Add comments describing the two added arguments.
54463
54464         remove duplicate #include directives
54465         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54466         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54467
54468 2008-08-31  Bruno Haible  <bruno@clisp.org>
54469
54470         New module 'sigpipe-die'.
54471         * modules/sigpipe-die: New file.
54472         * lib/sigpipe-die.h: New file.
54473         * lib/sigpipe-die.c: New file.
54474         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54475
54476 2008-08-31  Bruno Haible  <bruno@clisp.org>
54477
54478         Don't override previously installed signal handlers.
54479         * lib/fatal-signal.c (saved_sigactions): New variable.
54480         (uninstall_handlers): Reset the signal to the saved handler, not
54481         to SIG_DFL (except when ignored).
54482         (install_handlers): Save the previous handlers.
54483
54484 2008-08-30  Bruno Haible  <bruno@clisp.org>
54485
54486         * gnulib-tool (func_reset_sigpipe): New function.
54487         (func_get_automake_snippet, func_modules_transitive_closure,
54488         func_import): Invoke it before a join command that reads from stdin,
54489         to avoid "echo: write error: Broken pipe" error messages on stderr.
54490         Reported by Sam Steingold <sds@gnu.org>.
54491
54492 2008-08-30  Bruno Haible  <bruno@clisp.org>
54493
54494         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54495         Code copied from m4/open.m4.
54496         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54497         access and the filename ends in a slash. Code copied from lib/open.c.
54498         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54499         * tests/test-fopen.c (main): Check against bug with trailing slash.
54500
54501 2008-08-29  Bruno Haible  <bruno@clisp.org>
54502
54503         Avoid some "gcc -pedantic" warnings.
54504         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54505         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54506         * lib/dirent.in.h: Likewise.
54507         * lib/fcntl.in.h: Likewise.
54508         * lib/float.in.h: Likewise.
54509         * lib/iconv.in.h: Likewise.
54510         * lib/inttypes.in.h: Likewise.
54511         * lib/locale.in.h: Likewise.
54512         * lib/math.in.h: Likewise.
54513         * lib/netinet_in.in.h: Likewise.
54514         * lib/search.in.h: Likewise.
54515         * lib/signal.in.h: Likewise.
54516         * lib/stdarg.in.h: Likewise.
54517         * lib/stdint.in.h: Likewise.
54518         * lib/stdio.in.h: Likewise.
54519         * lib/stdlib.in.h: Likewise.
54520         * lib/string.in.h: Likewise.
54521         * lib/strings.in.h: Likewise.
54522         * lib/sys_select.in.h: Likewise.
54523         * lib/sys_socket.in.h: Likewise.
54524         * lib/sys_stat.in.h: Likewise.
54525         * lib/sys_time.in.h: Likewise.
54526         * lib/sysexits.in.h: Likewise.
54527         * lib/time.in.h: Likewise.
54528         * lib/unistd.in.h: Likewise.
54529         * lib/wchar.in.h: Likewise.
54530         * lib/wctype.in.h: Likewise.
54531         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54532         * modules/fchdir (Makefile.am): Likewise.
54533         * modules/fcntl (Makefile.am): Likewise.
54534         * modules/float (Makefile.am): Likewise.
54535         * modules/iconv_open (Makefile.am): Likewise.
54536         * modules/inttypes (Makefile.am): Likewise.
54537         * modules/locale (Makefile.am): Likewise.
54538         * modules/math (Makefile.am): Likewise.
54539         * modules/netinet_in (Makefile.am): Likewise.
54540         * modules/search (Makefile.am): Likewise.
54541         * modules/signal (Makefile.am): Likewise.
54542         * modules/stdarg (Makefile.am): Likewise.
54543         * modules/stdint (Makefile.am): Likewise.
54544         * modules/stdio (Makefile.am): Likewise.
54545         * modules/stdlib (Makefile.am): Likewise.
54546         * modules/string (Makefile.am): Likewise.
54547         * modules/strings (Makefile.am): Likewise.
54548         * modules/sys_select (Makefile.am): Likewise.
54549         * modules/sys_socket (Makefile.am): Likewise.
54550         * modules/sys_stat (Makefile.am): Likewise.
54551         * modules/sys_time (Makefile.am): Likewise.
54552         * modules/sysexits (Makefile.am): Likewise.
54553         * modules/time (Makefile.am): Likewise.
54554         * modules/unistd (Makefile.am): Likewise.
54555         * modules/wchar (Makefile.am): Likewise.
54556         * modules/wctype (Makefile.am): Likewise.
54557         Reported by Reuben Thomas <rrt@sc3d.org>.
54558
54559 2008-08-29  Bruno Haible  <bruno@clisp.org>
54560
54561         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54562         any more.
54563
54564 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54565
54566         * MODULES.html.sh (Misc): Add bitrotate.
54567
54568         * modules/bitrotate: New file.
54569
54570         * lib/bitrotate.h: New file.
54571
54572         * modules/bitrotate-tests: New file.
54573
54574         * tests/test-bitrotate.c: New file.
54575
54576         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54577         on the bitrotate module.
54578
54579         * lib/arctwo.c: Use new bitrotate module.
54580
54581 2008-08-29  Jim Meyering  <meyering@redhat.com>
54582
54583         bootstrap: merge changes from coreutils
54584         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54585         of copied files.  Remove a kludge, now that this is fixed.
54586         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54587         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54588         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54589
54590 2008-08-29  Bruno Haible  <bruno@clisp.org>
54591
54592         * MODULES.html.sh: Remove --cvs-urls option.
54593
54594 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54595
54596         maint.mk: adjust to file name change
54597         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54598
54599 2008-08-28  Jim Meyering  <meyering@redhat.com>
54600
54601         * modules/getndelim2 (License): Relicense to LGPLv2+.
54602         Approved by Richard Stallman for the version of 1995, and by
54603         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54604
54605 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54606
54607         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54608         dummy if one is not available.  Do not touch them if
54609         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54610         (getc_maybe_unlocked): New.
54611         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54612
54613 2008-08-26  Eric Blake  <ebb9@byu.net>
54614
54615         doc/INSTALL: resync from autoconf
54616         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54617         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54618         moving...
54619         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54620         * INSTALL: Regenerate.
54621         * INSTALL.ISO: New file.
54622         * INSTALL.UTF-8: Likewise.
54623
54624 2008-08-26  Jim Meyering  <meyering@redhat.com>
54625
54626         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54627         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54628         these definitions conditional, so that they may be overridden, too.
54629
54630 2008-08-26  Bruno Haible  <bruno@clisp.org>
54631
54632         Generate INSTALL file variants with prettier quotes.
54633         * doc/Makefile (INSTALL_PRELUDE): New macro.
54634         (INSTALL): Use it.
54635         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54636
54637 2008-08-26  Bruno Haible  <bruno@clisp.org>
54638
54639         Run makeinfo in an English locale.
54640         * doc/Makefile (MAKEINFO): New variable.
54641
54642 2008-08-26  Bruno Haible  <bruno@clisp.org>
54643
54644         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54645         Suggested by Eric Blake.
54646
54647 2008-08-25  Bruno Haible  <bruno@clisp.org>
54648
54649         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54650
54651 2008-08-25  Eric Blake  <ebb9@byu.net>
54652
54653         c-stack: test that stack overflow can be caught
54654         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54655         that platform allows handling stack overflow; at least OS/2 EMX
54656         has sigaltstack, but crashes before transferring control to
54657         handler on stack overflow.
54658         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54659         check for HAVE_STACK_OVERFLOW_HANDLING.
54660         Reported by Elbert Pol.
54661
54662 2008-08-25  Bruno Haible  <bruno@clisp.org>
54663
54664         * doc/posix-functions/strftime.texi: Fix description of strftime
54665         module.
54666
54667 2008-08-24  Bruno Haible  <bruno@clisp.org>
54668
54669         * tests/uniwidth/test-uc_width2.c: New file.
54670         * tests/uniwidth/test-uc_width2.sh: New file.
54671         * modules/uniwidth/width-tests (Files): Add the new files.
54672         (TESTS): Add uniwidth/test-uc_width2.sh.
54673         (TESTS_ENVIRONMENT): New variable.
54674         (check_PROGRAMS): Add test-uc_width2.
54675         (test_uc_width2_SOURCES): New variable.
54676
54677         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
54678         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
54679         not 0x00AB.
54680         Reported by Alexander V. Lukyanov <lav@netis.ru>.
54681
54682 2008-08-22  Eric Blake  <ebb9@byu.net>
54683
54684         test-lock, test-tls: mention why a test is skipped
54685         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54686         skipped.
54687         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54688
54689         count-one-bits: relax license
54690         * modules/count-one-bits (License): Relicense to LGPLv2+.
54691         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54692
54693 2008-08-22  Andreas Schwab  <schwab@suse.de>
54694
54695         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54696         Remove spurious space in assignment.
54697
54698 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54699
54700         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54701         Paul Eggert <eggert@CS.UCLA.EDU>.
54702
54703 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54704
54705         * modules/gettext: Add m4/threadlib.m4.
54706
54707 2008-08-19  Eric Blake  <ebb9@byu.net>
54708
54709         test-c-stack: fix compilation failure on FreeBSD 5.0
54710         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54711         headers before <sys/resource.h>.
54712         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54713         the bug.
54714         Reported by Nelson H. F. Beebe.
54715
54716         strverscmp: migrate from "strverscmp.h" to <string.h>
54717         * modules/string (Makefile.am): Add new hooks.
54718         * modules/strverscmp (Files): Remove strverscmp.h.
54719         (Depends-on): Add string.
54720         (configure.ac): Add indicator.
54721         (Include): Mention new header.
54722         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54723         defaults.
54724         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54725         results.
54726         * lib/strverscmp.h: Delete.
54727         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54728         * tests/test-strverscmp.c (includes): Adjust client.
54729         * lib/check-version.c (includes): Likewise.
54730         * NEWS: Document the change.
54731
54732         strverscmp: add unit test
54733         * modules/strverscmp-tests: New file.
54734         * tests/test-strverscmp.c: Likewise.
54735
54736 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54737
54738         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54739         regarding Windows crypto stuff, from Mono.
54740
54741 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54742
54743         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54744         if present, for intel RND.  Return error on failures.
54745
54746 2008-08-18  Ben Pfaff  <blp@gnu.org>
54747
54748         gitlog-to-changelog: give better diagnostic for failed pipe-open
54749         * build-aux/gitlog-to-changelog: Improve error message: suggest
54750         that the version of Git may be too old.
54751
54752 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54753
54754         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54755         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54756
54757 2008-08-18  Bruno Haible  <bruno@clisp.org>
54758
54759         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54760         pthread_in_use().
54761
54762 2008-08-18  Bruno Haible  <bruno@clisp.org>
54763
54764         * lib/glthread/threadlib.c: Include <pthread.h>.
54765
54766 2008-08-18  Bruno Haible  <bruno@clisp.org>
54767
54768         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54769         glthread_recursive_lock_* macros.
54770         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54771         Fix syntax error.
54772
54773 2008-08-18  Bruno Haible  <bruno@clisp.org>
54774
54775         * lib/glthread/thread.c: Avoid forcing a context switch right after
54776         thread creation.
54777
54778 2008-08-17  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54781         * lib/glthread/thread.h: Provide Win32 specific implementation.
54782         * modules/thread (Files): Add lib/glthread/thread.c.
54783         (Depends-on): Add lock.
54784         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54785
54786 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54787
54788         New module 'yield'.
54789         * modules/yield: New file.
54790         * lib/glthread/yield.h: New file.
54791         * m4/yield.m4: New file.
54792         * MODULES.html.sh (Multithreading): Add yield.
54793
54794 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54795
54796         New module 'thread'.
54797         * modules/thread: New file.
54798         * lib/glthread/thread.h: New file.
54799         * m4/thread.m4: New file.
54800         * MODULES.html.sh (Multithreading): Add thread.
54801
54802 2008-08-17  Bruno Haible  <bruno@clisp.org>
54803
54804         * lib/glthread/lock.h: Include <stdlib.h> always.
54805         * lib/glthread/tls.h: Likewise.
54806         * lib/glthread/cond.h: Likewise.
54807
54808 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54809
54810         New module 'cond'.
54811         * modules/cond: New file.
54812         * lib/glthread/cond.h: New file.
54813         * lib/glthread/cond.c: New file.
54814         * m4/cond.m4: New file.
54815         * MODULES.html.sh (Multithreading): Add cond.
54816
54817 2008-08-16  Eric Blake  <ebb9@byu.net>
54818
54819         c-stack: fix regression on Irix 5.3 from 2008-06-21
54820         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54821         sa_sigaction...
54822         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54823         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54824         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54825         * modules/signal (Makefile.am): Use the value.
54826         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54827         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54828         * doc/posix-headers/signal.texi (signal.h): Document this
54829         portability issue.
54830         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54831         Reported by Tom G. Christensen.
54832
54833 2008-08-17  Bruno Haible  <bruno@clisp.org>
54834
54835         New module 'threadlib'.
54836         * modules/threadlib: New file.
54837         * lib/glthread/threadlib.c: New file, extracted from
54838         lib/glthread/lock.c.
54839         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54840         functions.
54841         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54842         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54843         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54844         macros.
54845         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54846         (gl_DISABLE_THREADS): Remove macro.
54847         * modules/lock (Files): Remove build-aux/config.rpath.
54848         (Depends-on): Remove havelib. Add threadlib.
54849         (configure.ac-early): Remove section.
54850         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54851         * modules/tls (Depends-on): Remove lock. Add threadlib.
54852         (Link): New section, copied from threadlib.
54853         * MODULES.html.sh (Multithreading): Add threadlib.
54854
54855 2008-08-14  Bruno Haible  <bruno@clisp.org>
54856
54857         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54858         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54859         glthread_rwlock_unlock, glthread_rwlock_destroy,
54860         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54861         glthread_recursive_lock_destroy): Define as macros always.
54862         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54863         glthread_lock_lock.
54864         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54865         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54866         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54867         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54868         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54869         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54870         (glthread_recursive_lock_lock_func): Renamed from
54871         glthread_recursive_lock_lock.
54872         (glthread_recursive_lock_unlock_func): Renamed from
54873         glthread_recursive_lock_unlock.
54874         (glthread_recursive_lock_destroy_func): Renamed from
54875         glthread_recursive_lock_destroy.
54876
54877 2008-08-14  Bruno Haible  <bruno@clisp.org>
54878
54879         * lib/glthread/lock.h: Renamed from lib/lock.h.
54880         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54881         * lib/glthread/tls.h: Renamed from lib/tls.h.
54882         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54883         * lib/fstrcmp.c: Update includes.
54884         * lib/strsignal.c: Update includes.
54885         * modules/lock (Files, Makefile.am): Update.
54886         (Include): Change to "glthread/lock.h".
54887         * modules/tls (Files, Makefile.am): Update.
54888         (Include): Change to "glthread/tls.h".
54889         * tests/test-lock.c: Update includes.
54890         * tests/test-tls.c: Update includes.
54891         * NEWS: Mention the renamed header files.
54892
54893 2008-08-11  Jim Meyering  <meyering@redhat.com>
54894
54895         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54896
54897 2008-08-11  Eric Blake  <ebb9@byu.net>
54898
54899         test-c-stack: avoid C99-ism
54900         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54901         before statement.
54902         Reported by Alain Guibert.
54903
54904 2008-08-10  Jim Meyering  <meyering@redhat.com>
54905
54906         ensure that return value of uinttostr et al are not ignored
54907         * lib/inttostr.h (__GNUC_PREREQ): Define.
54908         (__attribute_warn_unused_result__): Define.
54909         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54910
54911 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54912
54913         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54914         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54915
54916 2008-08-07  Jim Meyering  <meyering@redhat.com>
54917
54918         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54919
54920         * modules/mkstemp (License): Relicense under LGPLv2+.
54921         * modules/tempname (License): Likewise.
54922
54923 2008-08-06  Bruno Haible  <bruno@clisp.org>
54924
54925         * lib/poll.c (poll): Further micro-optimization.
54926
54927 2008-08-06  Jim Meyering  <meyering@redhat.com>
54928
54929         inet_pton.c: use locale-independent tolower
54930         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54931         (inet_pton6): Use c_tolower rather than tolower.
54932         * modules/inet_pton (Depends-on): Add c-ctype.
54933
54934 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54935
54936         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54937         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54938
54939 2008-08-06  Jim Meyering  <meyering@redhat.com>
54940
54941         * modules/inet_pton (License): Relicense under LGPLv2+.
54942
54943 2008-08-03  Bruno Haible  <bruno@clisp.org>
54944
54945         Additional non-aborting API for lock and tls.
54946         * lib/lock.h: Include <errno.h>.
54947         (glthread_lock_init): New macro/function.
54948         (gl_lock_init): Define as wrapper around glthread_lock_init.
54949         (glthread_lock_lock): New macro/function.
54950         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54951         (glthread_lock_unlock): New macro/function.
54952         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54953         (glthread_lock_destroy): New macro/function.
54954         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54955         (glthread_rwlock_init): New macro/function.
54956         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54957         (glthread_rwlock_rdlock): New macro/function.
54958         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54959         (glthread_rwlock_wrlock): New macro/function.
54960         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54961         (glthread_rwlock_unlock): New macro/function.
54962         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54963         (glthread_rwlock_destroy): New macro/function.
54964         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54965         (glthread_recursive_lock_init): New macro/function.
54966         (gl_recursive_lock_init): Define as wrapper around
54967         glthread_recursive_lock_init.
54968         (glthread_recursive_lock_lock): New macro/function.
54969         (gl_recursive_lock_lock): Define as wrapper around
54970         glthread_recursive_lock_lock.
54971         (glthread_recursive_lock_unlock): New macro/function.
54972         (gl_recursive_lock_unlock): Define as wrapper around
54973         glthread_recursive_lock_unlock.
54974         (glthread_recursive_lock_destroy): New macro/function.
54975         (gl_recursive_lock_destroy): Define as wrapper around
54976         glthread_recursive_lock_destroy.
54977         (glthread_once): New macro/function.
54978         (gl_once): Define as wrapper around glthread_once.
54979         Update function declarations.
54980         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54981         glthread_rwlock_init. Return error code.
54982         (glthread_rwlock_rdlock_multithreaded): Renamed from
54983         glthread_rwlock_rdlock. Return error code.
54984         (glthread_rwlock_wrlock_multithreaded): Renamed from
54985         glthread_rwlock_wrlock. Return error code.
54986         (glthread_rwlock_unlock_multithreaded): Renamed from
54987         glthread_rwlock_unlock. Return error code.
54988         (glthread_rwlock_destroy_multithreaded): Renamed from
54989         glthread_rwlock_destroy. Return error code.
54990         (glthread_recursive_lock_init_multithreaded): Renamed from
54991         glthread_recursive_lock_init. Return error code.
54992         (glthread_recursive_lock_lock_multithreaded): Renamed from
54993         glthread_recursive_lock_lock. Return error code.
54994         (glthread_recursive_lock_unlock_multithreaded): Renamed from
54995         glthread_recursive_lock_unlock. Return error code.
54996         (glthread_recursive_lock_destroy_multithreaded): Renamed from
54997         glthread_recursive_lock_destroy. Return error code.
54998         (glthread_once_call): Make static.
54999         (glthread_once_multithreaded): Renamed from glthread_once.
55000         * lib/tls.h: Include <errno.h>.
55001         (glthread_tls_key_init): New macro/function.
55002         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55003         (glthread_tls_set): New macro/function.
55004         (gl_tls_set): Define as wrapper around glthread_tls_set.
55005         (glthread_tls_key_destroy): New macro/function.
55006         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55007         Update function declarations.
55008         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55009         glthread_tls_get.
55010         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55011
55012 2008-08-04  Eric Blake  <ebb9@byu.net>
55013
55014         gnumakefile: use space, not TAB, outside of targets
55015         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55016
55017 2008-08-02  Jim Meyering  <meyering@redhat.com>
55018
55019         getdate.y: avoid locale-dependent date parsing failure
55020         In Turkish locales, getdate would fail to recognize keywords
55021         containing a lowercase "i".  The solution is not to rely on
55022         locale-sensitive case-conversion.
55023         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55024         (lookup_word): Use c_toupper in place of toupper.
55025         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55026         Reported by Vefa Bicakci <bicave@superonline.com> in
55027         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55028         * modules/getdate (Depends-on): Add c-ctype.
55029
55030 2008-08-02  Bruno Haible  <bruno@clisp.org>
55031
55032         * gnulib-tool (func_import): When updating or creating a .gitignore
55033         file, prepend each added line with a slash, and ignore leading slashes
55034         from the existing lines.
55035         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55036
55037 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55038
55039         Portability fix for GNU make 3.79.1.
55040         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55041         versions do not understand.
55042
55043 2008-08-01  Bruno Haible  <bruno@clisp.org>
55044
55045         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55046         * tests/test-isnanf.h (zero): New variable.
55047         (main): Avoid literal -0.0f.
55048         * tests/test-isnand.h (zero): New variable.
55049         (main): Avoid literal -0.0.
55050         * tests/test-isnanl.h (zero): New variable.
55051         (main): Avoid literal -0.0L.
55052         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55053         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55054         -0.0, -0.0L.
55055         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55056         (test_signbitd): Avoid literal -0.0.
55057         (test_signbitl): Avoid literal -0.0L.
55058         * tests/test-ceilf1.c (zero): New variable.
55059         (main): Avoid literal -0.0f.
55060         * tests/test-ceill.c (zero): New variable.
55061         (main): Avoid literal -0.0L.
55062         * tests/test-floorf1.c (zero): New variable.
55063         (main): Avoid literal -0.0f.
55064         * tests/test-floorl.c (zero): New variable.
55065         (main): Avoid literal -0.0L.
55066         * tests/test-roundf1.c (zero): New variable.
55067         (main): Avoid literal -0.0f.
55068         * tests/test-round1.c (zero): New variable.
55069         (main): Avoid literal -0.0.
55070         * tests/test-roundl.c (zero): New variable.
55071         (main): Avoid literal -0.0L.
55072         * tests/test-truncf1.c (zero): New variable.
55073         (main): Avoid literal -0.0f.
55074         * tests/test-trunc1.c (zero): New variable.
55075         (main): Avoid literal -0.0.
55076         * tests/test-truncl.c (zero): New variable.
55077         (main): Avoid literal -0.0L.
55078         * tests/test-frexp.c (zero): New variable.
55079         (main): Avoid literal -0.0.
55080         * tests/test-frexpl.c (zero): New variable.
55081         (main): Avoid literal -0.0L.
55082         * tests/test-ldexpl.c (zero): New variable.
55083         (main): Avoid literal -0.0L.
55084         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55085         (zerod, zerol): New variables.
55086         (test_function): Avoid literals -0.0, -0.0L.
55087         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55088         (zerod, zerol): New variables.
55089         (test_function): Avoid literals -0.0, -0.0L.
55090         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55091         (zerod, zerol): New variables.
55092         (test_function): Avoid literals -0.0, -0.0L.
55093         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55094         (zerod, zerol): New variables.
55095         (test_function): Avoid literals -0.0, -0.0L.
55096         * tests/test-strtod.c (zero): New variable.
55097         (main): Avoid literal -0.0.
55098         Reported by Jonathan C. Patschke <jp@centtech.com>.
55099
55100 2008-07-31  Jim Meyering  <meyering@redhat.com>
55101
55102         sha256.h: correct definition of SHA224_DIGEST_SIZE
55103         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55104         Reported by Paulie Pena IV <paulie4@gmail.com>.
55105         Define as 224 / 8, rather than as a literal.
55106         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55107         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55108         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55109
55110 2008-07-31  Bruno Haible  <bruno@clisp.org>
55111
55112         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55113         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55114         Reported by Jonathan Patschke <jp@centtech.com>.
55115
55116 2008-07-31  Bruno Haible  <bruno@clisp.org>
55117
55118         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55119         Reported by Paolo Bonzini <bonzini@gnu.org>.
55120
55121 2008-07-30  Eric Blake  <ebb9@byu.net>
55122
55123         test-strtod: allow compilation without -lm
55124         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55125         Reported by Dennis Clarke <blastwave@gmail.com>.
55126
55127 2008-07-28  Jim Meyering  <meyering@redhat.com>
55128
55129         bootstrap: work also when there are no .po files in po/
55130         * build-aux/bootstrap (update_po_files): Complete the change
55131         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55132
55133 2008-07-27  Jim Meyering  <meyering@redhat.com>
55134
55135         * users.txt: Add zile.
55136
55137 2008-07-26  Ben Pfaff  <blp@gnu.org>
55138
55139         Add missing dependencies on new m4/exponent[fdl].m4 files.
55140         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55141         * modules/isnand-nolibm: Add m4/exponentd.m4.
55142         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55143         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55144         m4/isnan[fdl].m4, because the macros actually used moved.
55145         Reported by Jim Meyering.
55146
55147 2008-07-14  Ben Pfaff  <blp@gnu.org>
55148
55149         Add isinf module.
55150         * lib/isinf.c: New file.
55151         * lib/math.in.h: Define isinf macro if we have decided to replace
55152         it.
55153         * m4/isinf.m4: New file.
55154         * m4/math_h.m4: Initialize and substitute variables for isinf
55155         module.
55156         * modules/isinf: New file.
55157         * modules/isinf-tests: New file.
55158         * modules/math: Add substitutions for new module.
55159         * tests/test-isinf.c: New file.
55160         * doc/posix-functions/isinf.texi: Mention new module.
55161         * MODULES.html.sh: Mention new module.
55162
55163 2008-07-14  Ben Pfaff  <blp@gnu.org>
55164
55165         Factor out some macros for use by additional modules.
55166         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55167         exponentf.m4.
55168         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55169         exponentd.m4.
55170         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55171         file exponentl.m4.
55172         * m4/exponentf.m4: New file.
55173         * m4/exponentd.m4: New file.
55174         * m4/exponentl.m4: New file.
55175         * modules/isnanf: Use new file m4/exponentf.m4.
55176         * modules/isnand: Use new file m4/exponentd.m4.
55177         * modules/isnanl: Use new file m4/exponentl.m4.
55178
55179 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55180
55181         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55182         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55183         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55184         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55185
55186         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55187         readlink on platforms without PATH_MAX.
55188
55189 2008-07-21  Eric Blake  <ebb9@byu.net>
55190
55191         Warn, not fail, on stale version.
55192         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55193
55194         Don't allow installation with stale devel version number.
55195         * top/GNUmakefile (_is-install-target): New macro.
55196         (_curr-ver): Forbid installation with stale version number.
55197
55198 2008-07-20  Bruno Haible  <bruno@clisp.org>
55199
55200         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55201         TESTS_ENVIRONMENT.
55202         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55203
55204 2008-07-20  Bruno Haible  <bruno@clisp.org>
55205
55206         * lib/c-stack.h (c_stack_action): Add documentation.
55207         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55208
55209 2008-07-20  Bruno Haible  <bruno@clisp.org>
55210
55211         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55212         * modules/readlink (License): Likewise.
55213
55214 2008-07-17  Eric Blake  <ebb9@byu.net>
55215
55216         * modules/c-stack (Link): Fix typo.
55217
55218         Make c-stack use libsigsegv, when available.
55219         * modules/c-stack (Depends-on): Add libsigsegv.
55220         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55221         needed.
55222         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55223         (segv_handler, overflow_handler, c_stack_action)
55224         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55225         implementation when libsigsegv is available, but only when using
55226         the library is necessary.
55227         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55228         comment, explaining why XSI check fails on Linux.
55229         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55230         * tests/test-c-stack2.sh: Tweak skip message.
55231         * NEWS: Document new link-time requirements.
55232
55233 2008-07-16  Eric Blake  <ebb9@byu.net>
55234
55235         c-stack: Expose false positives when not using libsigsegv.
55236         * modules/c-stack-tests (Files): Expand test.
55237         * tests/test-c-stack.c (main): Add means to conditionally trigger
55238         non-overflow SIGSEGV.
55239         * tests/test-c-stack2.sh: New file.
55240
55241 2008-07-14  Bruno Haible  <bruno@clisp.org>
55242
55243         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55244         Reported by Eric Blake.
55245
55246 2008-07-14  Sam Steingold  <sds@gnu.org>
55247             Bruno Haible  <bruno@clisp.org>
55248
55249         New module libsigsegv.
55250         * modules/libsigsegv: New file.
55251         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55252         modifications.
55253         * MODULES.html.sh (Signal handling): New section.
55254
55255 2008-07-14  Bruno Haible  <bruno@clisp.org>
55256
55257         * modules/unictype/ctype-* (Description): Add the word "function".
55258         Improves the resulting doc in MODULES.html.
55259
55260 2008-07-12  Ben Pfaff  <blp@gnu.org>
55261
55262         Add longlong module.
55263         * modules/longlong: New file.
55264
55265 2008-07-12  Bruno Haible  <bruno@clisp.org>
55266
55267         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55268         to empty.
55269
55270 2008-07-10  Ben Pfaff  <blp@gnu.org>
55271
55272         Add isnan module.
55273         * doc/posix-functions/isnan.texi: Mention new module.
55274         * lib/math.in.h: Define isnan macro if we have decided to replace
55275         it.
55276         * m4/isnan.m4: New file.
55277         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55278         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55279         also.
55280         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55281         redundancy.
55282         * m4/math_h.m4: Initialize and substitute variables for isnan
55283         module.
55284         * modules/isnan: New file.
55285         * modules/isnan-tests: New file.
55286         * modules/math: Add substitutions for new module.
55287         * tests/test-isnan.c: New file.
55288         * MODULES.html.sh: Mention new module.
55289
55290 2008-07-10  Ben Pfaff  <blp@gnu.org>
55291
55292         Add isnanf module.
55293         * lib/isnanf.m4: New file.
55294         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55295         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55296         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55297         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55298         * modules/isnanf: New file.
55299         * modules/isnanf-tests: New file.
55300         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55301         files.
55302         * tests/test-isnanf-nolibm.c: factored most of its contents into
55303         new file tests/test-isnanf.h.
55304         * tests/test-isnanf.h: New file.
55305         * tests/test-isnanf.c: New file.
55306         * MODULES.html.sh: Mention new module.
55307         * doc/glibc-functions/isnanf.texi: Mention new module.
55308
55309 2008-07-10  Ben Pfaff  <blp@gnu.org>
55310
55311         Add isnand module.
55312         * lib/isnand.h: New file.
55313         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55314         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55315         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55316         functionality also.
55317         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55318         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55319         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55320         * modules/isnand: New file.
55321         * modules/isnand-tests: New file.
55322         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55323         files.
55324         * tests/test-isnand-nolibm.c: factored most of its contents into
55325         new file tests/test-isnand.h.
55326         * tests/test-isnand.h: New file.
55327         * tests/test-isnand.c: New file.
55328         * MODULES.html.sh: Mention new module.
55329
55330 2008-07-10  Ben Pfaff  <blp@gnu.org>
55331
55332         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55333         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55334         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55335         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55336         * modules/isnanf-nolibm: Update references to renamed files.
55337         * modules/isnand-nolibm: Likewise.
55338         * modules/isnanf-nolibm-tests: Likewise.
55339         * modules/isnand-nolibm-tests: Likewise.
55340         * lib/frexp.c: Likewise.
55341         * lib/isfinite.c: Likewise.
55342         * lib/signbitd.c: Likewise.
55343         * lib/signbitf.c: Likewise.
55344         * lib/vasnprintf.c: Likewise.
55345         * tests/test-ceilf1.c: Likewise.
55346         * tests/test-ceilf2.c: Likewise.
55347         * tests/test-floorf1.c: Likewise.
55348         * tests/test-floorf2.c: Likewise.
55349         * tests/test-frexp.c: Likewise.
55350         * tests/test-round1.c: Likewise.
55351         * tests/test-round2.c: Likewise.
55352         * tests/test-roundf1.c: Likewise.
55353         * tests/test-strtod.c: Likewise.
55354         * tests/test-trunc1.c: Likewise.
55355         * tests/test-trunc2.c: Likewise.
55356         * tests/test-truncf1.c: Likewise.
55357         * tests/test-truncf2.c: Likewise.
55358         * NEWS: Mention the renamed header files.
55359
55360 2008-07-11  Jim Meyering  <meyering@redhat.com>
55361
55362         vc-list-files: make the last-resort awk code more portable
55363         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55364         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55365         does not support it.
55366
55367 2008-07-10  Eric Blake  <ebb9@byu.net>
55368
55369         Work with tar's bootstrap.
55370         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55371         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55372         an m4 comment.
55373
55374 2008-07-09  Jim Meyering  <meyering@redhat.com>
55375
55376         posix-shell.m4: fix typo that made this test malfunction
55377         * m4/posix-shell.m4: Remove capitalization in variable name.
55378
55379 2008-07-08  Bruno Haible  <bruno@clisp.org>
55380
55381         * m4/onceonly.m4: Update comments.
55382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55383
55384 2008-07-04  Jim Meyering  <meyering@redhat.com>
55385
55386         * users.txt: Add vc-dwim.
55387         (bison, coreutils): Use the gitweb URL.
55388
55389 2008-07-03  Jim Meyering  <meyering@redhat.com>
55390
55391         * users.txt: Add libffcall.  From Sam Steingold.
55392
55393 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55394
55395         getdate.y: do not ignore TZ with relative day, month or year offset
55396         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55397         relative-date-handling, since otherwise, the latter would clobber the
55398         sole output (an updated Start value) of the tz-handling block.
55399         * tests/test-getdate.c: Tests for the fix
55400
55401 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55402
55403         Recognize 'foo_LIBRARIES += libgnu.a'.
55404         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55405         makefile snippet has already specified an installation location,
55406         also using '+='.
55407
55408 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55409
55410         getdate.y: factor out common actions
55411         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55412         Use them in place of open-coded actions.
55413
55414 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55415
55416         Add self-test for getdate module.
55417         * modules/getdate-tests: New file.
55418         * tests/test-getdate.c: New file.
55419
55420 2008-06-29  Bruno Haible  <bruno@clisp.org>
55421
55422         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55423         .gitignore.
55424         Reported by Sylvain Beucler <beuc@beuc.net>.
55425
55426 2008-06-29  Bruno Haible  <bruno@clisp.org>
55427
55428         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55429         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55430
55431 2008-06-29  Bruno Haible  <bruno@clisp.org>
55432
55433         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55434         EXTRA_DIST.
55435         Reported by Sylvain Beucler <beuc@beuc.net>.
55436
55437 2008-06-26  Jim Meyering  <meyering@redhat.com>
55438
55439         make several modules depend on the "open" module
55440         This provides slightly increased consistency when opening-for-write
55441         the name of a non-directory spelled with a trailing slash.
55442         * modules/chdir-safer: Likewise.
55443         * modules/chown: Likewise.
55444         * modules/clean-temp: Likewise.
55445         * modules/copy-file: Likewise.
55446         * modules/fchdir: Likewise.
55447         * modules/fcntl-safer: Likewise.
55448         * modules/pipe: Likewise.
55449         * modules/utime: Likewise.
55450         Prompted by Eric Blake and Bruno Haible.
55451
55452 2008-06-24  Andreas Schwab  <schwab@suse.de>
55453
55454         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55455         literals can be used as initializers for global variables.
55456
55457 2008-06-23  Eric Blake  <ebb9@byu.net>
55458
55459         Make gnulib-cache.m4 easier to diff.
55460         * gnulib-tool (func_import): Allow newlines when reading cached
55461         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55462
55463 2008-06-23  Bruno Haible  <bruno@clisp.org>
55464
55465         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55466         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55467         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55468         m4/signalblocking.m4.
55469         (gl_PREREQ_SIGACTION): Don't invoke it.
55470         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55471         gl_PREREQ_SIG_HANDLER_H.
55472         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55473         Don't check for sigaction here.
55474
55475 2008-06-23  Bruno Haible  <bruno@clisp.org>
55476
55477         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55478         (install_handlers): Don't set the SA_RESETHAND flag.
55479
55480 2008-06-23  Bruno Haible  <bruno@clisp.org>
55481
55482         * m4/sigaction.m4: Comment fixes.
55483         * lib/signal.in.h: Likewise.
55484
55485 2008-06-23  Eric Blake  <ebb9@byu.net>
55486
55487         Fix typo.
55488         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55489
55490         Avoid SA_ namespace.
55491         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55492         Reported by Ralf Wildenhues.
55493
55494         Avoid test failure due to SA_RESTORER.
55495         * tests/test-sigaction.c (SA_MASK): New macro.
55496         (main): Avoid failing due to extension flags being set.
55497         Reported by Jim Meyering.
55498
55499         Revert use of sig-handler.h in sigprocmask.c.
55500         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55501         it requires the existence of struct sigaction.
55502         * lib/sigprocmask.c (handler_t): Restore typedef.
55503         (rpl_signal, old_handlers): Use local type.
55504
55505 2008-06-22  Bruno Haible  <bruno@clisp.org>
55506
55507         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55508         conditionally.
55509         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55510
55511 2008-06-22  Bruno Haible  <bruno@clisp.org>
55512
55513         * doc/posix-functions/siginterrupt.texi: Move note.
55514
55515         * lib/signal.in.h (SA_RESTART): New macro.
55516         * lib/sigaction.c: Update comment.
55517
55518         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55519
55520         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55521         (gl_PREREQ_SIGPROCMASK): Invoke it.
55522         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55523
55524         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55525
55526         * lib/sigprocmask.c: Update a comment.
55527
55528 2008-06-21  Eric Blake  <ebb9@byu.net>
55529
55530         Use sigaction module rather than signal().
55531         * modules/c-stack (Depends-on): Add sigaction.
55532         * modules/fatal-signal (Depends-on): Likewise.
55533         * modules/nanosleep (Depends-on): Likewise.
55534         * modules/sigprocmask (Files): Add sig-handler.h.
55535         * modules/sigaction (Files): Likewise.
55536         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55537         Eggert.
55538         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55539         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55540         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55541         (init_fatal_signals): Likewise.
55542         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55543         (siginterrupt): Delete fallback.
55544         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55545         instead.
55546         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55547         siginterrupt.
55548
55549         New module sigaction, for mingw.
55550         * modules/sigaction: New module...
55551         * modules/sigaction-tests: ...and its test.
55552         * m4/sigaction.m4: New file.
55553         * lib/sigaction.c: Likewise.
55554         * tests/test-sigaction.c: Likewise.
55555         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55556         * modules/signal (Makefile.am): Likewise.
55557         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55558         needed.
55559         * doc/posix-headers/signal.texi (signal.h): Mention provided
55560         types.
55561         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55562         that sigaction is preferable.
55563         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55564         module.
55565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55566         sigaction.
55567
55568         Improve robustness of sigprocmask by overriding signal.
55569         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55570         is in use.
55571         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55572         (SIGKILL, SIGSTOP): Provide fallbacks.
55573         (rpl_signal): Implement.
55574         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55575         signal can be called inside handlers.
55576
55577         Fix nanosleep module on mingw.
55578         * modules/nanosleep (Depends-on): Add sys_select.
55579         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55580
55581         Fix licensing of sigprocmask.
55582         * modules/raise (License): Relicense as LGPL.
55583
55584 2008-06-21  Bruno Haible  <bruno@clisp.org>
55585
55586         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55587         result if it contains question marks.
55588         Reported by Michael Geng <linux@michaelgeng.de>.
55589
55590 2008-06-19  Bruno Haible  <bruno@clisp.org>
55591
55592         Fix CVS-ism.
55593         * doc/gnulib.texi: Include updated-stamp.texi.
55594         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55595         (updated-stamp.texi): New rule.
55596         (gnulib.info): Depend on it.
55597         * doc/.gitignore: Add updated-stamp.texi.
55598         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55599
55600 2008-06-19  Bruno Haible  <bruno@clisp.org>
55601
55602         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55603         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55604
55605 2008-06-19  Eric Blake  <ebb9@byu.net>
55606
55607         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55608         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55609         Reported by Stepan Kasal.
55610
55611 2008-06-18  Bruno Haible  <bruno@clisp.org>
55612
55613         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55614         Reported by Eric Blake.
55615
55616 2008-06-18  Eric Blake  <ebb9@byu.net>
55617
55618         Work around cygwin 1.5.25 strsignal bug.
55619         * tests/test-strsignal.c: Allow for const char *.
55620         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55621
55622 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55623
55624         * users.txt: Update URL to article and add author/date
55625         information.
55626
55627 2008-06-17  Bruno Haible  <bruno@clisp.org>
55628
55629         New macro gl_DISABLE_THREADS.
55630         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55631         if the user did not pass --enable-threads or --disable-threads option.
55632         (gl_DISABLE_THREADS): New macro.
55633         Reported by Eric Blake <ebb9@byu.net>.
55634
55635 2008-06-17  Bruno Haible  <bruno@clisp.org>
55636
55637         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55638         when the macro ignores it.
55639         Based on a patch by Eric Blake <ebb9@byu.net>.
55640
55641 2008-06-17  Bruno Haible  <bruno@clisp.org>
55642
55643         * modules/tls (License): Change to LGPLv2+.
55644         Reported by Eric Blake.
55645
55646 2008-06-17  Eric Blake  <ebb9@byu.net>
55647
55648         Simplify c-stack prerequisites.
55649         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55650         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55651         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55652         check.
55653         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55654         <sys/resource.h>.
55655
55656         Move c-stack test into testsuite.
55657         * modules/c-stack-tests: New file.
55658         * lib/c-stack.c [DEBUG]: Move test program...
55659         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55660         fail test if sigaltstack is lacking.
55661         * tests/test-c-stack.sh: New driver file.
55662
55663 2008-06-16  Eric Blake  <ebb9@byu.net>
55664
55665         Use raise module consistently.
55666         * modules/fatal-signal (Depends-on): Add raise.
55667         * modules/sigprocmask (Depends-on): Likewise.
55668         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
55669         * lib/sigprocmask.c (sigprocmask): Likewise.
55670         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55671         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
55672
55673         Fix compliance bug in sigpending.
55674         * lib/sigprocmask.c (sigpending): Return pending array via
55675         parameter, not return value.
55676
55677 2008-06-14  Eric Blake  <ebb9@byu.net>
55678
55679         Improve obstack-printf test code.
55680         * tests/test-obstack-printf.c (test_function): Fix comment, and
55681         simplify usage of obstack_* in macros.  Add a test for coverage.
55682         Reported by Bruno Haible.
55683
55684 2008-06-14  Bruno Haible  <bruno@clisp.org>
55685
55686         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55687         array size as a constant, not as a const variable.
55688         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55689         AC_USE_SYSTEM_EXTENSIONS.
55690         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55691         Test whether the obstack_printf function actually exists.
55692         * modules/obstack-printf (Depends-on): Add extensions.
55693         (Include): Remove obstack.h.
55694         * modules/obstack-printf-posix (Depends-on): Add extensions.
55695         (Include): Remove obstack.h.
55696
55697 2008-06-13  Eric Blake  <ebb9@byu.net>
55698
55699         Add obstack-printf and obstack-printf-posix modules.
55700         * modules/obstack-printf: New file.
55701         * modules/obstack-printf-posix: Likewise.
55702         * MODULES.html.sh (Misc): Mention them.
55703         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55704         Likewise.
55705         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55706         Likewise.
55707         * modules/stdio (Makefile.am): Accomodate new modules.
55708         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55709         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55710         Declare.
55711         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55712         functions.
55713         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55714         (gl_REPLACE_OBSTACK_PRINTF): New macros
55715         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55716         * tests/test-obstack-printf.c: New file.
55717         * modules/obstack-printf-tests: Likewise.
55718         * modules/obstack-printf-posix-tests: Likewise.
55719
55720 2008-06-11  Bruno Haible  <bruno@clisp.org>
55721
55722         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55723         * lib/open.c: Include errno.h.
55724         (open): Fail when attempting to write to a file that has a trailing
55725         slash.
55726         * tests/test-open.c (main): Test against trailing slash bug.
55727         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55728
55729 2008-06-10  Bruno Haible  <bruno@clisp.org>
55730
55731         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55732         for $? to work inside the trap command, with various /bin/sh-s.
55733         * tests/test-vc-list-files-cvs.sh: Likewise.
55734
55735 2008-06-10  Bruno Haible  <bruno@clisp.org>
55736
55737         * lib/acl-internal.h: Don't include gettext.h here.
55738         * lib/set-mode-acl.c: Include gettext.h here.
55739         * lib/copy-acl.c: Likewise.
55740
55741 2008-06-10  Bruno Haible  <bruno@clisp.org>
55742
55743         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55744         * lib/wait-process.c (wait_subprocess): Likewise.
55745         * lib/execute.h (execute): Add termsigp argument.
55746         * lib/execute.c (execute): Likewise.
55747         * lib/csharpcomp.c (compile_csharp_using_pnet,
55748         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55749         * lib/csharpexec.c (execute_csharp_using_pnet,
55750         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55751         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55752         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55753         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55754         is_jikes_present): Update.
55755         * lib/javaexec.c (execute_java_class): Update.
55756         * lib/javaversion.c (execute_and_read_line): Update.
55757         * NEWS: Document the changes.
55758         Reported by Eric Blake.
55759
55760 2008-06-10  Eric Blake  <ebb9@byu.net>
55761
55762         Add missing include.
55763         * tests/test-strstr.c (includes): Add <signal.h>.
55764         * tests/test-strcasestr.c (includes): Likewise.
55765         * tests/test-memmem.c (includes): Likewise.
55766
55767 2008-06-10  Bruno Haible  <bruno@clisp.org>
55768
55769         * lib/wait-process.c (wait_subprocess): Add an assertion.
55770
55771 2008-06-10  Bruno Haible  <bruno@clisp.org>
55772
55773         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55774
55775 2008-06-10  Bruno Haible  <bruno@clisp.org>
55776
55777         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55778         using alarm().
55779         * tests/test-strcasestr.c (main): Likewise.
55780         * tests/test-strstr.c (main): Likewise.
55781
55782 2008-06-09  Bruno Haible  <bruno@clisp.org>
55783
55784         Work around the Solaris 10 ACE ACLs ABI change.
55785         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55786         declare if ACL_NO_TRIVIAL is present.
55787         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55788         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55789         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55790         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55791         define if ACL_NO_TRIVIAL is present.
55792         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55793         and use the current ABI.
55794         (file_has_acl): Use same #if condition as elsewhere.
55795         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55796         in use, and use the current ABI.
55797         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55798         Reported by Jim Meyering.
55799
55800 2008-06-09  Eric Blake  <ebb9@byu.net>
55801
55802         Work around environments that (stupidly) ignore SIGALRM.
55803         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55804         before using alarm().
55805         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55807         Reported by Ian Beckwith <ianb@erislabs.net>.
55808
55809         Produce autobuild blurb earlier in log.
55810         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55811
55812 2008-06-09  Jim Meyering  <meyering@redhat.com>
55813         and Ondřej Vašík  <ovasik@redhat.com>
55814
55815         utimens.c: correct kernel bug work-around
55816         Ondřej Vašík found that the invalid return value of 280 indicates
55817         failure, not success, and the kernel bug we're trying to work
55818         around affects not just the utimensat call, but also the fallback
55819         futimens call.
55820         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55821         not success.
55822         [HAVE_FUTIMENS]: Use the same work-around, here.
55823
55824 2008-06-09  Jim Meyering  <meyering@redhat.com>
55825
55826         add more guards around definition of ACE_-related code
55827         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55828         ALLOW and ACE_OWNER are also defined.
55829
55830 2008-06-08  Bruno Haible  <bruno@clisp.org>
55831
55832         * lib/acl-internal.h: Add me as co-author.
55833         * lib/file-has-acl.c: Likewise.
55834         * lib/set-mode-acl.c: Likewise.
55835         * lib/copy-acl.c: Likewise.
55836
55837 2008-06-08  Bruno Haible  <bruno@clisp.org>
55838
55839         Add support for AIX ACLs.
55840         * lib/acl-internal.h (acl_nontrivial): New declaration.
55841         * lib/file-has-acl.c (acl_nontrivial): New function.
55842         (file_has_acl): Add implementation using AIX 4 ACL API.
55843         * lib/set-mode-acl.c (qset_acl): Likewise.
55844         * lib/copy-acl.c (qcopy_acl): Likewise.
55845
55846 2008-06-08  Bruno Haible  <bruno@clisp.org>
55847
55848         Add support for HP-UX ACLs.
55849         * lib/acl-internal.h (acl_nontrivial): New declaration.
55850         * lib/file-has-acl.c (acl_nontrivial): New function.
55851         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55852         * lib/set-mode-acl.c (qset_acl): Likewise.
55853         * lib/copy-acl.c (qcopy_acl): Likewise.
55854
55855 2008-06-08  Bruno Haible  <bruno@clisp.org>
55856
55857         Add support for Cygwin ACLs.
55858         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55859         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55860         the chmod_or_fchmod call.
55861         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55862
55863 2008-06-08  Bruno Haible  <bruno@clisp.org>
55864
55865         Fix bug with setuid modes in Solaris 10+ code.
55866         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55867         succeeded, when the mode contains some special bits.
55868
55869 2008-06-08  Bruno Haible  <bruno@clisp.org>
55870
55871         Add support for Solaris 7..10 ACLs.
55872         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55873         declarations.
55874         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55875         functions.
55876         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55877         * lib/set-mode-acl.c (qset_acl): Likewise.
55878         * lib/copy-acl.c (qcopy_acl): Likewise.
55879
55880 2008-06-08  Bruno Haible  <bruno@clisp.org>
55881
55882         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55883         declaration.
55884         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55885         (acl_access_nontrivial): Remove MacOS X case.
55886         (file_has_acl): Use acl_extended_nontrivial.
55887         * lib/copy-acl.c (qcopy_acl): Likewise.
55888
55889 2008-06-08  Bruno Haible  <bruno@clisp.org>
55890
55891         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55892
55893 2008-06-08  Jim Meyering  <meyering@redhat.com>
55894
55895         * modules/acl (Maintainer): Add Bruno Haible.
55896
55897 2008-06-07  Bruno Haible  <bruno@clisp.org>
55898
55899         Improve support for Tru64 ACLs.
55900         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55901         ACL on OSF/1.
55902
55903 2008-06-07  Bruno Haible  <bruno@clisp.org>
55904
55905         Add support for MacOS X ACLs.
55906         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55907         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55908         * lib/set-mode-acl.c (qset_acl): Likewise.
55909         * lib/copy-acl.c (qcopy_acl): Likewise.
55910
55911 2008-06-07  Bruno Haible  <bruno@clisp.org>
55912
55913         Fix memory leak introduced on 2008-05-22.
55914         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55915         use.
55916
55917 2008-06-07  Bruno Haible  <bruno@clisp.org>
55918
55919         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55920         to construct an empty ACL.
55921
55922 2008-06-07  Bruno Haible  <bruno@clisp.org>
55923
55924         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55925         precisely.
55926         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55927
55928 2008-06-07  Bruno Haible  <bruno@clisp.org>
55929
55930         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55931         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55932
55933 2008-06-07  Bruno Haible  <bruno@clisp.org>
55934
55935         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55936         regardless of POSIX.
55937         * doc/posix-functions/_longjmp.texi: Likewise.
55938         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55939         SystemV platform in this case.
55940
55941 2008-06-06  Eric Blake  <ebb9@byu.net>
55942
55943         Document abort() bugs.
55944         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55945
55946         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55947         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55948         sigsetjmp.
55949         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55950         siglongjmp, but only as a macro.
55951         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55952         is obsolete.
55953         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55954
55955         Tweak documentation to cover cygwin argz bugs.
55956         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55957         argz bug fix; no code change needed since no cygwin releases
55958         occurred between the last fix and the bug being tested.
55959         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55960         module and recently fixed cygwin bugs.
55961         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55962         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55963         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55964         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55965         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55966         Likewise.
55967         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55968         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55969         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55970         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55971         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55972         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55973         Likewise.
55974
55975         Avoid gcc warning on cygwin.
55976         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55977         !ACL_NO_TRIVIAL]: Avoid unused variable.
55978
55979 2008-06-05  Eric Blake  <ebb9@byu.net>
55980
55981         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55982         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55983         git-version-gen fails to come up with a version.
55984         Reported by Simon Josefsson.
55985
55986 2008-06-05  Jim Meyering  <meyering@redhat.com>
55987             Paul Eggert  <eggert@cs.ucla.edu>
55988
55989         utimens.c: work around a probable Linux kernel bug
55990         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55991         appears to be a kernel bug that causes utimensat to return 280
55992         instead of 0, indicating success.
55993
55994 2008-06-04  Bruno Haible  <bruno@clisp.org>
55995
55996         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
55997         2008-06-01 commit.
55998
55999 2008-06-04  Bruno Haible  <bruno@clisp.org>
56000
56001         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56002         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56003         (file_has_acl): Use it. Save errno afterwards.
56004         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56005
56006 2008-06-03  Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56009         draft code. Simplify #ifs.
56010         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56011         Put Solaris code after POSIX-draft code. Fix comments regarding
56012         Solaris 10, HP-UX. Mention Cygwin.
56013         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56014
56015 2008-06-03  Eric Blake  <ebb9@byu.net>
56016
56017         Provide fallback for older kernels.
56018         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56019         Provide runtime fallback if kernel lacks support.
56020         Reported by Mike Frysinger.
56021
56022 2008-06-02  Bruno Haible  <bruno@clisp.org>
56023
56024         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56025         it exists.
56026
56027 2008-06-02  Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56030         * lib/copy-acl.c (qcopy_acl): Update comment.
56031
56032 2008-06-02  Bruno Haible  <bruno@clisp.org>
56033
56034         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56035         like ACL APIs.
56036
56037 2008-06-02  Bruno Haible  <bruno@clisp.org>
56038
56039         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56040         * tests/test-set-mode-acl.sh: Likewise.
56041         * tests/test-copy-acl.sh: Likewise.
56042         * tests/test-copy-file.sh: Likewise.
56043
56044 2008-06-02  Bruno Haible  <bruno@clisp.org>
56045
56046         * tests/test-file-has-acl.sh: Remove unused code.
56047
56048 2008-06-01  Bruno Haible  <bruno@clisp.org>
56049
56050         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56051         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56052         messages.
56053         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56054
56055 2008-06-01  Bruno Haible  <bruno@clisp.org>
56056
56057         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56058         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56059         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56060         APIs.
56061         * modules/acl-tests (configure.ac): Remove tests now contained in
56062         m4/acl.m4.
56063
56064 2008-06-02  Jim Meyering  <meyering@redhat.com>
56065
56066         announce-gen: use a better key-server host name
56067         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56068         it may be more consistently reliable.  Suggested by Werner Koch
56069         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56070
56071 2008-06-01  Bruno Haible  <bruno@clisp.org>
56072
56073         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56074         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56075
56076 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56077
56078         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56079
56080 2008-06-01  Bruno Haible  <bruno@clisp.org>
56081
56082         New ACL tests.
56083         * tests/test-file-has-acl.sh: New file.
56084         * tests/test-file-has-acl.c: New file.
56085         * tests/test-set-mode-acl.sh: New file.
56086         * tests/test-set-mode-acl.c: New file.
56087         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56088         * tests/test-copy-acl.c: New file.
56089         * modules/acl-tests: New file, based on modules/copy-file-tests.
56090         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56091         (Depends-on): Add acl-tests.
56092         (configure.ac): Remove checks.
56093         (Makefile.am): Don't create test-sameacls program here any more.
56094
56095 2008-06-01  Bruno Haible  <bruno@clisp.org>
56096
56097         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56098         * tests/test-sameacls.c: Include progname.h.
56099         (main): Invoke set_program_name. Portability fixes for MacOS X,
56100         Solaris, HP-UX.
56101
56102 2008-06-01  Bruno Haible  <bruno@clisp.org>
56103
56104         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56105         function.
56106         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56107
56108 2008-06-01  Bruno Haible  <bruno@clisp.org>
56109
56110         * modules/rpmatch (Depends-on): Add strdup.
56111
56112 2008-06-01  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/pipe.c: Include unistd-safer.h.
56115         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56116         * modules/pipe (Depends-on): Add unistd-safer.
56117
56118 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56119
56120         * modules/autobuild (configure.ac): Call AB_INIT.
56121
56122 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56123
56124         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56125         Suggested by Bruno Haible <bruno@clisp.org>.
56126
56127 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56128
56129         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56130         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56131         <bruno@clisp.org>.
56132
56133 2008-05-29  Eric Blake  <ebb9@byu.net>
56134
56135         Prefer new POSIX 200x interfaces over futimesat.
56136         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56137         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56138         when available.
56139         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56140
56141 2008-05-28  Bruno Haible  <bruno@clisp.org>
56142
56143         * modules/stpcpy (License): Change to LGPLv2+.
56144         Requested by David Lutterkort <dlutter@redhat.com>.
56145
56146 2008-05-27  Bruno Haible  <bruno@clisp.org>
56147
56148         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56149         current mingw.
56150         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56151
56152 2008-05-27  Bruno Haible  <bruno@clisp.org>
56153
56154         * modules/iconv_open (Link): New section, from module 'iconv'.
56155         * modules/striconv (Link): Likewise.
56156         * modules/striconveh (Link): Likewise.
56157         * modules/xstriconv (Link): Likewise.
56158         * modules/unicodeio (Link): Likewise.
56159         * modules/propername (Link): Likewise.
56160         Reported by Jim Meyering.
56161
56162 2008-05-26  Jim Meyering  <meyering@redhat.com>
56163
56164         sha256: do not artificially restrict buffer length to be < 2^32
56165         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56166         uint32_t to size_t.
56167         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56168         to match.
56169
56170         avoid unaligned access errors, e.g., on sparc
56171         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56172         direct access through a possibly-unaligned uint64* pointer.
56173         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56174         direct access through a possibly-unaligned uint32* pointer.
56175         Prompted by this patch from Tom "spot" Callaway:
56176         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56177
56178         sha512.c: fix typo in comment
56179         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56180
56181 2008-05-25  Bruno Haible  <bruno@clisp.org>
56182
56183         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56184         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56185         (Makefile.am): Update lib_SOURCES.
56186
56187 2008-05-25  Bruno Haible  <bruno@clisp.org>
56188
56189         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56190
56191 2008-05-25  Jim Meyering  <meyering@redhat.com>
56192
56193         useless-if-before-free: freed expr may have white-space differences
56194         * build-aux/useless-if-before-free: Recognize cases in which the
56195         freed expression differs from the tested one in embedded white
56196         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56197         $1 was used, so we can't make any regexp shy.  Improved tests now
56198         detect this.
56199
56200         useless-if-before-free: accept white space in the expression.
56201         * build-aux/useless-if-before-free: For now, any white space
56202         in the expression must be identical in the free argument.
56203
56204         useless-if-before-free: efficiency tweak
56205         * build-aux/useless-if-before-free: Make the expression-matching
56206         regexp "shy".
56207         Make the *outer* regexp shy, not the expr-matching one.
56208
56209         update code-in-comment to accept cast of free arg
56210         * build-aux/useless-if-before-free: Update regexp.
56211
56212 2008-05-25  Bruno Haible  <bruno@clisp.org>
56213
56214         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56215         * modules/copy-file-tests (Files, Makefile.am): Update.
56216         * tests/test-copy-file.c (func_test_copy): Update.
56217
56218 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56219
56220         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56221
56222 2008-05-23  Bruno Haible  <bruno@clisp.org>
56223
56224         Improve support for ACLs on OSF/1.
56225         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56226         Remove fallback for unknown flavors of ACLs.
56227
56228 2008-05-22  Bruno Haible  <bruno@clisp.org>
56229
56230         Add support for ACLs on OSF/1.
56231         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56232         replacements.
56233         (acl_free_text): New macro fallback.
56234         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56235         acl_free.
56236         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56237         acl_free_text function. Require AC_C_INLINE.
56238
56239 2008-05-22  Bruno Haible  <bruno@clisp.org>
56240
56241         Make copy_acl work on MacOS X 10.5.
56242         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56243         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56244         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56245         If MODE_INSIDE_ACL, don't assume that every system has the same text
56246         representation for ACLs as FreeBSD.
56247         * lib/copy-acl.c (copy_acl): Add support for platforms with
56248         !MODE_INSIDE_ACL.
56249         * lib/file-has-acl.c (file_has_acl): Likewise.
56250         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56251         FreeBSD, MacOS X, or IRIX, respectively.
56252
56253 2008-05-22  Bruno Haible  <bruno@clisp.org>
56254
56255         * lib/acl.h: Don't include <sys/acl.h>.
56256         (GETACLCNT): Move fallback to lib/acl-internal.h.
56257         * lib/acl-internal.h: Include <sys/acl.h> here.
56258         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56259
56260 2008-05-22  Bruno Haible  <bruno@clisp.org>
56261
56262         Split off copy_acl function to separate file.
56263         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56264         * lib/acl.c (copy_acl): Moved function to separate file.
56265         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56266         * modules/acl (Files): Add lib/copy-acl.c.
56267         (Makefiles.am): Augment lib_SOURCES.
56268
56269 2008-05-22  Bruno Haible  <bruno@clisp.org>
56270
56271         * modules/copy-file-tests: New file.
56272         * tests/test-copy-file.sh: New file.
56273         * tests/test-copy-file.c: New file.
56274         * tests/test-copy-file-sameacls.c: New file.
56275
56276 2008-05-22  Eric Blake  <ebb9@byu.net>
56277
56278         Avoid gcc warning.
56279         * tests/test-memcmp.c (main): Pass NULL indirectly.
56280
56281 2008-05-21  Bruno Haible  <bruno@clisp.org>
56282
56283         Add reference doc about ACLs.
56284         * doc/acl-resources.txt: New file.
56285         * doc/acl-cygwin.txt: New file.
56286
56287 2008-05-21  Bruno Haible  <bruno@clisp.org>
56288
56289         Avoid one more warning from gcc.
56290         * lib/vasnprintf.c (IF_LINT): Update comments.
56291         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56292
56293 2008-05-21  Jim Meyering  <meyering@redhat.com>
56294
56295         avoid a warning from gcc
56296         * lib/vasnprintf.c (IF_LINT): Define.
56297         (scale10_round_decimal_long_double):
56298         Use it to avoid a "may be used uninitialized" warning.
56299         (scale10_round_decimal_double): Likewise.
56300
56301 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56302
56303         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56304         declared.
56305
56306 2008-05-20  Bruno Haible  <bruno@clisp.org>
56307
56308         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56309         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56310
56311 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56312
56313         * modules/memcmp-tests: New file.
56314         * tests/test-memcmp.c: New file.
56315
56316 2008-05-19  Bruno Haible  <bruno@clisp.org>
56317
56318         * modules/propername (Notice, configure.ac): Put quoted "..." into
56319         --keyword option.
56320         * lib/propername.h: Update comments accordingly.
56321         Reported by Eric Blake.
56322
56323 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56324
56325         * modules/getpass-gnu (Depends-on): Add fseeko.
56326
56327 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56328
56329         * modules/base64-tests: New file.
56330
56331 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56332
56333         * lib/base64.c (base64_decode_ctx): If a decode context structure
56334         was passed in use it to ignore newlines.  If a context structure
56335         was _not_ passed in, continue to treat newlines as garbage (this
56336         is the historical behavior).  Formerly base64_decode.
56337         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56338         takes a decode context structure.
56339         * lib/base64.h (base64_decode): Macro for four-argument calls.
56340         (base64_decode_alloc): Likewise.
56341         * lib/base64.c (base64_decode_ctx): If a decode context structure
56342         was passed in use it to ignore newlines.  If a context structure
56343         was _not_ passed in, continue to treat newlines as garbage (this
56344         is the historical behavior).  Formerly base64_decode.
56345         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56346         takes a decode context structure.
56347         * lib/base64.h (base64_decode): Macro for four-argument calls.
56348         (base64_decode_alloc): Likewise.
56349
56350 2008-05-19  Jim Meyering  <meyering@redhat.com>
56351
56352         avoid a warning from gcc
56353         * lib/trim.c (IF_LINT): Define.
56354         (trim2): Use it to avoid a "may be used uninitialized" warning.
56355
56356         Fix doc typo.
56357         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56358
56359 2008-05-19  Bruno Haible  <bruno@clisp.org>
56360
56361         * doc/glibc-functions/getpass.texi: Document limits of other
56362         implementations.
56363
56364 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56365             Bruno Haible <bruno@clisp.org>
56366
56367         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56368
56369 2008-05-18  Bruno Haible  <bruno@clisp.org>
56370
56371         * modules/propername: New file, from GNU gettext.
56372         * lib/propername.h: New file, from GNU gettext.
56373         * lib/propername.c: New file, from GNU gettext.
56374         * MODULES.html.sh (Internationalization functions): Add propername.
56375
56376 2008-05-16  Jim Meyering  <meyering@redhat.com>
56377             Bruno Haible  <bruno@clisp.org>
56378
56379         Avoid some warnings from "gcc -Wshadow".
56380         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56381
56382 2008-05-15  Eric Blake  <ebb9@byu.net>
56383
56384         Extend previous patch to cygwin 1.7.0.
56385         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56386         fast implementation in cygwin >= 1.7.0.
56387         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56388         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56389
56390 2008-05-15  Bruno Haible  <bruno@clisp.org>
56391
56392         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56393         implementation in glibc >= 2.9.
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         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56400         (Unicode string functions): Add unilbrk/*.
56401         Reported by Karl Berry.
56402
56403 2008-05-15  Eric Blake  <ebb9@byu.net>
56404
56405         Fix violation of <stdbool.h> replacement in regex.
56406         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56407         * lib/regexec.c (re_search_internal): Likewise.
56408         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56409
56410 2008-05-15  Jim Meyering  <meyering@redhat.com>
56411
56412         avoid distracting test output when git or cvs is not found
56413         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56414         * tests/test-vc-list-files-git.sh: Likewise.
56415
56416 2008-05-15  Eric Blake  <ebb9@byu.net>
56417
56418         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56419         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56420         glibc version.
56421         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56422         * doc/posix-functions/strstr.texi (strstr): Likewise.
56423         * lib/str-two-way.h (MAX): Sychronize with glibc.
56424
56425 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56426
56427         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56428         opr.ctx_type.
56429         (calc_first): Initialize constraint field.
56430         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56431         Fix grammar.
56432         (duplicate_node): Merge constraint field for all node types.
56433         (calc_eclosure_iter): Look at constraint field for all node types.
56434         * lib/regex_internal.c (create_cd_newstate): Don't look at
56435         opr.ctx_type.
56436
56437 2008-05-14  Bruno Haible  <bruno@clisp.org>
56438
56439         Help GCC to do better code generation.
56440         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56441         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56442         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56443         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56444         Declare with attribute 'malloc' if supported.
56445
56446 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56447
56448         use "echo STR|wc -c" rather than unportable "expr length STR"
56449         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56450         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56451
56452 2008-05-14  Jim Meyering  <meyering@redhat.com>
56453
56454         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56455         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56456         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56457         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56458         via Collin Lasse.
56459
56460 2008-05-14  Eric Blake  <ebb9@byu.net>
56461
56462         Avoid quadratic growth in gl_LIBSOURCES.
56463         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56464         Suggested by Bruno Haible.
56465
56466         Test xmemdup0.
56467         * modules/xmemdup0-tests: New file.
56468         * tests/test-xmemdup0.c: Likewise.
56469
56470 2008-05-13  Eric Blake  <ebb9@byu.net>
56471
56472         Split xmemdup0 into its own module.
56473         * modules/xmemdup0: New file.
56474         * lib/xmemdup0.h: Likewise.
56475         * lib/xmemdup0.c: Likewise.
56476         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56477         * lib/xalloc.h (xmemdup0): Remove.
56478         * lib/xmalloc.c (xmemdup0): Likewise.
56479
56480 2008-05-13  Eric Blake  <ebb9@byu.net>
56481             Bruno Haible  <bruno@clisp.org>
56482
56483         Reduce number of forks required during autoconf.
56484         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56485         and gl_LIBSOURCES_DIR.
56486         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56487         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56488         m4_syscmd per file.
56489         <m4_foreach_w>: Move...
56490         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56491
56492 2008-05-13  Eric Blake  <ebb9@byu.net>
56493
56494         * gnulib-tool: Fix various comment typos.
56495
56496 2008-05-12  Bruno Haible  <bruno@clisp.org>
56497
56498         Tailor the linebreaking algorithm.
56499         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56500
56501 2008-05-12  Bruno Haible  <bruno@clisp.org>
56502
56503         Update to Unicode 5.0.0.
56504         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56505         LBP_JV, LBP_JT. Redistribute values.
56506         (unilbrk_table): Change size.
56507         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56508         Unicode TR#14 rev. 22.
56509         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56510         LBP_JV, LBP_JT. Redistribute values.
56511         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56512         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56513         Update.
56514         * lib/unilbrk/lbrkprop1.h: Regenerated.
56515         * lib/unilbrk/lbrkprop2.h: Regenerated.
56516         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56517         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56518         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56519         Likewise.
56520         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56521         Likewise.
56522         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56523         result.
56524         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56525         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56526         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56527         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56528         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56529         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56530
56531 2008-05-11  Bruno Haible  <bruno@clisp.org>
56532
56533         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56534
56535 2008-05-11  Bruno Haible  <bruno@clisp.org>
56536
56537         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56538         * modules/unilbrk/gen-lbrk: New file.
56539
56540 2008-05-11  Bruno Haible  <bruno@clisp.org>
56541
56542         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56543         * m4/sha512.m4 (gl_SHA512): Likewise.
56544
56545 2008-05-11  Jim Meyering  <meyering@redhat.com>
56546
56547         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56548         * modules/crypto/sha256: New file.
56549         * modules/crypto/sha512: Likewise.
56550         * lib/sha256.c: Likewise.
56551         * lib/sha256.h: Likewise.
56552         * lib/sha512.c: Likewise.
56553         * lib/sha512.h: Likewise.
56554         * lib/u64.h: Likewise.
56555         * m4/sha256.m4: Likewise.
56556         * m4/sha512.m4: Likewise.
56557         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56558
56559 2008-05-10  Bruno Haible  <bruno@clisp.org>
56560
56561         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56562         (Input/Output <stdio.h>): Add xprintf.
56563         (Signal handling <signal.h>): Add strsignal.
56564         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56565         (Core language properties): Add func.
56566         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56567         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56568         strings.
56569         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56570         (Input/output): New section.
56571         (File system functions): Add openat-die, stat-macros.
56572         (Networking functions): Add sockets.
56573         (Unicode string functions): Add unictype/*.
56574         (Support for building libraries and executables): Add gperf.
56575         (Support for building documentation): Add agpl-3.0.
56576         (Misc): Add nocrash.
56577
56578 2008-05-10  Bruno Haible  <bruno@clisp.org>
56579
56580         * modules/unictype/gen-ctype: New file.
56581
56582 2008-05-10  Jim Meyering  <meyering@redhat.com>
56583
56584         Make chdir-safer.c more efficient on a system with no symlinks.
56585         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56586         also if ELOOP is zero.  Suggested by Bruno Haible.
56587
56588         Make chdir-safer.c slightly safer.
56589         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56590         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56591
56592         Avoid compile failure on systems without ELOOP (like mingw).
56593         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56594         Reported by Bruno Haible.
56595
56596 2008-05-10  Bruno Haible  <bruno@clisp.org>
56597
56598         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56599         (is_utf8_encoding): Use a case-insensitive comparison.
56600         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56601         streq.
56602
56603 2008-05-10  Bruno Haible  <bruno@clisp.org>
56604
56605         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56606         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56607         * lib/unilbrk/ulc-common.h (iconv_string_length,
56608         iconv_string_keeping_offsets): Remove declarations.
56609         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56610         Don't include <iconv.h>, streq.h, xsize.h.
56611         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56612         conversion.
56613         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56614         <iconv.h>, streq.h, xsize.h.
56615         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56616         conversion.
56617         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56618         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56619         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56620         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56621
56622 2008-05-10  Bruno Haible  <bruno@clisp.org>
56623
56624         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56625         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56626
56627         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56628         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56629
56630         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56631         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56632
56633         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56634         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56635
56636         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56637         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56638
56639         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56640         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56641
56642         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56643         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56644
56645         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56646         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56647
56648 2008-05-10  Bruno Haible  <bruno@clisp.org>
56649
56650         Split up 'linebreak' module.
56651         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56652         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56653         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56654         modifications.
56655         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56656         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56657         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56658         lib/linebreak.c.
56659         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56660         lib/linebreak.c.
56661         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
56662         lib/linebreak.c.
56663         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
56664         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
56665         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
56666         lib/linebreak.c.
56667         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
56668         lib/linebreak.c.
56669         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
56670         lib/linebreak.c.
56671         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
56672         lib/linebreak.c.
56673         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
56674         lib/linebreak.c.
56675         * modules/unilbrk/base: New file.
56676         * modules/unilbrk/tables: New file.
56677         * modules/unilbrk/u8-possible-linebreaks: New file.
56678         * modules/unilbrk/u16-possible-linebreaks: New file.
56679         * modules/unilbrk/u32-possible-linebreaks: New file.
56680         * modules/unilbrk/ulc-common: New file.
56681         * modules/unilbrk/ulc-possible-linebreaks: New file.
56682         * modules/unilbrk/u8-width-linebreaks: New file.
56683         * modules/unilbrk/u16-width-linebreaks: New file.
56684         * modules/unilbrk/u32-width-linebreaks: New file.
56685         * modules/unilbrk/ulc-width-linebreaks: New file.
56686         * lib/linebreak.h: Remove file.
56687         * lib/linebreak.c: Remove file.
56688         * m4/linebreak.m4: Remove file.
56689         * modules/linebreak: Remove file.
56690         * NEWS: Mention the changes.
56691
56692 2008-05-09  Eric Blake  <ebb9@byu.net>
56693
56694         Add xmemdup0.
56695         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56696         implementation.
56697         * lib/xmalloc.c (xmemdup0): New C implementation.
56698
56699 2008-05-08  Bruno Haible  <bruno@clisp.org>
56700
56701         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56702
56703 2008-05-07  Eric Blake  <ebb9@byu.net>
56704
56705         Support cross-compilation of <wctype.h>.
56706         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56707         AC_CACHE_CHECK.
56708
56709 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56710
56711         * build-aux/vc-list-files: Add support for bzr.
56712
56713 2008-05-03  Jim Meyering  <meyering@redhat.com>
56714
56715         avoid failed assertion with tight malloc
56716         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56717
56718 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56719
56720         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56721         are needed from arpa/inet.h.
56722         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56723         Reported by Bruno Haible.
56724
56725 2008-05-02  Jim Meyering  <meyering@redhat.com>
56726
56727         avoid compilation error on FreeBSD 6
56728         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56729
56730 2008-05-01  Jim Meyering  <meyering@redhat.com>
56731
56732         useless-if-before-free: correct --help's exit status description
56733         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56734         for one or more matches, etc.  Reported by Bruno Haible.
56735
56736         vc-list-files: make the stand-alone gnulib test work
56737         * modules/vc-list-files-tests (configure.ac):
56738         Define and AC_SUBST abs_aux_dir.
56739         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56740         $(abs_top_srcdir) to each script and having each of them
56741         duplicate the work of setting PATH, set PATH here, using
56742         the new variable, abs_aux_dir instead.
56743         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56744         * tests/test-vc-list-files-git.sh: Likewise.
56745         Reported by Bruno Haible.
56746
56747 2008-05-01  Bruno Haible  <bruno@clisp.org>
56748
56749         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56750         reallocation. Rename 'done' to 'found_delimiter'.
56751
56752 2008-05-01  Jim Meyering  <meyering@redhat.com>
56753
56754         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56755         * build-aux/vc-list-files: Use `...`, not $(...).
56756
56757 2008-04-30  Jim Meyering  <meyering@redhat.com>
56758
56759         add tests for vc-list-files
56760         * modules/vc-list-files-tests: New module.
56761         * tests/test-vc-list-files-cvs.sh: New file.
56762         * tests/test-vc-list-files-git.sh: New file.
56763
56764         avoid a warning from gcc
56765         * lib/getndelim2.c (IF_LINT): Define.
56766         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56767
56768         vc-list-files: work properly with build-aux/cvsu, too
56769         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56770         to all cvs-based clauses.
56771
56772         vc-list-files: work properly in the CVS+awk case, too
56773         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56774
56775         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56776         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56777         take more than one file argument, so .  Add quotes, just in case $dir
56778         ever contains a shell meta-character.  Prompted by Soren Hansen in
56779         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56780
56781 2008-04-29  Eric Blake  <ebb9@byu.net>
56782
56783         Optimize getndelim2 to use block operations when possible.
56784         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56785         freadseek, and memchr2.
56786         * lib/getndelim2.c (getndelim2): Use them for block reads.
56787
56788 2008-04-29  Bruno Haible  <bruno@clisp.org>
56789
56790         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56791         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56792         * modules/inet_ntop (Depends-on): Add extensions.
56793         * modules/inet_pton (Depends-on): Likewise.
56794         Reported by Simon Josefsson.
56795
56796 2008-04-29  Jim Meyering  <meyering@redhat.com>
56797
56798         When the is more than one match in a block, match all of them.
56799         * build-aux/useless-if-before-free: Iterate through each block
56800         until there are no more matches.
56801
56802         Fix broken useless-if-before-free script.
56803         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56804         the expression to match cast of argument to free-like function.
56805
56806 2008-04-29  Eric Blake  <ebb9@byu.net>
56807
56808         Use new header.
56809         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56810
56811 2008-04-29  Jim Meyering  <meyering@redhat.com>
56812
56813         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56814         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56815         by gnulib to exist and to declare e.g., inet_ntop.
56816         Don't include "inet_ntop.h", now removed.
56817
56818         * m4/arpa_inet_h.m4: Remove trailing blanks.
56819
56820 2008-04-29  Eric Blake  <ebb9@byu.net>
56821
56822         Silence valgrind on safe reads beyond potential array bounds.
56823         * lib/rawmemchr.valgrind: New file.
56824         * lib/strchrnul.valgrind: Likewise.
56825         * modules/rawmemchr (Files): Distribute new file.
56826         * modules/strchrnul (Files): Likewise.
56827         Suggested by Bruno Haible.
56828
56829 2008-04-29  Bruno Haible  <bruno@clisp.org>
56830
56831         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56832         (inet_ntop, inet_pton): Change portability warning's wording.
56833         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56834         Invoke gl_CHECK_NEXT_HEADERS.
56835         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56836         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56837         set ARPA_INET_H.
56838         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56839         * modules/arpa_inet (Description): No longer only for systems that
56840         lack it.
56841         (Depends-on): Add include_next.
56842         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56843         HAVE_ARPA_INET_H.
56844
56845 2008-04-29  Jim Meyering  <meyering@redhat.com>
56846
56847         * modules/mkdir (License): Re-license as LGPLv2+.
56848
56849 2008-04-29  Bruno Haible  <bruno@clisp.org>
56850
56851         * modules/rawmemchr (Maintainer): Set to Eric.
56852         * modules/strchrnul (Maintainer): Likewise.
56853
56854 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56855
56856         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56857         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56858
56859         * modules/arpa_inet (arpa/inet.h): Use them.
56860
56861 2008-04-28  Eric Blake  <ebb9@byu.net>
56862
56863         Test getndelim2.
56864         * modules/getndelim2-tests: New file.
56865         * tests/test-getndelim2.c: Likewise.
56866         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56867         stream.
56868         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56869
56870         * MODULES.html.sh: Document new module.
56871
56872 2008-04-20  Bruno Haible  <bruno@clisp.org>
56873
56874         * lib/c-stack.c (die): Use raise.
56875         * modules/c-stack (Depends-on): Add raise.
56876
56877 2008-04-28  Bruno Haible  <bruno@clisp.org>
56878
56879         Expect rpmatch to be declared.
56880         * lib/yesno.c (rpmatch): Remove declaration.
56881
56882         Declare rpmatch.
56883         * lib/stdlib.in.h (rpmatch): New declaration.
56884         * lib/rpmatch.c: Include <stdlib.h> first.
56885         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56886         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56888         HAVE_RPMATCH.
56889         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56890         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56891         (Include): Set to <stdlib.h>.
56892         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56893         HAVE_RPMATCH.
56894         * NEWS: Document the change.
56895
56896 2008-04-28  Bruno Haible  <bruno@clisp.org>
56897
56898         Change rpmatch to use nl_langinfo when appropriate.
56899         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56900         (N_): New macro.
56901         (localized_pattern): New function/macro.
56902         (try): Remove match, nomatch arguments. Copy the pattern into safe
56903         memory before caching it.
56904         (rpmatch): Use localized_pattern. Add translator comments.
56905         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56906         Suggested by Eric Blake.
56907         * modules/rpmatch (Depends-on): Add stdbool.
56908
56909 2008-04-28  Eric Blake  <ebb9@byu.net>
56910
56911         Add rawmemchr module, matching glibc.
56912         * modules/string (Makefile.am): New indicator.
56913         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56914         * lib/string.in.h (rawmemchr): Declare when appropriate.
56915         * modules/rawmemchr: New file.
56916         * m4/rawmemchr.m4: Likewise.
56917         * lib/rawmemchr.c: Likewise.
56918         * modules/rawmemchr-tests: Likewise.
56919         * tests/test-rawmemchr.c: Likewise.
56920         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56921         module.
56922         * modules/strchrnul (Depends-on): Add rawmemchr.
56923         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56924
56925         Whitespace cleanup.
56926         * tests/test-strchrnul.c: Reindent.
56927         * lib/strchrnul.c: Likewise.
56928
56929         Optimize and test strchrnul.
56930         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56931         * modules/strchrnul-tests: New file.
56932         * tests/test-strchrnul.c: Likewise.
56933
56934         Remove intprops dependency.
56935         * modules/memchr (Depends-on): Remove intprops.
56936         * modules/memrchr (Depends-on): Likewise.
56937         * modules/memchr2 (Depends-on): Likewise.
56938         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56939         * lib/memrchr.c (__memrchr): Likewise.
56940         * lib/memrchr2.c (memchr2): Likewise.
56941         Reported by Simon Josefsson.
56942
56943 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56944
56945         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56946         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56947
56948 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56949
56950         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56951
56952         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56953
56954         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56955
56956         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56957         declarations.
56958         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56959
56960         * m4/inet_pton.m4: Don't check for header files.
56961
56962         * m4/inet_ntop.m4: Don't check for header files.
56963
56964 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56965
56966         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56967         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56968         trigger for cygwin).
56969         Reported by Bruno Haible  <bruno@clisp.org>.
56970
56971 2008-04-28  Bruno Haible  <bruno@clisp.org>
56972
56973         * doc/posix-functions/strdup.texi: Mention mingw problem.
56974
56975 2008-04-27  Bruno Haible  <bruno@clisp.org>
56976
56977         * modules/stat-time-tests (Depends-on): Add sleep.
56978         * tests/test-stat-time.c (force_unlink): New function.
56979         (cleanup): Use it.
56980         (test_mtime): Remove the ctime related tests.
56981         (test_ctime): New function, containing the ctime related tests.
56982         (main): Call test_ctime, except on native Windows platforms.
56983
56984 2008-04-27  Bruno Haible  <bruno@clisp.org>
56985
56986         * lib/rpmatch.c (rpmatch): Add some comments.
56987         Reported by James Youngman <jay@gnu.org>.
56988
56989 2008-04-27  Bruno Haible  <bruno@clisp.org>
56990
56991         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56992         quiet NaNs.
56993
56994 2008-04-27  Bruno Haible  <bruno@clisp.org>
56995
56996         Make test-yesno.sh work on mingw.
56997         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
56998         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
56999         (main): Set stdin to binary mode.
57000         * modules/yesno-tests (Depends-on): Add binary-io.
57001
57002 2008-04-27  Bruno Haible  <bruno@clisp.org>
57003
57004         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57005         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57006         argument that lie outside the IEEE 854 domain.
57007         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57008         (gl_ISFINITE): Use it.
57009         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57010
57011 2008-04-27  Bruno Haible  <bruno@clisp.org>
57012
57013         Allow local renaming in config.h.
57014         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57015
57016 2008-04-27  Bruno Haible  <bruno@clisp.org>
57017
57018         * lib/memchr.c (__memchr): Change type of 'i'.
57019         * lib/memchr2.c (memchr2): Likewise.
57020
57021 2008-04-26  Eric Blake  <ebb9@byu.net>
57022         and Bruno Haible  <bruno@clisp.org>
57023
57024         Optimize and test memrchr.
57025         * modules/memrchr (Depends-on): Add intprops.
57026         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57027         * modules/memrchr-tests: New file.
57028         * tests/test-memrchr.c: New file.
57029
57030 2008-04-26  Bruno Haible  <bruno@clisp.org>
57031
57032         Add tentative support for DragonFly BSD.
57033         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57034         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57035         fp.
57036         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57037         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57038         * lib/fpurge.c (fpurge): Likewise.
57039         * lib/freadable.c (freaadable): Likewise.
57040         * lib/freadahead.c (freadahead): Likewise.
57041         * lib/freading.c (freading): Likewise.
57042         * lib/freadptr.c (freadptr): Likewise.
57043         * lib/freadseek.c (freadptrinc): Likewise.
57044         * lib/fseeko.c (fseeko): Likewise.
57045         * lib/fseterr.c (fseterr): Likewise.
57046         * lib/fwritable.c (fwritable): Likewise.
57047         * lib/fwriting.c (fwriting): Likewise.
57048
57049 2008-04-26  Bruno Haible  <bruno@clisp.org>
57050
57051         * lib/stdio-impl.h: New file.
57052         * lib/fbufmode.c: Include stdio-impl.h.
57053         (fbufmode): Use fp_, remove redundant #defines.
57054         * lib/fflush.c: Include stdio-impl.h.
57055         (clear_ungetc_buffer): Remove redundant #defines.
57056         * lib/fpurge.c: Include stdio-impl.h.
57057         (fpurge): Remove redundant #defines.
57058         * lib/freadable.c: Include stdio-impl.h.
57059         (freadable): Remove redundant #defines.
57060         * lib/freadahead.c: Include stdio-impl.h.
57061         (freadahead): Remove redundant #defines.
57062         * lib/freading.c: Include stdio-impl.h.
57063         (freading): Remove redundant #defines.
57064         * lib/freadptr.c: Include stdio-impl.h.
57065         (freadptr): Remove redundant #defines.
57066         * lib/freadseek.c: Include stdio-impl.h.
57067         (freadptrinc): Remove redundant #defines.
57068         * lib/fseeko.c: Include stdio-impl.h.
57069         (rpl_fseeko): Remove redundant #defines.
57070         * lib/fseterr.c: Include stdio-impl.h.
57071         (fseterr): Remove redundant #defines.
57072         * lib/fwritable.c: Include stdio-impl.h.
57073         (fwritable: Remove redundant #defines.
57074         * lib/fwriting.c: Include stdio-impl.h.
57075         (fwriting): Remove redundant #defines.
57076         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57077         * modules/fflush (Files): Likewise.
57078         * modules/fpurge (Files): Likewise.
57079         * modules/freadable (Files): Likewise.
57080         * modules/freadahead (Files): Likewise.
57081         * modules/freading (Files): Likewise.
57082         * modules/freadptr (Files): Likewise.
57083         * modules/freadseek (Files): Likewise.
57084         * modules/fseeko (Files): Likewise.
57085         * modules/fseterr (Files): Likewise.
57086         * modules/fwritable (Files): Likewise.
57087         * modules/fwriting (Files): Likewise.
57088
57089 2008-04-26  Bruno Haible  <bruno@clisp.org>
57090
57091         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57092         restore_seek_optimization, update_fpos_cache): New functions, extracted
57093         from rpl_fflush.
57094         (rpl_fflush): Use them.
57095         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57096         (gl_REPLACE_FFLUSH): Use it.
57097
57098 2008-04-26  Bruno Haible  <bruno@clisp.org>
57099
57100         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57101         on Solaris.
57102         * tests/test-xstrtoimax.sh: Likewise.
57103         * tests/test-xstrtoumax.sh: Likewise.
57104         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57105
57106 2008-04-26  Bruno Haible  <bruno@clisp.org>
57107
57108         * modules/memchr-tests: New file.
57109         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57110
57111 2008-04-26  Eric Blake  <ebb9@byu.net>
57112             Bruno Haible  <bruno@clisp.org>
57113
57114         * lib/memchr.c: Include intprops.h.
57115         (__memchr): Optimize parallel detection of matching bytes. Rename local
57116         variables. Add explanatory comments.
57117
57118 2008-04-26  Bruno Haible  <bruno@clisp.org>
57119
57120         Fix module 'memchr', broken since 2000-10-28.
57121         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57122
57123 2008-04-26  Bruno Haible  <bruno@clisp.org>
57124
57125         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57126         comments.
57127
57128 2008-04-25  Eric Blake  <ebb9@byu.net>
57129
57130         Use native fstatat on cygwin 1.7.0.
57131         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57132         first.
57133
57134 2008-04-23  Eric Blake  <ebb9@byu.net>
57135
57136         Improve memchr2 performance.
57137         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57138         NUL bytes.
57139         * modules/memchr2 (Depends-on): Use intprops.h.
57140
57141 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57142
57143         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57144         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57145         <blp@cs.stanford.edu>.
57146
57147 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57148
57149         * lib/arpa_inet.in.h: New file.
57150
57151         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57152         (Makefile.am): Sed in substitute header file.
57153
57154         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57155         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57156
57157         * modules/inet_ntop (configure.ac): Use
57158         gl_ARPA_INET_MODULE_INDICATOR.
57159
57160         * modules/inet_pton (configure.ac): Use
57161         gl_ARPA_INET_MODULE_INDICATOR.
57162
57163 2008-04-22  Jim Meyering  <meyering@redhat.com>
57164
57165         * modules/verify (License): Re-license as LGPLv2+.
57166
57167 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57168
57169         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57170         parameter to void* as per POSIX standard (MinGW uses char*).
57171
57172 2008-04-21  Bruno Haible  <bruno@clisp.org>
57173
57174         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57175         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57176         Define to replacements if REPLACE_ISWCNTRL is 1.
57177         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57178         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57179         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57180         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57181         what it fixes.
57182         * doc/posix-functions/iswalpha.texi: Likewise.
57183         * doc/posix-functions/iswblank.texi: Likewise.
57184         * doc/posix-functions/iswcntrl.texi: Likewise.
57185         * doc/posix-functions/iswdigit.texi: Likewise.
57186         * doc/posix-functions/iswgraph.texi: Likewise.
57187         * doc/posix-functions/iswlower.texi: Likewise.
57188         * doc/posix-functions/iswprint.texi: Likewise.
57189         * doc/posix-functions/iswpunct.texi: Likewise.
57190         * doc/posix-functions/iswspace.texi: Likewise.
57191         * doc/posix-functions/iswupper.texi: Likewise.
57192         * doc/posix-functions/iswxdigit.texi: Likewise.
57193         Reported by Alain Guibert.
57194
57195 2008-04-21  Bruno Haible  <bruno@clisp.org>
57196
57197         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57198         Patch by Alain Guibert.
57199
57200 2008-04-21  Bruno Haible  <bruno@clisp.org>
57201
57202         Fix test failures on mingw.
57203         * tests/test-xstrtol.c (print_no_progname): New function.
57204         (main): Install it in error_print_progname hook.
57205         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57206         * tests/test-xstrtoimax.sh: Likewise.
57207         * tests/test-xstrtoumax.sh: Likewise.
57208
57209 2008-04-21  Bruno Haible  <bruno@clisp.org>
57210
57211         Fix test failure on mingw.
57212         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57213
57214 2008-04-21  Bruno Haible  <bruno@clisp.org>
57215
57216         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57217         Actually assign a value.
57218
57219 2008-04-20  Bruno Haible  <bruno@clisp.org>
57220
57221         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57222         take 2.
57223         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57224         'canonicalize-lgpl' module is also used.
57225         * lib/canonicalize-lgpl.c: Undo last change.
57226         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57227
57228 2008-04-20  Bruno Haible  <bruno@clisp.org>
57229
57230         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57231         config.h. Provide _mkdir based fallback for mingw.
57232         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57233         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57234         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57235         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57236         rather than defining mkdir in config.h.
57237         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57238         (gl_SYS_STAT_H_DEFAULTS): New macro.
57239         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57240         HAVE_IO_H any more.
57241         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57242         HAVE_DECL_MKDIR and HAVE_IO_H.
57243
57244 2008-04-20  Bruno Haible  <bruno@clisp.org>
57245
57246         * lib/isapipe.c: Port to native Windows platforms.
57247
57248 2008-04-20  Bruno Haible  <bruno@clisp.org>
57249
57250         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57251
57252 2008-04-21  Eric Blake  <ebb9@byu.net>
57253
57254         Work around preprocessors that don't handle UINTMAX_MAX.
57255         * lib/memchr2.c (memchr2): Avoid embedded #if.
57256         Reported by Alain Guibert, fix suggested by Bruno Haible.
57257
57258 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57259
57260         * doc/posix-functions/strftime.texi (strftime): Explain better
57261         Windows incompatibility.  Suggested by Micah Cowan
57262         <micah@cowan.name>.
57263
57264 2008-04-20  Bruno Haible  <bruno@clisp.org>
57265
57266         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57267         unistr/u8-mblen.
57268
57269 2008-04-20  Bruno Haible  <bruno@clisp.org>
57270
57271         Fix test failure on platforms with non-GNU iconv.
57272         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57273         (U_TO_U8): Use it, rather than u16_to_u8.
57274         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57275         units at the end of the input string.
57276         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57277
57278 2008-04-20  Bruno Haible  <bruno@clisp.org>
57279
57280         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57281         when the resulting length is 0.
57282         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57283
57284 2008-04-20  Bruno Haible  <bruno@clisp.org>
57285
57286         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57287         works.
57288         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57289
57290 2008-04-20  Bruno Haible  <bruno@clisp.org>
57291
57292         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57293         * modules/tsearch-tests (configure.ac): Test for initstate function.
57294
57295 2008-04-20  Bruno Haible  <bruno@clisp.org>
57296
57297         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57298         for nlink_t if missing.
57299         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57300
57301 2008-04-19  Bruno Haible  <bruno@clisp.org>
57302
57303         Work around snprintf bug on Linux libc5.
57304         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57305         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57306         gl_SNPRINTF_SIZE1.
57307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57308         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57309         that test failed.
57310         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57311         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57312         * modules/snprintf (Files): Add m4/printf.m4.
57313         * modules/vsnprintf (Files): Likewise.
57314         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57315         * doc/posix-functions/vsnprintf.texi: Likewise.
57316
57317 2008-04-19  Bruno Haible  <bruno@clisp.org>
57318
57319         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57320         from 0.0058 to less than 10^-7.
57321
57322 2008-04-19  Bruno Haible  <bruno@clisp.org>
57323
57324         Fix rounding when a precision is given.
57325         * lib/vasnprintf.c (is_borderline): New function.
57326         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57327         9...9x.
57328         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57329         %e, %g.
57330         * tests/test-vasprintf-posix.c (test_function): Likewise.
57331         * tests/test-snprintf-posix.h (test_function): Likewise.
57332         * tests/test-sprintf-posix.h (test_function): Likewise.
57333         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57334         * tests/test-printf-posix.h (test_function): Likewise.
57335         * tests/test-printf-posix.output: Update.
57336         Reported by John Darrington <john@darrington.wattle.id.au> via
57337         Ben Pfaff <blp@cs.stanford.edu>.
57338
57339 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57340
57341         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57342         Suggested by Bruno Haible <bruno@clisp.org>.
57343
57344 2008-04-17  Bruno Haible  <bruno@clisp.org>
57345
57346         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57347         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57348         implementation.
57349         Patch by Bruce Merry <bmerry@gmail.com>.
57350
57351 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57352
57353         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57354         doesn't work under Windows.
57355
57356 2008-04-16  Bruno Haible  <bruno@clisp.org>
57357
57358         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57359         New macros.
57360         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57361         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57362         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57363         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57364         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57365         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57366         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57367         macros.
57368         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57369         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57370         Northern Sotho, Uighur.
57371
57372 2008-04-16  Bruno Haible  <bruno@clisp.org>
57373
57374         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57375         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57376         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57377         Reported by Daniel Bergström <daniel@octocode.com>.
57378
57379 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57380             Bruno Haible  <bruno@clisp.org>
57381
57382         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57383         function.
57384         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57385         New functions, mostly extracted from gl_locale_name_default.
57386         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57387
57388 2008-04-16  Eric Blake  <ebb9@byu.net>
57389
57390         Adjust strtod detection to catch glibc 2.7 bug.
57391         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57392         Reported by John Gatewood Ham.
57393
57394 2008-04-16  Bruno Haible  <bruno@clisp.org>
57395
57396         Add tentative support for Linux libc5.
57397         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57398         * lib/fpurge.c (fpurge): Likewise.
57399         * lib/freadable.c (freadable): Likewise.
57400         * lib/freadahead.c (freadahead): Likewise.
57401         * lib/freading.c (freading): Likewise.
57402         * lib/freadptr.c (freadptr): Likewise.
57403         * lib/freadseek.c (freadptrinc): Likewise.
57404         * lib/fseeko.c (rpl_fseeko): Likewise.
57405         * lib/fseterr.c (fseterr): Likewise.
57406         * lib/fwritable.c (fwritable): Likewise.
57407         * lib/fwriting.c (fwriting): Likewise.
57408         Reported by Alain Guibert <alguibert+bts@free.fr>.
57409
57410 2008-04-15  Bruno Haible  <bruno@clisp.org>
57411
57412         * modules/mathl (configure.ac): Define module indicator.
57413
57414 2008-04-15  Bruno Haible  <bruno@clisp.org>
57415
57416         * lib/logl.c (logl): Remove unused variables.
57417
57418 2008-04-15  Bruno Haible  <bruno@clisp.org>
57419
57420         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57421         fails.
57422
57423 2008-04-15  Bruno Haible  <bruno@clisp.org>
57424
57425         * lib/trim.c (trim2): Fix argument of isspace() macro.
57426
57427 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57428
57429         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57430         to 0.
57431         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57432
57433 2008-04-14  Bruno Haible  <bruno@clisp.org>
57434
57435         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57436         AC_LANG_PROGRAM argument.
57437         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57438         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57439         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57440         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57441         * m4/math_h.m4 (gl_MATH_H): Likewise.
57442         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57443         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57444         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57445         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57446         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57447         * m4/regex.m4 (gl_REGEX): Likewise.
57448         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57449         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57450         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57451         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57452         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57453         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57454         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57455         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57456
57457 2008-04-14  Jim Meyering  <meyering@redhat.com>
57458
57459         test-strtod: fix typos: s/abs/fabs/
57460         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57461
57462 2008-04-13  Bruno Haible  <bruno@clisp.org>
57463
57464         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57465         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57466         module is also used and while not building the reloc-wrapper.
57467
57468 2008-04-13  Bruno Haible  <bruno@clisp.org>
57469
57470         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57471
57472 2008-04-13  Bruno Haible  <bruno@clisp.org>
57473
57474         Fix AIX compilation failure introduced on 2008-04-02.
57475         * tests/test-frexp.c (exp): Undefine before redefining.
57476         * tests/test-frexpl.c (exp): Likewise.
57477
57478 2008-04-13  Bruno Haible  <bruno@clisp.org>
57479
57480         Work around a HP-UX stdio bug.
57481         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57482         * tests/test-ftello.c (main): Likewise.
57483         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57484         * doc/posix-functions/ftello.texi: Likewise.
57485
57486 2008-04-13  Bruno Haible  <bruno@clisp.org>
57487
57488         Make test-signbit pass on HP-UX/hppa.
57489         * tests/test-signbit.c (minus_zerol): New variable.
57490         (test_signbitl): Use it.
57491
57492 2008-04-13  Bruno Haible  <bruno@clisp.org>
57493
57494         Make truncl work on OSF/1 4.0.
57495         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57496         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57497         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57498         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57499         HAVE_DECL_TRUNCL.
57500         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57501         HAVE_DECL_TRUNCL.
57502         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57503
57504 2008-04-13  Bruno Haible  <bruno@clisp.org>
57505
57506         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57507
57508 2008-04-13  Bruno Haible  <bruno@clisp.org>
57509
57510         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57511         expression, so as to avoid HP-UX 11 cc compiler bug.
57512
57513 2008-04-13  Bruno Haible  <bruno@clisp.org>
57514
57515         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57516
57517 2008-04-13  Bruno Haible  <bruno@clisp.org>
57518
57519         * lib/git-merge-changelog.c: Remove empty declaration outside of
57520         functions.
57521
57522 2008-04-13  Bruno Haible  <bruno@clisp.org>
57523
57524         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57525
57526 2008-04-13  Bruno Haible  <bruno@clisp.org>
57527
57528         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57529         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57530         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57531         also if it exists but lacks definitions of the SHUT_* macros.
57532         * modules/sys_socket (Description): Update.
57533         Reported by Elbert Pol <e.pol@chello.nl>.
57534
57535 2008-04-13  Bruno Haible  <bruno@clisp.org>
57536
57537         * lib/localcharset.c (OS2): Don't redefine if already defined.
57538         Reported by Elbert Pol <e.pol@chello.nl>.
57539
57540 2008-04-13  Bruno Haible  <bruno@clisp.org>
57541
57542         * lib/binary-io.h [__EMX__]: Include <io.h>.
57543         Reported by Elbert Pol <e.pol@chello.nl>.
57544
57545 2008-04-12  Bruno Haible  <bruno@clisp.org>
57546
57547         * lib/fpucw.h: Enable the definitions also for x86_64.
57548         Needed for NetBSD/x86_64.
57549         Reported by Thomas Klausner <tk@giga.or.at>.
57550
57551 2008-04-12  Bruno Haible  <bruno@clisp.org>
57552
57553         * tests/test-strtod.c: Include isnand.h.
57554         (main): Use isnand instead of isnan.
57555         Reported by Jim Meyering.
57556
57557 2008-04-12  Bruno Haible  <bruno@clisp.org>
57558
57559         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57560         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57561
57562 2008-04-12  Jim Meyering  <meyering@redhat.com>
57563
57564         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57565
57566 2008-04-12  Bruno Haible  <bruno@clisp.org>
57567
57568         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57569         Reported by Elbert Pol <e.pol@chello.nl>.
57570
57571 2008-04-12  Eric Blake  <ebb9@byu.net>
57572
57573         Work around Solaris 10 math.h bug.
57574         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57575         (gl_MATH_H_DEFAULTS): Set up default.
57576         * modules/math (Makefile.am): Replace new indicators.
57577         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57578         * tests/test-math.c (main): Test this.
57579         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57580         * doc/posix-headers/math.texi (math.h): Mention bug.
57581         Reported by Nelson H. F. Beebe and Jim Meyering.
57582
57583 2008-04-11  Bruno Haible  <bruno@clisp.org>
57584
57585         Adapt to future versions of Apple GCC.
57586         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57587         Reported by Peter O'Gorman <peter@pogma.com>.
57588
57589 2008-04-11  Bruno Haible  <bruno@clisp.org>
57590
57591         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57592
57593 2008-04-11  Bruno Haible  <bruno@clisp.org>
57594
57595         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57596
57597         * modules/getaddrinfo-tests (Makefile.am): Define
57598         test_getaddrinfo_LDADD.
57599
57600 2008-04-11  Bruno Haible  <bruno@clisp.org>
57601
57602         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57603         (init): Fix syntax error.
57604         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57605         is declared.
57606
57607 2008-04-11  Bruno Haible  <bruno@clisp.org>
57608
57609         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57610         * modules/glob (Depends-on): Add stdbool.
57611
57612 2008-04-11  Bruno Haible  <bruno@clisp.org>
57613
57614         * lib/trim.c: Include <string.h>.
57615
57616 2008-04-11  Eric Blake  <ebb9@byu.net>
57617
57618         Avoid compile failure on OS/2.
57619         * lib/regex_internal.h (internal_function): Disable optimization
57620         on OS/2 (__EMX__), where it caused compiler error.
57621         Reported by Elbert Pol.
57622
57623 2008-04-11  Bruno Haible  <bruno@clisp.org>
57624
57625         Flush the standard error stream before aborting. Needed on mingw.
57626         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57627         * tests/test-array_list.c (ASSERT): Likewise.
57628         * tests/test-array_oset.c (ASSERT): Likewise.
57629         * tests/test-avltree_list.c (ASSERT): Likewise.
57630         * tests/test-avltree_oset.c (ASSERT): Likewise.
57631         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57632         * tests/test-binary-io.c (ASSERT): Likewise.
57633         * tests/test-byteswap.c (ASSERT): Likewise.
57634         * tests/test-c-ctype.c (ASSERT): Likewise.
57635         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57636         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57637         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57638         * tests/test-c-strstr.c (ASSERT): Likewise.
57639         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57640         * tests/test-canonicalize.c (ASSERT): Likewise.
57641         * tests/test-carray_list.c (ASSERT): Likewise.
57642         * tests/test-ceilf1.c (ASSERT): Likewise.
57643         * tests/test-ceilf2.c (ASSERT): Likewise.
57644         * tests/test-ceill.c (ASSERT): Likewise.
57645         * tests/test-count-one-bits.c (ASSERT): Likewise.
57646         * tests/test-fbufmode.c (ASSERT): Likewise.
57647         * tests/test-fflush2.c (ASSERT): Likewise.
57648         * tests/test-floorf1.c (ASSERT): Likewise.
57649         * tests/test-floorf2.c (ASSERT): Likewise.
57650         * tests/test-floorl.c (ASSERT): Likewise.
57651         * tests/test-fopen.c (ASSERT): Likewise.
57652         * tests/test-fpending.c (ASSERT): Likewise.
57653         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57654         * tests/test-fpurge.c (ASSERT): Likewise.
57655         * tests/test-freadable.c (ASSERT): Likewise.
57656         * tests/test-freadahead.c (ASSERT): Likewise.
57657         * tests/test-freading.c (ASSERT): Likewise.
57658         * tests/test-freadptr.c (ASSERT): Likewise.
57659         * tests/test-freadptr2.c (ASSERT): Likewise.
57660         * tests/test-freadseek.c (ASSERT): Likewise.
57661         * tests/test-freopen.c (ASSERT): Likewise.
57662         * tests/test-frexp.c (ASSERT): Likewise.
57663         * tests/test-frexpl.c (ASSERT): Likewise.
57664         * tests/test-fseek.c (ASSERT): Likewise.
57665         * tests/test-fseeko.c (ASSERT): Likewise.
57666         * tests/test-fstrcmp.c (ASSERT): Likewise.
57667         * tests/test-ftell.c (ASSERT): Likewise.
57668         * tests/test-ftello.c (ASSERT): Likewise.
57669         * tests/test-func.c (ASSERT): Likewise.
57670         * tests/test-fwritable.c (ASSERT): Likewise.
57671         * tests/test-fwriting.c (ASSERT): Likewise.
57672         * tests/test-getdelim.c (ASSERT): Likewise.
57673         * tests/test-getline.c (ASSERT): Likewise.
57674         * tests/test-i-ring.c (ASSERT): Likewise.
57675         * tests/test-iconv-utf.c (ASSERT): Likewise.
57676         * tests/test-iconv.c (ASSERT): Likewise.
57677         * tests/test-isfinite.c (ASSERT): Likewise.
57678         * tests/test-isnand.c (ASSERT): Likewise.
57679         * tests/test-isnanf.c (ASSERT): Likewise.
57680         * tests/test-isnanl.h (ASSERT): Likewise.
57681         * tests/test-ldexpl.c (ASSERT): Likewise.
57682         * tests/test-linked_list.c (ASSERT): Likewise.
57683         * tests/test-linkedhash_list.c (ASSERT): Likewise.
57684         * tests/test-localename.c (ASSERT): Likewise.
57685         * tests/test-lseek.c (ASSERT): Likewise.
57686         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57687         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57688         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57689         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57690         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57691         * tests/test-mbschr.c (ASSERT): Likewise.
57692         * tests/test-mbscspn.c (ASSERT): Likewise.
57693         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57694         * tests/test-mbspbrk.c (ASSERT): Likewise.
57695         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57696         * tests/test-mbsrchr.c (ASSERT): Likewise.
57697         * tests/test-mbsspn.c (ASSERT): Likewise.
57698         * tests/test-mbsstr1.c (ASSERT): Likewise.
57699         * tests/test-mbsstr2.c (ASSERT): Likewise.
57700         * tests/test-mbsstr3.c (ASSERT): Likewise.
57701         * tests/test-memchr2.c (ASSERT): Likewise.
57702         * tests/test-memmem.c (ASSERT): Likewise.
57703         * tests/test-open.c (ASSERT): Likewise.
57704         * tests/test-printf-frexp.c (ASSERT): Likewise.
57705         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57706         * tests/test-printf-posix.c (ASSERT): Likewise.
57707         * tests/test-quotearg.c (ASSERT): Likewise.
57708         * tests/test-rbtree_list.c (ASSERT): Likewise.
57709         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57710         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57711         * tests/test-round1.c (ASSERT): Likewise.
57712         * tests/test-roundf1.c (ASSERT): Likewise.
57713         * tests/test-roundl.c (ASSERT): Likewise.
57714         * tests/test-signbit.c (ASSERT): Likewise.
57715         * tests/test-sleep.c (ASSERT): Likewise.
57716         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57717         * tests/test-snprintf.c (ASSERT): Likewise.
57718         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57719         * tests/test-stat-time.c (ASSERT): Likewise.
57720         * tests/test-strcasestr.c (ASSERT): Likewise.
57721         * tests/test-strerror.c (ASSERT): Likewise.
57722         * tests/test-striconv.c (ASSERT): Likewise.
57723         * tests/test-striconveh.c (ASSERT): Likewise.
57724         * tests/test-striconveha.c (ASSERT): Likewise.
57725         * tests/test-strsignal.c (ASSERT): Likewise.
57726         * tests/test-strstr.c (ASSERT): Likewise.
57727         * tests/test-strtod.c (ASSERT): Likewise.
57728         * tests/test-trunc1.c (ASSERT): Likewise.
57729         * tests/test-trunc2.c (ASSERT): Likewise.
57730         * tests/test-truncf1.c (ASSERT): Likewise.
57731         * tests/test-truncf2.c (ASSERT): Likewise.
57732         * tests/test-truncl.c (ASSERT): Likewise.
57733         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57734         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57735         * tests/test-vasnprintf.c (ASSERT): Likewise.
57736         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57737         * tests/test-vasprintf.c (ASSERT): Likewise.
57738         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57739         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57740         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57741         * tests/test-vsnprintf.c (ASSERT): Likewise.
57742         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57743         * tests/test-wcwidth.c (ASSERT): Likewise.
57744         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57745         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57746         * tests/test-xvasprintf.c (ASSERT): Likewise.
57747         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57748         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57749         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57750         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57751         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57752         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57753         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57754         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57755         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57756         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57757         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57758         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57759         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57760         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57761         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57762         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57763         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57764         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57765         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57766         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57767         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57768         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57769         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57770         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57771         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57772         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57773         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57774         * tests/unictype/test-combining.c (ASSERT): Likewise.
57775         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57776         * tests/unictype/test-digit.c (ASSERT): Likewise.
57777         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57778         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57779         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57780         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57781         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57782         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57783         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57784         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57785         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57786         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57787         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57788         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57789         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57790         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57791         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57792         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57793         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57794         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57795         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57796         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57797         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57798         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57799         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57800         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57801         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57802         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57803         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57804         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57805         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57806         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57807         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57808         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57809         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57810         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57811         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57812         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57813         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57814         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57815         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57816         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57817         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57818         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57819         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57820         Reported by Eric Blake.
57821
57822 2008-04-11  Bruno Haible  <bruno@clisp.org>
57823
57824         * lib/wchar.in.h: Tweak comment.
57825
57826 2008-04-11  Bruno Haible  <bruno@clisp.org>
57827
57828         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57829         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57830         gl_COMMON.
57831         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57832
57833 2008-04-11  Bruno Haible  <bruno@clisp.org>
57834
57835         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57836
57837 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57838
57839         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57840         of attempting to use non-existing /dev/*random.  Based on patch
57841         from Adam Strzelecki <ono@java.pl> in
57842         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57843
57844 2008-04-08  Bruno Haible  <bruno@clisp.org>
57845
57846         Add tentative support for emx+gcc.
57847         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57848         * lib/fpurge.c (fpurge): Likewise.
57849         * lib/freadable.c (freadable): Likewise.
57850         * lib/freadahead.c (freadahead): Likewise.
57851         * lib/freading.c (freading): Likewise.
57852         * lib/freadptr.c (freadptr): Likewise.
57853         * lib/freadseek.c (freadptrinc): Likewise.
57854         * lib/fseeko.c (rpl_fseeko): Likewise.
57855         * lib/fseterr.c (fseterr): Likewise.
57856         * lib/fwritable.c (fwritable): Likewise.
57857         * lib/fwriting.c (fwriting): Likewise.
57858         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57859
57860 2008-04-09  Eric Blake  <ebb9@byu.net>
57861
57862         Avoid some autoconf warnings.
57863         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57864         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57865         * m4/afs.m4 (gl_AFS): Likewise.
57866         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57867         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57868         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57869         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57870         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57871         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57872         (AC_CHECK_DECLS_ONCE): Likewise.
57873         Rename file...
57874         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57875         gnulib-tool requires autoconf 2.59 or better.
57876         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57877
57878 2008-04-08  Eric Blake  <ebb9@byu.net>
57879
57880         Use 'git describe --match' if present (added in git 1.5.5).
57881         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57882         if possible.
57883
57884 2008-04-08  Bruno Haible  <bruno@clisp.org>
57885
57886         Add tentative support for OpenServer.
57887         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57888         _ptr, _cnt.
57889         * lib/fpurge.c (fpurge): Likewise.
57890         * lib/freadable.c (freadable): Likewise.
57891         * lib/freadahead.c (freadahead): Likewise.
57892         * lib/freading.c (freading): Likewise.
57893         * lib/freadptr.c (freadptr): Likewise.
57894         * lib/freadseek.c (freadptrinc): Likewise.
57895         * lib/fseeko.c (rpl_fseeko): Likewise.
57896         * lib/fseterr.c (fseterr): Likewise.
57897         * lib/fwritable.c (fwritable): Likewise.
57898         * lib/fwriting.c (fwriting): Likewise.
57899         Reported by Roger Cornelius <rac@tenzing.org> and
57900         Brian K. White <brian@aljex.com>.
57901
57902 2008-04-06  Jim Meyering  <meyering@redhat.com>
57903
57904         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57905
57906 2008-04-06  Bruno Haible  <bruno@clisp.org>
57907
57908         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57909         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57910         * tests/test-printf-posix.sh: Likewise.
57911         * tests/test-vfprintf-posix.sh: Likewise.
57912         * tests/test-vprintf-posix.sh: Likewise.
57913         * tests/test-xprintf-posix.sh: Likewise.
57914
57915 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57916
57917         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57918         hide error from 'ls', needed on OS/2.
57919         Report by Elbert Pol <elbert.pol@gmail.com>.
57920
57921 2008-04-04  Eric Blake  <ebb9@byu.net>
57922
57923         Make test-fseeko.c failures meaningful.
57924         * tests/test-fseeko.c: Print line number on failure.
57925         * tests/test-fseek.c: Likewise.
57926         Reported by Nelson H. F. Beebe.
57927
57928         Improve strtod bug detection check.
57929         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57930         required for Solaris 10.
57931         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57932
57933 2008-04-04  Bruno Haible  <bruno@clisp.org>
57934
57935         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57936         by m4/setenv.m4.
57937
57938 2008-04-03  Eric Blake  <ebb9@byu.net>
57939
57940         Ensure sane .version contents.
57941         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57942         version string.
57943         * build-aux/git-version-gen: Improve documentation.
57944
57945         Make GNU make output nicer.
57946         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57947         MAKECMDGOALS to enforce message for all command line targets.  Set
57948         srcdir for use in maint.mk.
57949
57950         Another maintainer tweak.
57951         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57952         a target that regenerates version.
57953
57954 2008-04-03  Jim Meyering  <meyering@redhat.com>
57955
57956         vc-list-files: don't cause coreutils "make po-check" failure
57957         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57958
57959 2008-04-03  Eric Blake  <ebb9@byu.net>
57960
57961         Allow VPATH usage of vc-list-files.
57962         * build-aux/vc-list-files (scriptversion): Add timestamp.
57963         (options): Add --help, --version, -C.
57964         (CVS): Support installed cvsu.
57965
57966 2008-04-02  Bruno Haible  <bruno@clisp.org>
57967
57968         Avoid some "statement with no effect" warnings from gcc.
57969         * tests/test-wctype.c (main): Explicitly ignore unused values.
57970         Reported by Jim Meyering.
57971
57972 2008-04-02  Jim Meyering  <meyering@redhat.com>
57973
57974         Avoid some warnings from "gcc -Wshadow".
57975         * tests/test-frexp.c (exp): Define to a different identifier.
57976         * tests/test-frexpl.c (exp): Likewise.
57977
57978 2008-04-03  Jim Meyering  <meyering@redhat.com>
57979
57980         bootstrap: remove dangling *.[ch] symlinks from lib
57981         * build-aux/bootstrap [dangling symlink removal]: Move find's
57982         -depth option to precede all others, to avoid a warning.
57983         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57984
57985 2008-04-02  Bruno Haible  <bruno@clisp.org>
57986
57987         Avoid some warnings from "gcc -Wshadow".
57988         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57989         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57990         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57991         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57992         Reported by Jim Meyering.
57993
57994 2008-04-01  Bruno Haible  <bruno@clisp.org>
57995
57996         Fix test to work on IRIX 6.5 with cc.
57997         * tests/test-math.c (numeric_equal): New function.
57998         (main): Use it.
57999
58000 2008-04-01  Bruno Haible  <bruno@clisp.org>
58001
58002         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58003
58004 2008-04-01  Bruno Haible  <bruno@clisp.org>
58005
58006         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58007         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58008         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58009         (Depends-on): Remove math.
58010
58011         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58012         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58013         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58014         (Depends-on): Remove math.
58015
58016         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58017         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58018         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58019         (Depends-on): Remove math.
58020         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58021         (Depends-on): Remove math.
58022
58023         * tests/test-sprintf-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/sprintf-posix-tests (Files): Add tests/nan.h.
58026         (Depends-on): Remove math.
58027         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58028         (Depends-on): Remove math.
58029
58030         * tests/test-round1.c: Include nan.h.
58031         (main): Use NaNd instead of NAN.
58032         * modules/round-tests (Files): Add tests/nan.h.
58033
58034         * tests/test-trunc1.c: Include nan.h.
58035         (main): Use NaNd instead of NAN.
58036         * modules/trunc-tests (Files): Add tests/nan.h.
58037
58038         * tests/test-roundf1.c: Include nan.h.
58039         (main): Use NaNf instead of NAN.
58040         * modules/roundf-tests (Files): Add tests/nan.h.
58041
58042         * tests/test-truncf1.c: Include nan.h.
58043         (main): Use NaNf instead of NAN.
58044         * modules/truncf-tests (Files): Add tests/nan.h.
58045
58046         * tests/test-ceilf1.c: Include nan.h.
58047         (main): Use NaNf instead of NAN.
58048         * modules/ceilf-tests (Files): Add tests/nan.h.
58049
58050         * tests/test-floorf1.c: Include nan.h.
58051         (main): Use NaNf instead of NAN.
58052         * modules/floorf-tests (Files): Add tests/nan.h.
58053
58054         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58055         (main): Use NaNf instead of NAN.
58056         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58057
58058         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58059         (main): Use NaNd instead of NAN.
58060         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58061
58062         * tests/test-frexp.c: Include nan.h.
58063         (main): Use NaNd instead of NAN.
58064         * modules/frexp-tests (Files): Add tests/nan.h.
58065
58066         * lib/isnan.c: Don't include <math.h>.
58067         (FUNC): Don't use NAN macro.
58068         * modules/isnand-nolibm (Depends-on): Remove math.
58069         * modules/isnanf-nolibm (Depends-on): Remove math.
58070         * modules/isnanl (Depends-on): Remove math.
58071         * modules/isnanl-nolibm (Depends-on): Remove math.
58072
58073         * tests/nan.h: New file.
58074
58075 2008-04-01  Eric Blake  <ebb9@byu.net>
58076
58077         Fix typos.
58078         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58079         values to be the right type.
58080
58081         For now, cater to gnulib strtod inaccuracies.
58082         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58083         fractional results.  While not as nice from a QoI perspective, it
58084         is a quicker patch than correctly implementing decimal to binary
58085         rounding.
58086
58087 2008-03-31  Eric Blake  <ebb9@byu.net>
58088
58089         Guarantee a definition of NAN.
58090         * lib/math.in.h (NAN): Define if missing.
58091         * tests/test-math.c (main): Test it.
58092         * doc/posix-headers/math.texi (math.h): Document this.
58093         * lib/isnan.c (rpl_isnand): Use it.
58094         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58095         * tests/test-floorf1.c (NaN): Likewise.
58096         * tests/test-frexp.c (NaN): Likewise.
58097         * tests/test-isnand.c (NaN): Likewise.
58098         * tests/test-isnanf.c (NaN): Likewise.
58099         * tests/test-round1.c (NaN): Likewise.
58100         * tests/test-roundf1.c (NaN): Likewise.
58101         * tests/test-snprintf-posix.h (NaN): Likewise.
58102         * tests/test-sprintf-posix.h (NaN): Likewise.
58103         * tests/test-trunc1.c (NaN): Likewise.
58104         * tests/test-truncf1.c (NaN): Likewise.
58105         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58106         * tests/test-vasprintf-posix.c (NaN): Likewise.
58107         * modules/isnand-nolibm (Depends-on): Add math.
58108         * modules/isnanf-nolibm (Depends-on): Likewise.
58109         * modules/isnanl (Depends-on): Likewise.
58110         * modules/isnanl-nolibm (Depends-on): Likewise.
58111         * modules/snprintf-posix-tests (Depends-on): Likewise.
58112         * modules/sprintf-posix-tests (Depends-on): Likewise.
58113         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58114         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58115         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58116         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58117
58118 2008-03-31  Bruno Haible  <bruno@clisp.org>
58119
58120         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58121         * doc/posix-functions/strtod.texi: Likewise.
58122
58123 2008-03-31  Bruno Haible  <bruno@clisp.org>
58124
58125         * tests/test-strtod.c (main): Don't use C99 syntax.
58126
58127 2008-03-31  Bruno Haible  <bruno@clisp.org>
58128
58129         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58130         Reported by Eric Blake.
58131
58132 2008-03-31  Jim Meyering  <meyering@redhat.com>
58133
58134         Don't compare actual signbit return values.
58135         * tests/test-strtod.c (main): Rather, compare only their
58136         zero/non-zero nature.
58137
58138 2008-03-31  Eric Blake  <ebb9@byu.net>
58139
58140         More strtod documentation.
58141         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58142         failures as distinct bugs.
58143
58144 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58145
58146         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58147         Problem reported by Erik Benada in
58148         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58149
58150 2008-03-30  Bruno Haible  <bruno@clisp.org>
58151
58152         * tests/test-strtod.c: Add comments about which assertion fails on which
58153         platform.
58154         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58155
58156 2008-03-30  Eric Blake  <ebb9@byu.net>
58157
58158         Test signbit behavior on zeros.
58159         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58160         (test_signbitd, test_signbitl): Likewise.
58161
58162         More strtod touchups.
58163         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58164         sign of negative underflow, for now.  Use .5, not .1.
58165         * doc/posix-functions/strtod.texi (strtod): Mention these
58166         limitations.
58167         Reported by Jim Meyering.
58168
58169 2008-03-30  Bruno Haible  <bruno@clisp.org>
58170
58171         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58172         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58173
58174 2008-03-30  Bruno Haible  <bruno@clisp.org>
58175
58176         Avoid failure when attempting to return empty iconv results on some
58177         platforms.
58178         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58179         allocation, don't report ENOMEM when the resulting string is empty.
58180
58181 2008-03-30  Bruno Haible  <bruno@clisp.org>
58182
58183         Fix buffer overrun.
58184         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58185         Don't consider the width for tmp_length. Check count against tmp_length
58186         before doing the padding. Ensure enough allocation during padding.
58187
58188 2008-03-30  Eric Blake  <ebb9@byu.net>
58189
58190         strtod touchups.
58191         * lib/strtod.c (strtod): Avoid compiler warnings.
58192         Reported by Jim Meyering.
58193
58194 2008-03-30  Bruno Haible  <bruno@clisp.org>
58195
58196         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58197         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58198         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58199         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58200         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58201         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58202         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58203         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58204
58205         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58206         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58207         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58208         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58209         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58210         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58211         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58212         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58213
58214         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58215         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58216         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58217         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58218         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58219         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58220         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58221         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58222
58223         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58224         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58225
58226         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58227         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58228
58229         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58230         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58231
58232         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58233         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58234         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58235
58236         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58237         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58238         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58239
58240         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58241         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58242         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58243
58244         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58245         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58246         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58247
58248         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58249         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58250         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58251         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58252         (Depends-on): Add EOVERFLOW.
58253         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58254         (Depends-on): Add EOVERFLOW.
58255         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58256         (Depends-on): Add EOVERFLOW.
58257         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58258         (Depends-on): Add EOVERFLOW.
58259         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58260         (Depends-on): Add EOVERFLOW.
58261         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58262         (Depends-on): Add EOVERFLOW.
58263         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58264         (Depends-on): Add EOVERFLOW.
58265         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58266         (Depends-on): Add EOVERFLOW.
58267
58268         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58269         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58270         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58271
58272         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58273         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58274         * modules/snprintf (Depends-on): Add EOVERFLOW.
58275
58276         * lib/poll.c (EOVERFLOW): Remove fallback.
58277         * modules/poll (Depends-on): Add EOVERFLOW.
58278
58279         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58280         * modules/getugroups (Depends-on): Add EOVERFLOW.
58281
58282         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58283         * modules/getdelim (Depends-on): Add EOVERFLOW.
58284
58285         * lib/ftell.c (EOVERFLOW): Remove fallback.
58286         * modules/ftell (Depends-on): Add EOVERFLOW.
58287
58288         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58289         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58290         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58291
58292         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58293
58294         * modules/EOVERFLOW-tests: New file.
58295         * tests/test-EOVERFLOW.c: New file.
58296
58297         * modules/EOVERFLOW: New file.
58298         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58299
58300 2008-03-30  Bruno Haible  <bruno@clisp.org>
58301
58302         Fix bug introduced on 2007-06-10.
58303         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58304         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58305
58306 2008-03-30  Bruno Haible  <bruno@clisp.org>
58307
58308         Improve freadseek's efficiency after ungetc.
58309         * lib/freadseek.c: Include freadahead.h.
58310         (freadptrinc): New function, extracted from freadseek.
58311         (freadseek): Use it in a loop. Use freadahead to determine the number
58312         of loop iterations.
58313         * modules/freadseek (Depends-on): Add freadahead.
58314         (configure.ac): Require AC_C_INLINE.
58315
58316 2008-03-30  Bruno Haible  <bruno@clisp.org>
58317
58318         * lib/freadseek.c (freadseek): Don't ignore the return value of
58319         freadptr.
58320
58321 2008-03-29  Eric Blake  <ebb9@byu.net>
58322
58323         Add hex float support.
58324         * modules/strtod (Depends-on): Add c-ctype.
58325         (Link): Mention POW_LIB.
58326         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58327         whitespace between 'e' and exponent.
58328         * tests/test-strtod.c (main): Enable hex float tests.
58329         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58330         now provides.
58331
58332         Document various strtod bugs, with some fixes.
58333         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58334         "-0x", "inf", "nan", and hex constants.
58335         * doc/posix-functions/atof.texi (atof): Likewise.
58336         * modules/stdlib (Makefile.am): Support strtod.
58337         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58338         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58339         detect additional strtod bugs.
58340         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58341         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58342         bool where appropriate.  Parse 'inf' and 'nan'.
58343         * tests/test-strtod.c: New file.
58344         * modules/strtod (Depends-on): Add stdbool, stdlib.
58345         (configure.ac): Turn on module indicator.
58346         * modules/strtod-tests: New module.
58347
58348 2008-03-29  Eric Blake  <ebb9@byu.net>
58349
58350         Fix ftell on mingw.
58351         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58352         * modules/ftell-tests (Depends-on): Add binary-io.
58353         * modules/ftello-tests (Depends-on): Likewise.
58354         * tests/test-ftell.c (main): Enhance test to cover behavior after
58355         ungetc.  Enforce binary mode.
58356         * tests/test-ftello.c (main): Likewise.
58357
58358         Pass test-freadseek on cygwin.
58359         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58360         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58361         ungetc buffer.
58362
58363         * tests/test-fflush2.c (main): Fix typo.
58364
58365 2008-03-29  Bruno Haible  <bruno@clisp.org>
58366
58367         * tests/test-fflush2.c (main): Temporarily disable the contents of
58368         this test.
58369         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58370         Reported by Eric Blake.
58371
58372 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58373
58374         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58375         (GC_SHA224_DIGEST_SIZE): Add.
58376
58377         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58378         (gc_hash_digest_length): Likewise.
58379         (gc_hash_buffer): Likewise.
58380
58381 2008-03-25  Bruno Haible  <bruno@clisp.org>
58382
58383         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58384         detail which gettext release to use.
58385         Reported by Simon Josefsson.
58386
58387 2008-03-26  Jim Meyering  <meyering@redhat.com>
58388
58389         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58390         * modules/gnumakefile (clean-GNUmakefile): Also, use
58391         test ... && ... || : syntax rather than if-then ... fi.
58392
58393         gnumakefile: Don't double-quote-expand $(VPATH) value.
58394         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58395
58396 2008-03-24  Eric Blake  <ebb9@byu.net>
58397
58398         Alter GNUmakefile to install into top directory.
58399         * modules/maintainer-makefile: Split, and add dependency...
58400         * modules/gnumakefile: to this new module.
58401         * build-aux/GNUmakefile: Move...
58402         * top/GNUmakefile: ...here.
58403         * build-aux/maint.mk: Move...
58404         * top/maint.mk: ...here.
58405         * MODULES.html.sh (Support for maintaining...): Document new
58406         module.
58407
58408 2008-03-23  Bruno Haible  <bruno@clisp.org>
58409
58410         * gnulib-tool: New options --vc-files, --no-vc-files.
58411         (func_usage): Document them.
58412         (vc_files): New variable.
58413         (func_import): Consider vc_files.
58414         (func_create_testdir): Set vc_files to empty.
58415         Suggested by Jim Meyering and Karl Berry.
58416
58417 2008-03-23  Bruno Haible  <bruno@clisp.org>
58418
58419         Fix regex compilation error on HP-UX 11.
58420         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58421         * modules/regex (Files): Add m4/mbstate_t.m4.
58422         Reported by Ton Voon <ton.voon@altinity.com>.
58423
58424 2008-03-23  Bruno Haible  <bruno@clisp.org>
58425
58426         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58427
58428 2008-03-23  Eric Blake  <ebb9@byu.net>
58429             Bruno Haible  <bruno@clisp.org>
58430
58431         Install files from top/ in the destination directory.
58432         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58433         augmentation also for the files from top/.
58434         (func_import, func_create_testdir): Rewrite file names:
58435         top/filename -> filename.
58436
58437 2008-03-23  Bruno Haible  <bruno@clisp.org>
58438
58439         Tweak "gnulib --version" output.
58440         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58441
58442 2008-03-23  Bruno Haible  <bruno@clisp.org>
58443
58444         Tweak "gnulib --version" output.
58445         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58446         rather than contents of ChangeLog, when possible.
58447
58448 2008-03-21  Eric Blake  <ebb9@byu.net>
58449
58450         More --version tweaks.
58451         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58452         date of last ChangeLog entry.
58453
58454 2008-03-21  Jim Meyering  <meyering@redhat.com>
58455
58456         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58457
58458 2008-03-20  Eric Blake  <ebb9@byu.net>
58459
58460         VPATH fix.
58461         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58462
58463 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58464
58465         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58466         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58467
58468 2008-03-20  Eric Blake  <ebb9@byu.net>
58469
58470         Sync GNUmakefile with coreutils.
58471         * build-aux/GNUmakefile (have-Makefile): Rename...
58472         (_have-Makefile): ...to this, for namespace consideration.
58473         (GNUmakefile.cfg): Include, if present.
58474         (_autoreconf): Define a default.
58475         (_is-dist-target): New rule for rebuilds to pick up intra-release
58476         version.
58477         (maint-cfg.mk): Rename...
58478         (cfg.mk): ...to this.
58479
58480 2008-03-18  Jim Meyering  <meyering@redhat.com>
58481
58482         New script and module: mktempd
58483         * MODULES.html.sh (maint+release support): Add mktempd.
58484         * build-aux/mktempd: New file.
58485         * modules/mktempd: New file.
58486
58487 2008-03-15  Jim Meyering  <meyering@redhat.com>
58488
58489         Undo last change.
58490         * lib/sha1.c, lib/md5.c: 63 != ~63.
58491         Reported by Andreas Schwab.
58492
58493         sha1.c, md5.c: Hoist a redundant expression.
58494         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58495         "ctx->buflen" only once, before calling *_process_block.
58496         * lib/md5.c (md5_process_bytes): Likewise.
58497
58498 2008-03-14  Eric Blake  <ebb9@byu.net>
58499
58500         Bump copyright year in files generated by gnulib-tool.
58501         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58502         gnulib-tool, rather than hard-coding it.
58503
58504         Fix 'gnulib-tool --version' output to work with git.
58505         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58506         (startup): ...here.
58507         (func_version): Use it to invoke git-version-gen, rather than
58508         relying on CVS keyword expansion.  Modernize wording.
58509         (cvsdatestamp, last_checkin_date, version): Kill unused
58510         variables.
58511
58512 2008-03-12  Jim Meyering  <meyering@redhat.com>
58513
58514         Recognize optional cast of the argument to free.
58515         * build-aux/useless-if-before-free: Update regexps.
58516
58517         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58518
58519 2008-03-11  Bruno Haible  <bruno@clisp.org>
58520
58521         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58522         by a single package.
58523         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58524         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58525         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58526         Reported by Sam Steingold <sds@gnu.org>.
58527
58528 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58529
58530         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58531         repositories.
58532
58533 2008-03-11  Bruno Haible  <bruno@clisp.org>
58534
58535         Avoid conflicts between local macro definitions.
58536         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58537         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58538
58539 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58540             Bruno Haible  <bruno@clisp.org>
58541
58542         Make va_copy work with some version of xlc on AIX 5.1.
58543         * lib/stdarg.in.h: New file.
58544         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58545         On AIX, use a <stdarg.h> file substitute.
58546         * modules/stdarg (Files): Add lib/stdarg.in.h.
58547         (Depends-on): Add include_next.
58548         (Makefile.am): Build a stdarg.h substitute if requested.
58549         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58550
58551 2008-03-10  Bruno Haible  <bruno@clisp.org>
58552
58553         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58554         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58555         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58556
58557 2008-03-10  Bruno Haible  <bruno@clisp.org>
58558
58559         * modules/stdlib (Depends-on): Add include_next, remove
58560         absolute-header.
58561
58562 2008-03-09  Bruno Haible  <bruno@clisp.org>
58563
58564         * lib/freadahead.h (freadahead): Document more precisely.
58565         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58566         the sum of both buffer sizes.
58567         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58568         * NEWS: Document the change.
58569
58570 2008-03-09  Bruno Haible  <bruno@clisp.org>
58571
58572         Extend freadptr to return also the buffer size.
58573         * lib/freadptr.h (freadptr): Add sizep argument.
58574         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58575         (freadptr): Add sizep argument. Determine buffer size like freadahead
58576         does.
58577         * tests/test-freadptr.c: Don't include freadahead.h.
58578         (main): Adapt for new calling convention of freadptr.
58579         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58580         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58581         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58582         tests/test-freadptr2.sh.
58583         (Depends): Remove freadahead.
58584         (TESTS): Add test-freadptr2.sh.
58585         (check_PROGRAMS): Add test-freadptr2.
58586
58587 2008-03-09  Bruno Haible  <bruno@clisp.org>
58588
58589         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58590         Report and solution by Simon Josefsson.
58591
58592 2008-03-06  Bruno Haible  <bruno@clisp.org>
58593
58594         Make fflush after ungetc work on BSD platforms.
58595         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58596         * tests/test-fflush2.c: New file.
58597         * tests/test-fflush2.sh: New file.
58598         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58599         tests/test-fflush2.c.
58600         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58601         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58602
58603 2008-03-06  Eric Blake  <ebb9@byu.net>
58604
58605         Likewise for ftello.
58606         * modules/ftello (Dependencies): Add extensions.
58607         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58608
58609 2008-03-06  Bruno Haible  <bruno@clisp.org>
58610
58611         * modules/fseeko (Dependencies): Add extensions.
58612         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58613         Needed on glibc systems.
58614
58615 2008-03-06  Bruno Haible  <bruno@clisp.org>
58616
58617         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58618         email address.
58619         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58620
58621 2008-03-06  Bruno Haible  <bruno@clisp.org>
58622
58623         * users.txt: Add libgnupdf.
58624
58625 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58626
58627         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58628         (Header File Substitutes, Function Substitutes,
58629         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58630         (Build robot for gnulib): Fix typo.
58631
58632 2008-03-06  Bruno Haible  <bruno@clisp.org>
58633
58634         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58635         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58636
58637 2008-03-06  Bruno Haible  <bruno@clisp.org>
58638
58639         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58640         * doc/gnulib.texi: Include it.
58641
58642 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58643
58644         * modules/func (License): Change license to unlimited; there was
58645         no LGPL parts in the module anyway.
58646
58647 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58648
58649         * modules/__func__: Renamed to modules/func.
58650         * modules/__func__-tests: Renamed to modules/func-tests.
58651         * tests/test-__func__.c: Renamed to tests/test-func.c.
58652         * m4/__func__.m4: Renamed to m4/func.m4.
58653         * doc/gnulib.texi (__func__): Section renamed to func.
58654         Suggested by Eric Blake <ebb9@byu.net>.
58655
58656 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58657
58658         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58659         about __func__.  Make example self-contained.  Suggested by Eric
58660         Blake <ebb9@byu.net>.
58661
58662         * tests/test-__func__.c (main): Avoid extraneous () around __func.
58663         Suggested by Eric Blake <ebb9@byu.net>.
58664
58665 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58666
58667         * modules/__func__: New file.
58668         * modules/__func__-tests: New file.
58669         * tests/test-__func__.c: New file.
58670         * m4/__func__.m4: New file.
58671         * doc/gnulib.texi (__func__): Document __func__ module.
58672
58673 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58674
58675         * modules/byteswap (License): Re-license as LGPLv2+.
58676
58677 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58678
58679         * doc/Makefile: Add pdf target.
58680
58681 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58682
58683         * modules/inline (License): Use 'unlimited', since there are only
58684         *.m4 files in this module.
58685
58686 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58687             Bruno Haible  <bruno@clisp.org>
58688
58689         Add support for HP C 7.1 on OpenVMS 8.3.
58690         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58691
58692 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58693
58694         Update VMS specifics.
58695         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58696
58697 2008-03-02  Jim Meyering  <meyering@redhat.com>
58698
58699         Remove the last dependency on the "free" module.
58700         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58701         Reported by Bob Proulx.
58702
58703         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58704
58705         Remove useless "if" tests before free.  Deprecate "free" module.
58706         * doc/posix-functions/free.texi: Mention that this
58707         module is no longer useful.
58708         * modules/free (Notice): Say this module is obsolete.
58709         * modules/readutmp (Depends-on): Remove free.
58710         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58711         * lib/putenv.c (putenv): Likewise.
58712         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58713         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58714         * tests/test-c-strcasestr.c (main): Likewise.
58715         * tests/test-c-strstr.c (main): Likewise.
58716         * tests/test-mbscasestr1.c (main): Likewise.
58717         * tests/test-mbscasestr2.c (main): Likewise.
58718         * tests/test-mbsstr1.c (main): Likewise.
58719         * tests/test-mbsstr2.c (main): Likewise.
58720         * tests/test-memmem.c (main): Likewise.
58721         * tests/test-strcasestr.c (main): Likewise.
58722         * tests/test-striconv.c (main): Likewise.
58723         * tests/test-striconveh.c (main): Likewise.
58724         * tests/test-striconveha.c (main): Likewise.
58725         * tests/test-strstr.c (main): Likewise.
58726
58727         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58728
58729         bootstrap: sync from coreutils again
58730         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58731
58732 2008-03-01  Jim Meyering  <meyering@redhat.com>
58733
58734         bootstrap: sync from coreutils
58735         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58736         also when the target doesn't exist.
58737
58738 2008-03-01  Eric Blake  <ebb9@byu.net>
58739
58740         Fix bugs in last patch.
58741         * lib/memchr2.c (memchr2): Fix typo.
58742         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58743         extension.
58744         Reported by Bruce Korb.
58745
58746         New module 'memchr2'.
58747         * modules/memchr2: New file.
58748         * modules/memchr2-tests: Likewise.
58749         * lib/memchr2.h: Likewise.
58750         * lib/memchr2.c: Likewise, based on memchr.c.
58751         * tests/test-memchr2.c: New test.
58752         * MODULES.html.sh (String handling): Add memchr2.
58753
58754 2008-02-29  Bruno Haible  <bruno@clisp.org>
58755
58756         * modules/freadseek-tests: New file.
58757         * tests/test-freadseek.sh: New file.
58758         * tests/test-freadseek.c: New file.
58759
58760         New module 'freadseek'.
58761         * modules/freadseek: New file.
58762         * lib/freadseek.h: New file.
58763         * lib/freadseek.c: New file.
58764         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58765
58766 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58767
58768         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58769         wydawca.
58770
58771         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58772         program_invocation_name and program_invocation_short_name are
58773         present.
58774
58775 2008-02-28  Bruno Haible  <bruno@clisp.org>
58776
58777         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58778         * tests/test-freadptr.sh: Also test non-seekable stdin.
58779
58780 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58781
58782         * build-aux/bootstrap (source_base, m4_base)
58783         (doc_base, tests_base): New variables.
58784         (gnulib_tool_options): Do not hardcode base directories, use
58785         the above variables instead.
58786
58787 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58788
58789         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58790
58791 2008-02-28  Bruno Haible  <bruno@clisp.org>
58792
58793         * modules/freadptr-tests: New file.
58794         * tests/test-freadptr.sh: New file.
58795         * tests/test-freadptr.c: New file.
58796
58797         New module 'freadptr'.
58798         * modules/freadptr: New file.
58799         * lib/freadptr.h: New file.
58800         * lib/freadptr.c: New file.
58801         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58802
58803 2008-02-26  Karl Berry  <karl@freefriends.org>
58804
58805         Sync from Libtool:
58806         * libltdl/argz.c (argz_add, argz_count): New functions.
58807         * libltdl/argz.in.h: Declare them.
58808         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58809
58810 2008-02-22  Bruno Haible  <bruno@clisp.org>
58811
58812         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58813         is a pointer type.  Needed for HP-UX 10.
58814         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58815         * doc/posix-functions/gmtime_r.texi: Likewise.
58816         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58817
58818 2008-02-24  Bruno Haible  <bruno@clisp.org>
58819
58820         * modules/environ-tests: New file.
58821         * tests/test-environ.c: New file.
58822
58823         New module 'environ'.
58824         * modules/environ: New file.
58825         * lib/unistd.in.h (environ): New declaration.
58826         * m4/environ.m4: New file.
58827         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58828         after use.
58829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58830         HAVE_DECL_ENVIRON.
58831         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58832         HAVE_DECL_ENVIRON.
58833         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58834         wrong claim that 'environ' is missing on some systems.
58835         * modules/execute (Depends-on): Add environ.
58836         * lib/execute.c (environ): Remove fallback declaration.
58837         * modules/pipe (Depends-on): Add environ.
58838         * lib/pipe.c (environ): Remove fallback declaration.
58839         * modules/setenv (Depends-on): Add environ.
58840         * lib/setenv.c (environ): Remove fallback declaration.
58841         * modules/unsetenv (Depends-on): Add environ.
58842         * lib/unsetenv.c (environ): Remove fallback declaration.
58843         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58844         m4/environ.m4.
58845         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58846         (gl_PREREQ_UNSETENV): Likewise.
58847
58848 2008-02-24  Bruno Haible  <bruno@clisp.org>
58849
58850         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58851
58852 2008-02-20  Bob Proulx  <bob@proulx.com>
58853
58854         Enable use of older two part flavor 'git describe'.
58855         * build-aux/git-version-gen: If using the older two part flavor of
58856         git version then recreate the third part now present in the
58857         newer three part flavor of git describe.
58858
58859 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58860
58861         * lib/fts.c (fts_build): Typo correction to comment.
58862
58863 2008-02-17  Bruno Haible  <bruno@clisp.org>
58864
58865         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58866         generating no-op conflicts.
58867
58868 2008-02-17  Bruno Haible  <bruno@clisp.org>
58869
58870         Speed up by 10%.
58871         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58872         result_entries, rather than an index-based loop.
58873
58874 2008-02-17  Bruno Haible  <bruno@clisp.org>
58875
58876         Speed up by 25%.
58877         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58878         'hashcode_cached'.
58879         (entry_create): New function.
58880         (entry_hashcode): Use the cached hashcode if possible.
58881         (read_changelog_file, try_split_merged_entry): Use entry_create.
58882
58883 2008-02-17  Bruno Haible  <bruno@clisp.org>
58884
58885         Speed up from O(n^2) to O(n) for long ChangeLog files.
58886         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58887         (read_changelog_file): Change implementation of entries_reversed list
58888         to rbtreehash.
58889         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58890
58891 2008-02-17  Bruno Haible  <bruno@clisp.org>
58892
58893         New option --split-merged-entry.
58894         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58895         (find_paragraph_end, try_split_merged_entry): New functions.
58896         (long_options): Add option --split-merged-entry.
58897         (usage): Document option --split-merged-entry.
58898         (main): Implement option --split-merged-entry.
58899         Reported by Eric Blake.
58900
58901 2008-02-17  Bruno Haible  <bruno@clisp.org>
58902
58903         * lib/git-merge-changelog.c: Include c-strstr.h.
58904         (main): Support the "git pull --rebase" situation.
58905         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58906         Reported by Eric Blake.
58907
58908 2008-02-16  Eric Blake  <ebb9@byu.net>
58909
58910         Avoid doubling \ in common case of "c-maybe" quoting style.
58911         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58912         eliding outer quotes.
58913         * lib/quotearg.h: Document this.
58914         * tests/test-quotearg.c (result_strings, inputs, results_g)
58915         (flag_results, locale_results): Test it by adding a new string to
58916         each test group.
58917         (compare_strings): Test new string.
58918
58919 2008-02-13  Eric Blake  <ebb9@byu.net>
58920
58921         Avoid trigraph quoting in default output.
58922         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58923         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58924         unless explicitly requested.
58925         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58926
58927 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58928
58929         Don't rely on signed integer overflowing to negative value.
58930         * lib/getugroups.c (getugroups): Include <limits.h>.
58931         Instead, compare against INT_MAX, and increment only if the test passes.
58932
58933 2008-02-13  Jim Meyering  <meyering@redhat.com>
58934         and Eric Blake  <ebb9@byu.net>
58935
58936         Avoid shadowing warning and compile errors on Linux.
58937         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58938         forwarding macros on Linux.
58939         (dcgettext): Define a stub, for Linux.
58940         (results_g, main): Avoid warnings.
58941
58942 2008-02-12  Eric Blake  <ebb9@byu.net>
58943
58944         Silence warning in last patch.
58945         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58946
58947         Quotearg part 4: add tests, fix c-maybe colon quoting.
58948         * lib/quotearg.h: Improve documentation.
58949         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58950         escapes when adding outer quotes.  When quoting trigraphs, use
58951         valid C notation.  When quoting NUL, omit extra characters if next
58952         character is not digit.  Alter prototype.
58953         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58954         callers.
58955         * modules/quotearg-tests: New module.
58956         * tests/test-quotearg.c: New test.
58957
58958 2008-02-07  Eric Blake  <ebb9@byu.net>
58959
58960         Quotearg part 3: add flag to control outer quote elision.
58961         * lib/quotearg.h (c_maybe_quoting_style): New style.
58962         (enum quoting_flags): Better documentation of flags.
58963         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58964         c-maybe style.
58965         (quotearg_buffer_restyled): Handle new flag to elide outer
58966         quotes.
58967
58968         Quotearg part 2: add flag that can control NUL elision.
58969         * lib/quotearg.h (set_quoting_flags): New prototype.
58970         * lib/quotearg.c (struct quoting_options): Add flag field.
58971         (set_quoting_flags): New function.
58972         (quotearg_buffer_restyled): Add flags parameter.
58973         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58974         (quotearg_n_options): Set the flag, since length cannot be
58975         returned.
58976         (quoting_options_from_style): Default flags correctly.
58977
58978         Quotearg part 1: more wrappers, restore quotearg_char state.
58979         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58980         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58981         (quotearg_colon_mem): New wrappers.
58982         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58983         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58984         functions.
58985         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58986         (quotearg_colon_mem): New functions.
58987
58988 2008-02-11  Bruno Haible  <bruno@clisp.org>
58989
58990         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58991         library in the current directory: it does not work with parallel make.
58992         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58993
58994 2008-02-11  Bruno Haible  <bruno@clisp.org>
58995
58996         * .gitattributes: New file.
58997
58998 2008-02-11  Jim Meyering  <meyering@redhat.com>
58999
59000         useless-if-before-free: Fix reversed exit values.
59001         * build-aux/useless-if-before-free: Use correct values
59002         for EXIT_MATCH and EXIT_NO_MATCH.
59003
59004         * build-aux/useless-if-before-free: Close stdout carefully.
59005
59006 2008-02-10  Bruno Haible  <bruno@clisp.org>
59007
59008         New module 'git-merge-changelog'.
59009         * modules/git-merge-changelog: New file.
59010         * lib/git-merge-changelog.c: New file.
59011
59012 2008-02-10  Jim Meyering  <meyering@redhat.com>
59013
59014         useless-if-before-free: New option: --list (-l).
59015
59016         useless-if-before-free: Don't exit immediately upon open failure.
59017         * build-aux/useless-if-before-free: Exit 2 for errors.
59018         Upon failure to open a file, don't exit immediately.
59019         Rather, just warn and continue with any remaining files.
59020
59021 2008-02-10  Bruno Haible  <bruno@clisp.org>
59022
59023         New abstract list operation 'node_set_value'.
59024         * lib/gl_list.h (gl_list_node_set_value): New function.
59025         (struct gl_list_implementation): New field node_set_value.
59026         * lib/gl_list.c (gl_list_node_set_value): New function.
59027         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59028         (gl_array_list_implementation): Update.
59029         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59030         (gl_carray_list_implementation): Update.
59031         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59032         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59033         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59034         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59035         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59036         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59037         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59038         Update.
59039         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59040         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59041         (gl_sublist_list_implementation): Update.
59042
59043 2008-02-10  Bruno Haible  <bruno@clisp.org>
59044
59045         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59046         Needed when ELEMENT is #defined to 'some_type *'.
59047
59048 2008-02-10  Jim Meyering  <meyering@redhat.com>
59049
59050         New script and module: useless-if-before-free
59051         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59052         * build-aux/useless-if-before-free: New file.
59053         * modules/useless-if-before-free: New file.
59054
59055         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59056
59057         xstrtol_error: Fix typo.
59058         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59059         s/exit_failure/exit_status/.
59060
59061 2008-02-09  Jim Meyering  <meyering@redhat.com>
59062
59063         New script and module: gitlog-to-changelog
59064         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59065         * modules/gitlog-to-changelog: New file.
59066         * build-aux/gitlog-to-changelog: New file.
59067
59068 2008-02-08  Jim Meyering  <meyering@redhat.com>
59069
59070         Avoid two "parameter unused" warnings.
59071         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59072         Mark "st" as used.
59073
59074         Use "git COMMAND", not "git-COMMAND".
59075         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59076         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59077         * build-aux/git-version-gen: Use "git status", not "git-status".
59078
59079 2008-02-07  Bruno Haible  <bruno@clisp.org>
59080
59081         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59082         Avoids a crash on Windows Vista.
59083         Reported by Adam Strzelecki <ono@java.pl> via
59084         Simon Josefsson <simon@josefsson.org>.
59085
59086 2008-02-06  Bruno Haible  <bruno@clisp.org>
59087
59088         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59089         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59090         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59091         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59092         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59093         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59094         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59095         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59096         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59097         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59098         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59099         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59100         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59101         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59102         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59103         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59104         left-adjust flag.
59105         * tests/test-snprintf-posix.h (test_function): Likewise.
59106         * tests/test-sprintf-posix.h (test_function): Likewise.
59107         * tests/test-vasprintf-posix.c (test_function): Likewise.
59108         * doc/posix-functions/fprintf.texi: Update.
59109         * doc/posix-functions/printf.texi: Update.
59110         * doc/posix-functions/snprintf.texi: Update.
59111         * doc/posix-functions/sprintf.texi: Update.
59112         * doc/posix-functions/vfprintf.texi: Update.
59113         * doc/posix-functions/vprintf.texi: Update.
59114         * doc/posix-functions/vsnprintf.texi: Update.
59115         * doc/posix-functions/vsprintf.texi: Update.
59116         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59117
59118 2008-02-06  Bruno Haible  <bruno@clisp.org>
59119
59120         Fix bug introduced on 2008-01-26.
59121         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59122
59123 2008-02-06  Bruno Haible  <bruno@clisp.org>
59124
59125         Fix bug introduced on 2007-06-10.
59126         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59127         !NEED_PRINTF_FLAG_ZERO.
59128
59129 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59130
59131         getloadavg: use libperfstat on AIX5
59132         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59133
59134 2008-02-03  Bruno Haible  <bruno@clisp.org>
59135
59136         * lib/diffseq.h: Add comments about required #includes.
59137         Reported by Michael Biggs <gnulib@doubleplum.net>.
59138
59139 2008-02-01  Bruno Haible  <bruno@clisp.org>
59140
59141         * users.txt: Add gnuit.
59142
59143 2008-01-31  Bruno Haible  <bruno@clisp.org>
59144
59145         * lib/md4.c (set_uint32): Mark as inline.
59146         * lib/md5.c (set_uint32): Likewise.
59147         * lib/sha1.c (set_uint32): Likewise.
59148         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59149         * m4/md5.m4 (gl_MD5): Likewise.
59150         * m4/sha1.m4 (gl_SHA1): Likewise.
59151
59152 2008-01-31  Jim Meyering  <meyering@redhat.com>
59153
59154         Use "sizeof VAR", rather than a literal "4".
59155         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59156         * lib/md4.c (md4_read_ctx): Likewise.
59157         * lib/sha1.c (sha1_read_ctx): Likewise.
59158
59159 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59160
59161         * tests/test-sha1.c: New file, based on test-md5.c.
59162
59163         * modules/crypto/sha1-tests: New file.
59164
59165 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59166
59167         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59168
59169 2008-01-31  Jim Meyering  <meyering@redhat.com>
59170
59171         Prefer "sizeof v" over the equivalent "4".
59172         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59173         * lib/md5.c (set_uint32): Likewise.
59174         * lib/sha1.c (set_uint32): Likewise.
59175
59176 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59177
59178         * lib/sha1.c (set_uint32): Mark function as static.
59179
59180 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59181
59182         md2: clarify comments to say that alignment is not required.
59183         * lib/md2.h: Remove warning about alignment in comment.
59184         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59185         never been required.
59186
59187 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59188
59189         md4: adapt alignment constraint fix from sha1.
59190         * lib/md4.c (set_uint32): New function, from sha1.c
59191         (md4_read_ctx): Use it.
59192         (md4_finish_ctx): Doc fix.
59193         * lib/md4.h: Doc fix.
59194
59195 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59196
59197         md5: adapt alignment constraint fix from sha1.
59198         * lib/md5.c (set_uint32): New function, from sha1.c
59199         (md5_read_ctx): Use it.
59200         (md5_finish_ctx): Doc fix.
59201         * lib/md5.h: Doc fix.
59202
59203 2008-01-30  Peter Palfrader  <weasel@debian.org>
59204
59205         sha1: remove the result buffer alignment constraint
59206         * lib/sha1.c (set_uint32): New function.
59207         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59208         constraint.
59209         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59210         * lib/sha1.h: Likewise.
59211
59212 2008-01-30  Andreas Schwab  <schwab@suse.de>
59213             Bruno Haible  <bruno@clisp.org>
59214
59215         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59216         correct definition of LDBL_MIN_EXP.
59217
59218 2008-01-30  Karl Berry  <karl@gnu.org>
59219
59220         * config/srclist-update: try to preserve x bit on updates.
59221         * config/srclistvars.sh: update for karl.
59222
59223 2008-01-29  Jim Meyering  <meyering@redhat.com>
59224
59225         vasnprintf.c: Avoid warning about unused label
59226         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59227         "overflow" label definition and associated code with the
59228         same cpp condition that guards the sole use of that label.
59229
59230 2008-01-26  Bruno Haible  <bruno@clisp.org>
59231
59232         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59233         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59234         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59235         * lib/isnanl-nolibm.h (isnanl): Likewise.
59236         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59237
59238 2008-01-26  Bruno Haible  <bruno@clisp.org>
59239
59240         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59241         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59242
59243 2008-01-26  Bruno Haible  <bruno@clisp.org>
59244
59245         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59246         GCC >= 4.0 built-in.
59247         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59248
59249 2008-01-26  Bruno Haible  <bruno@clisp.org>
59250
59251         Rename isnan, applicable to 'double' only, to isnand.
59252         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59253         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59254         (configure.ac): Update.
59255         (Include): Replace "isnan.h" with "isnand.h".
59256         * m4/isnand.m4: Renamed from m4/isnan.m4.
59257         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59258         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59259         instead of isnan.c.
59260         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59261         instead of HAVE_ISNAN_IN_LIBC.
59262         (isnand): Renamed from isnan.
59263         * lib/isnand.c: New file.
59264         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59265         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59266         (Makefile.am): Update.
59267         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59268         Include isnand.h instead of isnan.h.
59269         (main): Test isnand instead of isnan.
59270         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59271         isnan-nolibm.
59272         * modules/frexp (Depends-on): Likewise.
59273         * modules/frexp-tests (Depends-on): Likewise.
59274         * modules/frexp-nolibm (Depends-on): Likewise.
59275         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59276         * modules/isfinite (Depends-on): Likewise.
59277         * modules/round-tests (Depends-on): Likewise.
59278         * modules/signbit (Depends-on): Likewise.
59279         * modules/signbit-tests (Depends-on): Likewise.
59280         * modules/snprintf-posix (Depends-on): Likewise.
59281         * modules/sprintf-posix (Depends-on): Likewise.
59282         * modules/trunc-tests (Depends-on): Likewise.
59283         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59284         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59285         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59286         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59287         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59288         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59289         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59290         * modules/vasnprintf-posix (Depends-on): Likewise.
59291         * modules/vasprintf-posix (Depends-on): Likewise.
59292         * modules/vfprintf-posix (Depends-on): Likewise.
59293         * modules/vsnprintf-posix (Depends-on): Likewise.
59294         * modules/vsprintf-posix (Depends-on): Likewise.
59295         * lib/frexp.c: Include isnand.h instead of isnan.h.
59296         (ISNAN): Set to isnand instead of isnan.
59297         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59298         (gl_isfinited): Use isnand instead of isnan.
59299         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59300         (gl_signbitd): Use isnand instead of isnan.
59301         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59302         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59303         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59304         (main): Use isnand instead of isnan.
59305         * tests/test-round1.c: Include isnand.h.
59306         (main): Use isnand instead of isnan.
59307         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59308         (ISNAN): Set to isnand instead of isnan.
59309         * tests/test-trunc1.c: Include isnand.h.
59310         (main): Use isnand instead of isnan.
59311         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59312         (equal): Use isnand instead of isnan.
59313         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59314         isnand-nolibm.
59315         * NEWS: Mention the change.
59316
59317 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59318             Bruno Haible  <bruno@clisp.org>
59319
59320         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59321         the GCC builtins for signbits are present and set
59322         REPLACE_SIGNBIT_USING_GCC if so.
59323         * lib/math.in.h (signbit): Define using GCC builtins if
59324         REPLACE_SIGNBIT_USING_GCC is set.
59325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59326         REPLACE_SIGNBIT_USING_GCC.
59327         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59328
59329 2008-01-25  Jim Meyering  <meyering@redhat.com>
59330
59331         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59332         * lib/poll.c: Include <config.h>, not "config.h".
59333         * tests/test-getaddrinfo.c: Likewise.
59334
59335 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59336
59337         * modules/sockets-tests: New file.
59338
59339 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59340
59341         * modules/sockets: New module, can be used to call WSA_Startup and
59342         WSA_Cleanup when needed.
59343
59344         * lib/sockets.h, lib/sockets.c: New files.
59345
59346         * m4/sockets.m4: New file.
59347
59348         * tests/test-sockets.c: New file.
59349
59350 2008-01-19  Bruno Haible  <bruno@clisp.org>
59351
59352         * doc/posix-headers: Renamed from doc/headers.
59353         * doc/posix-functions: Renamed from doc/functions.
59354         * doc/gnulib.texi: Update.
59355
59356 2008-01-19  Bruno Haible  <bruno@clisp.org>
59357
59358         * doc/glibc-functions/strcasestr.texi: Include contents of
59359         doc/functions/strcasestr.texi, fixing the list of platforms.
59360         * doc/functions/strcasestr.texi: Remove file.
59361
59362 2008-01-19  Bruno Haible  <bruno@clisp.org>
59363
59364         * doc/glibc-functions/memmem.texi: Include contents of
59365         doc/functions/memmem.texi.
59366         * doc/functions/memmem.texi: Remove file.
59367
59368 2008-01-18  Bruno Haible  <bruno@clisp.org>
59369
59370         * doc/glibc-functions/*.texi: New files.
59371         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59372         to use the new files.
59373
59374 2008-01-17  Bruno Haible  <bruno@clisp.org>
59375
59376         * tests/test-gethostname.c (main): Fix printf statement.
59377
59378 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59379
59380         * modules/gethostname-tests: New file.
59381
59382         * tests/test-gethostname.c: New file.
59383
59384 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59385
59386         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59387         used by the UNAME case.  Reported by Bruno Haible
59388         <bruno@clisp.org>.
59389
59390 2008-01-17  Eric Blake  <ebb9@byu.net>
59391
59392         Convert c-strcasestr to be more efficient.
59393         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59394         (Depends-on): Add c-strcase, remove malloca, strnlen.
59395         * tests/test-c-strcasestr.c (main): Enhance test.
59396         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59397
59398 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59399
59400         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59401         Use it in creating po/Makevars.
59402
59403 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59404
59405         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59406         Applications that requires it should initialize libgcrypt
59407         manually.
59408
59409 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59410
59411         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59412
59413 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59414
59415         Fix problem with getdate on mingw32 reported by Simon Josefsson
59416         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59417         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59418         tzname", when deciding whether to declare tzname.
59419         * lib/strftime.c (tzname): Likewise.
59420
59421 2008-01-15  Bruno Haible  <bruno@clisp.org>
59422
59423         Work around a MacOS X 10.5 bug in frexpl().
59424         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59425         * doc/functions/frexpl.texi: Document the bug.
59426         Reported by Elias Pipping <pipping@gentoo.org>.
59427
59428 2008-01-14  Eric Blake  <ebb9@byu.net>
59429
59430         Touch up previous patch.
59431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59432         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59433
59434         Convert strcasestr module to use Two-Way algorithm.
59435         * modules/strcasestr-simple: New module, based on the old
59436         strcasestr, but with Two-Way rather than KMP.
59437         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59438         * lib/string.in.h (rpl_strcasestr): Declare.
59439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59440         performance.
59441         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59442         * modules/string (Makefile.am): Support strcasestr.
59443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59444         * modules/strcasestr-tests (Depends-on): Check for alarm.
59445         * tests/test-strcasestr.c: Augment test.
59446         * lib/str-two-way.h: Clean up stray macro.
59447         * NEWS: Document new module.
59448         * MODULES.html.sh (string handling): Likewise.
59449         * doc/functions/strcasestr.texi: New file.
59450         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59451         here, since it is not a POSIX function.
59452
59453 2008-01-14  Colin Watson  <cjwatson@debian.org>
59454             Bruno Haible  <bruno@clisp.org>
59455
59456         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59457         works fine; if not, set REPLACE_STRSIGNAL.
59458         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59459         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59460         REPLACE_STRSIGNAL.
59461         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59462         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59463         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59464
59465 2008-01-14  Bruno Haible  <bruno@clisp.org>
59466
59467         * modules/strsignal (Include): Change to <string.h>.
59468
59469 2008-01-14  Colin Watson  <cjwatson@debian.org>
59470
59471         * modules/argp (Notice): Add a notice recommending to change
59472         XGETTEXT_OPTIONS.
59473         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59474
59475 2008-01-13  Colin Watson  <cjwatson@debian.org>
59476
59477         * modules/strsignal-tests: New file.
59478         * tests/test-strsignal.c: New file.
59479
59480         * lib/strsignal.c: New file, from glibc with modifications.
59481         * lib/siglist.h: New file, from glibc with modifications.
59482         * lib/string.in.h (strsignal): New declaration.
59483         * m4/strsignal.m4: New file.
59484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59485         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59486         * modules/strsignal: New file.
59487         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59488         HAVE_DECL_STRSIGNAL.
59489
59490 2008-01-13  Bruno Haible  <bruno@clisp.org>
59491
59492         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59493         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59494         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59495         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59496
59497 2008-01-13  Bruno Haible  <bruno@clisp.org>
59498
59499         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59500         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59501         * lib/argp.h (__attribute__): Likewise.
59502         * lib/c-stack.c (__attribute__): Likewise.
59503         * lib/error.h (__attribute__): Likewise.
59504         * lib/fts.c (__attribute__): Likewise.
59505         * lib/openat.h (__attribute__): Likewise.
59506         * lib/stdio.in.h (__attribute__): Likewise.
59507         * lib/string.in.h (__attribute__): Likewise.
59508         * lib/utimens.c (__attribute__): Likewise.
59509         * lib/vasnprintf.h (__attribute__): Likewise.
59510         * lib/xalloc.h (__attribute__): Likewise.
59511         * lib/xprintf.h (__attribute__): Likewise.
59512         * lib/xstrtol.h (__attribute__): Likewise.
59513         * lib/xvasprintf.h (__attribute__): Likewise.
59514
59515 2008-01-12  Bruno Haible  <bruno@clisp.org>
59516
59517         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59518         * doc/glibc-headers/a.out.texi: New file.
59519         * doc/glibc-headers/aliases.texi: New file.
59520         * doc/glibc-headers/alloca.texi: New file.
59521         * doc/glibc-headers/ar.texi: New file.
59522         * doc/glibc-headers/argp.texi: New file.
59523         * doc/glibc-headers/argz.texi: New file.
59524         * doc/glibc-headers/byteswap.texi: New file.
59525         * doc/glibc-headers/crypt.texi: New file.
59526         * doc/glibc-headers/endian.texi: New file.
59527         * doc/glibc-headers/envz.texi: New file.
59528         * doc/glibc-headers/err.texi: New file.
59529         * doc/glibc-headers/error.texi: New file.
59530         * doc/glibc-headers/execinfo.texi: New file.
59531         * doc/glibc-headers/fpu_control.texi: New file.
59532         * doc/glibc-headers/fstab.texi: New file.
59533         * doc/glibc-headers/fts.texi: New file.
59534         * doc/glibc-headers/getopt.texi: New file.
59535         * doc/glibc-headers/ieee754.texi: New file.
59536         * doc/glibc-headers/ifaddrs.texi: New file.
59537         * doc/glibc-headers/libintl.texi: New file.
59538         * doc/glibc-headers/mcheck.texi: New file.
59539         * doc/glibc-headers/mntent.texi: New file.
59540         * doc/glibc-headers/obstack.texi: New file.
59541         * doc/glibc-headers/paths.texi: New file.
59542         * doc/glibc-headers/printf.texi: New file.
59543         * doc/glibc-headers/pty.texi: New file.
59544         * doc/glibc-headers/resolv.texi: New file.
59545         * doc/glibc-headers/shadow.texi: New file.
59546         * doc/glibc-headers/sysexits.texi: New file.
59547         * doc/glibc-headers/ttyent.texi: New file.
59548
59549 2008-01-12  Jim Meyering  <meyering@redhat.com>
59550
59551         announce-gen: emit Gnulib's git-based version string.
59552         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59553         New option --gnulib-version=V, where V is expected to be
59554         the output of running git describe in the gnulib directory.
59555         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59556         not useful, and plan to stop publishing an xdelta file with each
59557         coreutils release.
59558
59559         * build-aux/announce-gen: Also check for lzma-compressed files.
59560
59561 2008-01-11  Bruno Haible  <bruno@clisp.org>
59562
59563         * tests/test-memmem.c (main): Increase maximum allowed time.
59564         * tests/test-strstr.c (main): Likewise.
59565
59566 2008-01-11  Bruno Haible  <bruno@clisp.org>
59567
59568         * doc/functions/memmem.texi: Add more precisions about platforms.
59569         * doc/functions/strstr.texi: Likewise.
59570
59571 2008-01-10  Eric Blake  <ebb9@byu.net>
59572
59573         * m4/strstr.m4: Delete cruft from copy-n-paste.
59574         Reported by Bruno Haible.
59575
59576 2008-01-10  Bruno Haible  <bruno@clisp.org>
59577
59578         Make c-strstr rely on strstr.
59579         * lib/c-strstr.c: Don't include str-kmp.h.
59580         (c_strstr): Define in terms of strstr.
59581         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59582         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59583
59584 2008-01-10  Bruno Haible  <bruno@clisp.org>
59585
59586         * doc/gnulib.texi (String Functions in C Locale): New section.
59587         * doc/c-ctype.texi: New file.
59588         * doc/c-strcase.texi: New file.
59589         * doc/c-strcaseeq.texi: New file.
59590         * doc/c-strcasestr.texi: New file.
59591         * doc/c-strstr.texi: New file.
59592         * doc/c-strtod.texi: New file.
59593         * doc/c-strtold.texi: New file.
59594
59595 2008-01-10  Eric Blake  <ebb9@byu.net>
59596
59597         * lib/relocatable.h: Fix a comment.
59598
59599 2008-01-10  Eric Blake  <ebb9@byu.net>
59600
59601         Share two-way algorithm.
59602         * lib/str-two-way.h: New file, merged from...
59603         * lib/memmem.c: ...here...
59604         * lib/strstr.c: ...and here.
59605         * modules/memmem (Files): Use it.
59606         * modules/strstr (Files): Likewise.
59607
59608         Avoid quadratic strstr implementations.
59609         * lib/strstr.c: New file.
59610         * m4/strstr.m4: Likewise.
59611         * modules/strstr: Likewise.
59612         * modules/strstr-tests: Likewise.
59613         * tests/test-strstr.c: Likewise.
59614         * lib/string.in.h (rpl_strstr): Declare.
59615         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59616         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59617         * modules/string (Makefile.am): Likewise.
59618         * MODULES.html.sh (string handling): Mention new module.
59619         * doc/functions/strstr.texi (strstr): Document the bug.
59620
59621 2008-01-10  Bruno Haible  <bruno@clisp.org>
59622
59623         * lib/relocatable.h (relocate): State whether result is freshly
59624         allocated or not.
59625         * lib/relocatable.c (relocate): Return a freshly allocated string
59626         instead of a pointer to a privately held string.
59627         Reported by Sylvain Beucler <beuc@gnu.org>.
59628
59629 2008-01-10  Colin Watson  <cjwatson@debian.org>
59630
59631         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59632         s/S_ISNLK/S_ISLNK/.
59633
59634 2008-01-09  Bruno Haible  <bruno@clisp.org>
59635
59636         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59637         and other files.
59638         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59639         if it's only a guess.
59640         * modules/memmem: Simplify by depending on memmem-simple.
59641
59642 2008-01-09  Bruno Haible  <bruno@clisp.org>
59643
59644         Work around OpenBSD 4.0 tdelete() bug.
59645         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59646         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59647         macros and don't redefine the enum values.
59648         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59649         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59650         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59651
59652 2008-01-09  Bruno Haible  <bruno@clisp.org>
59653
59654         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59655         (main): Don't perform the tests if setlocale did not install a UTF-8
59656         locale. Needed on OpenBSD 4.0.
59657         * modules/wcwidth-tests (Depends-on): Add localcharset.
59658
59659 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59660
59661         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
59662         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
59663         * NEWS: announce this.
59664         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
59665
59666 2008-01-09  Simon Josefsson  <simon@josefsson.org>
59667         and Eric Blake  <ebb9@byu.net>
59668
59669         Add memmem-simple module.
59670         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
59671         (gl_FUNC_MEMMEM): Separate performance from presence checks.
59672         * modules/memmem-simple: New file.
59673         * modules/memmem (Description): Tweak.
59674         * MODULES.html.sh (string handling): Mention new module.
59675         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
59676         addressed by memmem-simple.
59677         * NEWS: Document the difference.
59678
59679 2008-01-09  Eric Blake  <ebb9@byu.net>
59680
59681         Give gcc some memmem optimization hints.
59682         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
59683         (strcasestr): Declare as pure.
59684         * modules/memmem (Maintainer): Claim my implementation.
59685
59686 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59687
59688         Support AIX 6.1 and higher.
59689         * build-aux/config.libpath: Likewise.
59690         * build-aux/config.rpath: Likewise.
59691
59692 2008-01-08  Jim Meyering  <meyering@redhat.com>
59693             Bruno Haible  <bruno@clisp.org>
59694
59695         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59696         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59697         Reported by Peter Fales in
59698         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59699
59700 2008-01-08  Bruno Haible  <bruno@clisp.org>
59701
59702         * modules/unictype/category-of (Depends-on): Add
59703         unictype/category-none.
59704         * modules/unictype/category-and-tests (Depends-on): Add
59705         unictype/category-{L,N,Lu,Nd}.
59706         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59707         * modules/unictype/category-or-tests (Depends-on): Add
59708         unictype/category-{L,N}.
59709         * modules/unictype/category-name-tests (Depends-on): Add
59710         unictype/category-{Z,Nl}.
59711         Reported by Simon Josefsson.
59712
59713 2008-01-08  Bruno Haible  <bruno@clisp.org>
59714
59715         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59716         convention better.
59717         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59718         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59719         Reported by Peter Miller <millerp@canb.auug.org.au>.
59720
59721 2008-01-08  Eric Blake  <ebb9@byu.net>
59722
59723         Rewrite memmem to guarantee linear complexity without malloc.
59724         * lib/memmem.c (memmem): Use Two-Way rather than
59725         Knuth-Morris-Pratt, to allow O(1) space usage.
59726         (critical_factorization, two_way_short_needle)
59727         (two_way_long_needle): New functions.
59728         (knuth_morris_pratt): Delete.
59729         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59730         Add stdint.
59731         * tests/test-memmem.c (main): Add tests for periodic needle and
59732         sublinear performance.
59733         * doc/functions/memmem.texi (memmem): Document other deficiencies
59734         in cygwin and older glibc.
59735
59736 2008-01-08  Bruno Haible  <bruno@clisp.org>
59737
59738         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59739         augmentation.
59740
59741 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59742
59743         Add a configure time option: --disable-acl.
59744         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59745         AC_ARG_ENABLE(acl).
59746
59747 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59748
59749         * tests/test-localename.c: Don't include obsolete "setenv.h".
59750
59751         * modules/localename-tests (Depends-on): Need unsetenv.
59752
59753 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59754
59755         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59756
59757 2008-01-06  Colin Watson  <cjwatson@debian.org>
59758
59759         * users.txt: Add man-db.
59760
59761 2008-01-07  Bruno Haible  <bruno@clisp.org>
59762
59763         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59764         previous section name.
59765
59766 2008-01-07  Bruno Haible  <bruno@clisp.org>
59767
59768         * lib/progname.c (set_program_name): Don't strip off a leading
59769         "lt-" prefix outside a .libs directory.
59770         Suggested by Paul Eggert.
59771
59772 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59773             Bruno Haible  <bruno@clisp.org>
59774
59775         Improve memory cleanup in 'relocatable' module.
59776         * lib/relocatable.h (compute_curr_prefix): Change return type to
59777         'char *'.
59778         * lib/relocatable.c (compute_curr_prefix): Change return type to
59779         'char *'. Free curr_installdir after use.
59780         (relocate): Free curr_prefix_better after use.
59781         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59782
59783 2008-01-01  Bruno Haible  <bruno@clisp.org>
59784
59785         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59786         failure on older glibc systems.
59787         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59788
59789 2008-01-05  Eric Blake  <ebb9@byu.net>
59790
59791         Avoid quadratic system memmem.
59792         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59793         Reported by Ralf Wildenhues.
59794
59795         Fix memmem test for mingw.
59796         * modules/memmem-tests (configure.ac): Check for alarm.
59797         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59798         it.
59799         * doc/functions/memmem.texi: New file.
59800         * doc/gnulib.texi (Function Substitutes): Add memmem.
59801         Reported by Bruno Haible.
59802
59803 2008-01-04  Bruno Haible  <bruno@clisp.org>
59804
59805         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59806         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59807         gl_HEADER_STRING_H_DEFAULTS.
59808
59809 2008-01-04  Eric Blake  <ebb9@byu.net>
59810
59811         Shorten duration of memmem test.
59812         * tests/test-memmem.c (main): Use alarm to declare failure if test
59813         is taking too long.
59814         Reported by Ralf Wildenhues.
59815
59816 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59817
59818         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59819         string, needed by strerror.
59820
59821 2008-01-03  Colin Watson  <cjwatson@debian.org>
59822             Bruno Haible  <bruno@clisp.org>
59823
59824         * doc/gnulib-tool.texi (Localization): New section.
59825
59826 2008-01-02  Bruno Haible  <bruno@clisp.org>
59827
59828         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59829         variables to 'unsigned char *' type.
59830         Reported by Paul Eggert.
59831
59832 2008-01-02  Jim Meyering  <jim@meyering.net>
59833
59834         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59835
59836 2007-12-31  Jim Meyering  <jim@meyering.net>
59837
59838         Avoid use of private FTS type name.
59839         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59840
59841 2007-12-30  Karl Berry  <karl@gnu.org>
59842
59843         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59844         work around defect in Texinfo and/or the standalone Info browser.
59845
59846 2007-12-30  Bruno Haible  <bruno@clisp.org>
59847
59848         Unify 5 copies of the KMP code.
59849         * lib/str-kmp.h: New file.
59850         * lib/c-strcasestr.c: Include str-kmp.h.
59851         (knuth_morris_pratt): Remove function.
59852         (c_strcasestr): Update.
59853         * lib/c-strstr.c: Include str-kmp.h.
59854         (knuth_morris_pratt): Remove function.
59855         (c_strcasestr): Update.
59856         * lib/mbscasestr.c: Include str-kmp.h.
59857         (knuth_morris_pratt_unibyte): Remove function.
59858         * lib/mbsstr.c: Include str-kmp.h.
59859         (knuth_morris_pratt_unibyte): Remove function.
59860         * lib/strcasestr.c: Include str-kmp.h.
59861         (knuth_morris_pratt): Remove function.
59862         (strcasestr): Update.
59863         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59864         * modules/c-strstr (Files): Likewise.
59865         * modules/mbscasestr (Files): Likewise.
59866         * modules/mbsstr (Files): Likewise.
59867         * modules/strcasestr (Files): Likewise.
59868         Suggested by Paul Eggert.
59869
59870 2007-12-30  Bruno Haible  <bruno@clisp.org>
59871
59872         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59873         defined.
59874
59875 2007-12-30  Bruno Haible  <bruno@clisp.org>
59876
59877         * lib/xmalloca.h: Include xalloc.h.
59878         (xnmalloca): New macro.
59879
59880 2007-12-30  Bruno Haible  <bruno@clisp.org>
59881
59882         * lib/malloca.h (nmalloca): New macro.
59883         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59884         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59885         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59886         knuth_morris_pratt_multibyte): Likewise.
59887         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59888         knuth_morris_pratt_multibyte): Likewise.
59889         * lib/memmem.c (knuth_morris_pratt): Likewise.
59890         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59891
59892 2007-12-25  Bruno Haible  <bruno@clisp.org>
59893
59894         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59895         * lib/glob.c: Don't include openat.h.
59896         (link_exists2_p): Add back the code that deals with the
59897         !GLOB_ALTDIRFUNC case.
59898         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59899         let it do the filename concatenation.
59900         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59901         * modules/glob (Depends-on): Remove openat.
59902
59903 2007-12-31  Bruno Haible  <bruno@clisp.org>
59904
59905         * modules/dirfd (License): Change to LGPLv2+.
59906         Approved by Jim Meyering.
59907
59908 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59909
59910         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59911         when multiplying M by sizeof (size_t).
59912
59913 2007-12-10  Martin Lambers  <marlam@marlam.de>
59914
59915         Override getpagesize on mingw.
59916         * lib/getpagesize.c: New file.
59917         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59918         * modules/getpagesize (Files): Add lib/getpagesize.c.
59919         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59921         REPLACE_GETPAGESIZE.
59922         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59923
59924 2007-12-25  Bruno Haible  <bruno@clisp.org>
59925
59926         * modules/localcharset (Notice): New field.
59927         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59928         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59929
59930 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59931             Bruno Haible  <bruno@clisp.org>
59932
59933         Avoid using the syntax symbol() in formatted documentation.
59934         * MODULES.html.sh (func_module): When replacing symbol() with a
59935         hyperlink, remove the parentheses. Show an error if some remain.
59936         Recognize and render the '...' syntax.
59937         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59938         Rework. Add paragraph about GCC's inlining.
59939         * doc/alloca.texi: Likewise.
59940         * doc/error.texi: Remove parentheses from symbol reference.
59941         * doc/gnulib-intro.texi: Likewise.
59942         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59943         * modules/fnmatch (Description): Reword to say "the ... function".
59944         * modules/full-read (Description): Likewise.
59945         * modules/full-write (Description): Likewise.
59946         * modules/safe-read (Description): Likewise.
59947         * modules/safe-write (Description): Likewise.
59948         * modules/strchrnul (Description): Likewise.
59949         * modules/trim (Description): Likewise.
59950         * modules/error (Description): Remove parentheses from symbol
59951         references.
59952         * modules/verror (Description): Likewise.
59953         Reported by Karl Berry.
59954
59955 2007-12-25  Bruno Haible  <bruno@clisp.org>
59956
59957         Fixup after 2007-10-16 commit.
59958         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59959
59960 2007-12-24  Bruno Haible  <bruno@clisp.org>
59961
59962         Make --enable-relocatable work with DESTDIR.
59963         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59964         to compute installdir from destprog.
59965         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59966         also set the RELOC_DESTDIR variable.
59967         Reported by Левашев Иван <octagram@bluebottle.com>.
59968
59969 2007-12-24  Bruno Haible  <bruno@clisp.org>
59970
59971         Fix link error due to xalloc_die().
59972         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59973         of xreadlink.
59974         * lib/relocwrapper.c: Update comments.
59975         * build-aux/install-reloc: Remove xreadlink.c from file list.
59976         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59977         xreadlink.c.
59978         Reported by Левашев Иван <octagram@bluebottle.com>.
59979
59980 2007-12-24  Bruno Haible  <bruno@clisp.org>
59981
59982         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59983         * lib/setenv.h: Remove file.
59984         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59985         lib/setenv.h.
59986         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59987         (Depends-on): Add stdlib.
59988         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59989         gl_FUNC_UNSETENV.
59990         (Include): Replace setenv.h with <stdlib.h>.
59991         * modules/unsetenv: New file.
59992         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
59993         * lib/unsetenv.c: Include <stdlib.h> first.
59994         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
59995         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
59996         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
59997         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
59998         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
59999         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60000         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60001         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60002         * doc/functions/unsetenv.texi: Update.
60003         * modules/xsetenv (Depends-on): Add unsetenv.
60004         * modules/getdate (Depends-on): Likewise.
60005         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60006         * lib/xsetenv.c: Don't include setenv.h.
60007         * lib/getdate.y: Likewise.
60008         * lib/relocwrapper.c: Likewise.
60009         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60010         (Depends-on): Add stdlib.
60011         * NEWS: Mention the changes.
60012         Reported by Левашев Иван <octagram@bluebottle.com>.
60013
60014 2007-12-23  Bruno Haible  <bruno@clisp.org>
60015
60016         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60017         indentation.
60018
60019 2007-12-23  Bruno Haible  <bruno@clisp.org>
60020
60021         * lib/c-strcasestr.c: Add more comments.
60022         * lib/c-strstr.c: Likewise.
60023         * lib/mbscasestr.c: Likewise.
60024         * lib/mbsstr.c: Likewise.
60025         * lib/strcasestr.c: Likewise.
60026         * lib/memmem.c: Likewise.
60027
60028 2007-12-23  Bruno Haible  <bruno@clisp.org>
60029
60030         * tests/test-memmem.c: Include <string.h> first.
60031
60032 2007-12-22  Bruno Haible  <bruno@clisp.org>
60033
60034         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60035         the contents of $testsbase.
60036         Reported by Ralf Wildenhues.
60037
60038 2007-12-22  Bruno Haible  <bruno@clisp.org>
60039
60040         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60041         two variables local_ldadd_before, local_ldadd_last.
60042
60043 2007-12-20  Eric Blake  <ebb9@byu.net>
60044
60045         Work around circular library issue when cross-compiling.
60046         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60047         that progname.o does not need to pull in rpl_memcmp.
60048
60049 2007-12-19  Eric Blake  <ebb9@byu.net>
60050
60051         Fix memmem to avoid O(n^2) worst-case complexity.
60052         * lib/memmem.c (knuth_morris_pratt): New function.
60053         (memmem): Use it if first few naive iterations fail.
60054         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60055         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60056         * modules/memchr (License): Likewise.
60057         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60058         malloca.
60059         * tests/test-memmem.c: Rewrite, borrowing ideas from
60060         test-mbsstr1.c; the old version wouldn't even compile!
60061         * modules/memmem-tests: New file.
60062         * lib/string.in.h (rpl_memmem): Add declaration.
60063         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60065         REPLACE_MEMMEM.
60066
60067 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60068
60069         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60070         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60071         before any system include files, and undef after them all.  This
60072         should fix a problem on VMS reported by John E. Malmberg in
60073         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60074
60075 2007-12-17  Eric Blake  <ebb9@byu.net>
60076
60077         Revert addition of verify, for BSD/OS.
60078         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60079         can't handle large files, for the sake of obsolete platforms.
60080         * modules/fseeko (Depends-on): Remove verify.
60081         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60082         * doc/functions/ftello.texi (ftello): Likewise.
60083         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60084         Reported by Larry Jones.
60085
60086 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60087
60088         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60089         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60090
60091 2007-12-17  Jim Meyering  <meyering@redhat.com>
60092
60093         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60094         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60095         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60096         * modules/getcwd (Depends-on): Add openat.
60097         Reported by Petr Salinger.
60098
60099 2007-12-17  Bruno Haible  <bruno@clisp.org>
60100
60101         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60102         avoid a segmentation fault of the configure test on x86_64 systems.
60103
60104 2007-12-15  Jim Meyering  <meyering@redhat.com>
60105
60106         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60107
60108 2007-12-13  Eric Blake  <ebb9@byu.net>
60109
60110         Another fseek test.
60111         * tests/test-fseek.c (main): Also test ungetc handling.
60112         * tests/test-fseeko.c (main): Likewise.
60113         * modules/fseeko (Depends-on): Add verify.
60114         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60115         large.
60116         Reported by Larry Jones.
60117
60118         Fix fseeko on mingw.
60119         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60120         seek.
60121
60122         Beef up fseek tests.
60123         * tests/test-fseek.c (main): Also test eof handling.
60124         * tests/test-fseeko.c (main): Likewise.
60125         Reported by Larry Jones.
60126
60127 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60128
60129         Fix fseeko on BSD-based platforms.
60130         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60131         successful seek.
60132
60133 2007-12-12  Eric Blake  <ebb9@byu.net>
60134
60135         Allow circular dependency of separate libtests.a
60136         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60137         when use_libtests.
60138
60139 2007-12-11  Eric Blake  <ebb9@byu.net>
60140
60141         Fix bug with -0.0L in previous patch.
60142         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60143         * tests/test-isnan.c (main): Also test on zeroes.
60144         * tests/test-isnanf.c (main): Likewise.
60145         * tests/test-isnanl.h (main): Likewise.
60146
60147         Detect pseudo-denormals on x86 even when cross-compiling.
60148         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60149         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60150         invalid bit patterns that happen to satisfy ==.
60151
60152         Avoid link failures with separate libtests.a.
60153         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60154         last, to satisfy circular dependencies.
60155
60156 2007-12-11  Eric Blake  <ebb9@byu.net>
60157         and Bruno Haible  <bruno@clisp.org>
60158
60159         Fix OpenBSD 4.0 <float.h> handling of long double.
60160         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60161         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60162         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60163
60164 2007-12-11  Jim Meyering  <meyering@redhat.com>
60165
60166         * users.txt: Add libvirt.
60167
60168         Support versions of autoconf prior to 2.59c.
60169         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60170         if it is not already defined.
60171
60172 2007-12-09  Bruno Haible  <bruno@clisp.org>
60173
60174         Let 'gnulib-tool --import' collect sources needed for the tests in
60175         tests/ rather than in lib/.
60176         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60177         argument. If true, add rules to generate libtests.a, and put libtests.a
60178         into $(LDADD). Consider source files in subdirectories and set
60179         uses_subdirs.
60180         (func_emit_initmacro_start, func_emit_initmacro_end,
60181         func_emit_initmacro_done): Pass all arguments explicitly.
60182         (func_import): Determine two module lists main_modules,
60183         testsrelated_modules. Determine use_libtests. Determine two variables
60184         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60185         instead of just sed_transform_lib_file. Determine two variables
60186         main_files and testsrelated_files. Compute 'files' as the union of
60187         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60188         func_add_or_update. In the generated gnulib-comp.m4, collect the
60189         object files for tests/ in different variables than those for lib/.
60190         Substitute LIBTESTS_LIBDEPS.
60191         (func_create_testdir): Combine the uses_subdirs results from
60192         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60193
60194 2007-12-09  Bruno Haible  <bruno@clisp.org>
60195
60196         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60197         the build-aux directory.
60198
60199 2007-12-09  Bruno Haible  <bruno@clisp.org>
60200
60201         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60202         introduced on 2006-09-09.
60203
60204 2007-12-07  Jim Meyering  <meyering@redhat.com>
60205
60206         Let these macros work also with autoconf-2.59.
60207         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60208         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60209         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60210
60211 2007-12-06  Jim Meyering  <meyering@redhat.com>
60212
60213         Avoid a configure-time syntax error in gl_FUNC_ACL.
60214         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60215         function in each branch, before testing the cache variable.
60216
60217 2007-12-04  Eric Blake  <ebb9@byu.net>
60218
60219         Make scripts executable.
60220         * build-aux/config.guess: Add execute permissions.
60221         * build-aux/config.sub: Likewise.
60222         * build-aux/gendocs.sh: Likewise.
60223
60224         Fix frexp on mingw.
60225         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60226         cross-compiling.
60227         * doc/functions/frexp.texi (frexp): Document the bug.
60228
60229         Make cygwin fseeko check more reliable.
60230         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60231         version numbers, rather than unrelated feature check.
60232         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60233         * doc/functions/ftello.texi (ftello): Likewise.
60234         Reported by Bruno Haible.
60235
60236         * m4/strerror.m4: Bump version number.
60237
60238 2007-12-03  Bruno Haible  <bruno@clisp.org>
60239
60240         * doc/functions/mprotect.texi: Mention the mingw problem.
60241
60242 2007-12-03  Eric Blake  <ebb9@byu.net>
60243
60244         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60245         REPLACE_STRERROR is initialized before this macro.
60246
60247 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60248
60249         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60250         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60251         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60252         put -lsec in even for programs other than 'ls'.  This fixes a problem
60253         for gettext reported by Bruno Haible in
60254         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60255         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60256         Add support for Solaris 10.  This isn't efficient, but should get the
60257         job done for now.
60258
60259 2007-12-03  James Youngman  <jay@gnu.org>
60260
60261         * doc/regexprops-generic.texi: change "an close-group" to "a
60262         close-group" and "illegal" to "not allowed".
60263
60264 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60265
60266         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60267         pr_byname.h. Needed for the rare case when the maintainer has done
60268         "make maintainer-clean" in the source directory and then attempts a
60269         build outside the source directory.
60270         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60271         scripts_byname.h.
60272
60273 2007-12-02  Martin Lambers <marlam@marlam.de>
60274             Bruno Haible  <bruno@clisp.org>
60275
60276         * lib/getpagesize.h: Remove file.
60277         * lib/unistd.in.h: Include declaration of getpagesize here.
60278         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60279         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60280         HAVE_SYS_PARAM_H.
60281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60282         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60283         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60284         (Depends-on): Add unistd.
60285         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60286         (Include): Use <unistd.h> instead of getpagesize.h.
60287         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60288         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60289         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60290         gl_GETPAGESIZE invocation, already handled by module dependency.
60291         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60292
60293 2007-12-02  Bruno Haible  <bruno@clisp.org>
60294
60295         * modules/strings-tests: New file.
60296         * tests/test-strings.c: New file.
60297
60298         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60299         * lib/strings.in.h: New file.
60300         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60301         * m4/strings_h.m4: New file.
60302         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60303         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60304         * modules/strings: New file.
60305         * modules/string (Makefile.am): Update.
60306         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60307         Reported by Karl Berry.
60308
60309 2007-12-01  Eric Blake  <ebb9@byu.net>
60310
60311         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60312         accommodate fix in cygwin 1.5.25.
60313
60314 2007-12-01  Jim Meyering  <meyering@redhat.com>
60315
60316         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60317         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60318         that would inhibit utf8-optimization of a regexp containing line-
60319         or buffer-anchors, e.g., `^', `$'.
60320
60321 2007-11-30  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60324         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60325         glthread_recursive_lock_init.
60326         * lib/lock.c (glthread_recursive_lock_init)
60327         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60328         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60329
60330 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60331
60332         New function qset_acl, like set_acl but with syscall semantics.
60333         * lib/acl.h (qset_acl): New decl.
60334         * lib/acl.c (qset_acl): New function.
60335         (set_acl): Use new function.  Use more-consistent diagnostics.
60336
60337 2007-11-28  Jim Meyering  <meyering@redhat.com>
60338
60339         * modules/physmem (License): Change from GPL to LGPLv2+.
60340
60341 2007-11-26  Bruno Haible  <bruno@clisp.org>
60342
60343         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60344         'long double' type has excess precision.
60345         Reported by Jim Meyering in
60346         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60347
60348 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60349
60350         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60351         Sync from <http://gnu.org/licenses>.
60352         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60353         with license text from same location.
60354         * doc/maintain.texi, doc/standards.texi:  Sync from
60355         <http://savannah.gnu.org/projects/gnustandards>.
60356
60357 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60358         and Jim Meyering  <meyering@redhat.com>
60359
60360         Adjust getdate' grammar to accept a slightly more regular language.
60361         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60362         Before, the former was rejected.
60363         * lib/getdate.y (digits_to_date_time): New function, factored
60364         out of ...
60365         (number): ...here.  Just call digits_to_date_time.
60366         (hybrid): New non-terminal to handle an <unsigned number,
60367         signed relative offset> sequence consistently.
60368
60369 2007-11-18  Jim Meyering  <meyering@redhat.com>
60370
60371         Pull my changes from coreutils:
60372         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60373         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60374         use of $gnulib_tool_option_extras, so that it's separated from the
60375         preceding argument.
60376
60377         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60378         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60379         parent destination directories before copying a file into place.
60380
60381 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60382
60383         bootstrap: work also with 4-argument variant of AC_INIT
60384         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60385
60386 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60387
60388         Port test-getaddrinfo to Solaris.
60389         Problem reported by Bruno Haible in
60390         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60391         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60392         explanation of setting 'hints'.
60393         Don't reject an implementation merely because it returns EAI_SERVICE.
60394         (EAI_SERVICE): Define to 0 if not defined.
60395
60396 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60397
60398         The license of gnu-make and posix-shell is now "GPLed build tool".
60399         * modules/gnu-make (License): Likewise.
60400         * modules/posix-shell (License): Likewise.
60401
60402         New module posix-shell, for determining a POSIX shell
60403         or perhaps something that is close enough to a POSIX shell.
60404         * m4/posix-shell.m4: New file.
60405         * modules/posix-shell: New file.
60406
60407         * MODULES.html.sh: Mention new module.
60408
60409         New module gnu-make, for determining whether we're using GNU Make.
60410         * m4/gnu-make.m4: New file.
60411         * modules/gnu-make: New file.
60412         * MODULES.html.sh: Mention new module.
60413
60414 2007-11-14  Jim Meyering  <meyering@redhat.com>
60415
60416         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60417         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60418         use this macro to create a function _definition_.
60419         Remove useless "#undef ARGMATCH_DIE".
60420
60421 2007-11-14  Bruno Haible  <bruno@clisp.org>
60422
60423         * lib/config.charset: Update for OpenBSD 4.1.
60424         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60425
60426 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60427
60428         Document 64-bit #if problems in stdint.texi.
60429         * doc/headers/stdint.texi (stdint.h): Mention problems with
60430         64-bit-#if, and how to work around them.
60431
60432         Don't insist on 'long long int' support in the preprocessor.  It
60433         breaks too many things.  For example, PRIdMAX still uses a 'long
60434         long int' format with the latest Sun compiler, even though
60435         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60436         preprocessor problem.  This causes the latest coreutils to dump
60437         core on Solaris 10 sparc with the Sun C compiler.
60438         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60439         the troublesome expressions at configure-time, not at #if-time.
60440         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60441         preprocessor.
60442         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60443         compile-time C checks, done at 'configure'-time.
60444         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60445         * modules/inttypes (Makefile): Substitute the new symbols that
60446         gl_INTTYPES_H now generates.
60447         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60448
60449 2007-11-12  Bruno Haible  <bruno@clisp.org>
60450
60451         Tests for Unicode character classification functions.
60452
60453         * modules/unictype/bidicategory-byname-tests: New file.
60454         * modules/unictype/bidicategory-name-tests: New file.
60455         * modules/unictype/bidicategory-of-tests: New file.
60456         * modules/unictype/bidicategory-test-tests: New file.
60457         * modules/unictype/block-list-tests: New file.
60458         * modules/unictype/block-of-tests: New file.
60459         * modules/unictype/block-test-tests: New file.
60460         * modules/unictype/category-C-tests: New file.
60461         * modules/unictype/category-Cc-tests: New file.
60462         * modules/unictype/category-Cf-tests: New file.
60463         * modules/unictype/category-Cn-tests: New file.
60464         * modules/unictype/category-Co-tests: New file.
60465         * modules/unictype/category-Cs-tests: New file.
60466         * modules/unictype/category-L-tests: New file.
60467         * modules/unictype/category-Ll-tests: New file.
60468         * modules/unictype/category-Lm-tests: New file.
60469         * modules/unictype/category-Lo-tests: New file.
60470         * modules/unictype/category-Lt-tests: New file.
60471         * modules/unictype/category-Lu-tests: New file.
60472         * modules/unictype/category-M-tests: New file.
60473         * modules/unictype/category-Mc-tests: New file.
60474         * modules/unictype/category-Me-tests: New file.
60475         * modules/unictype/category-Mn-tests: New file.
60476         * modules/unictype/category-N-tests: New file.
60477         * modules/unictype/category-Nd-tests: New file.
60478         * modules/unictype/category-Nl-tests: New file.
60479         * modules/unictype/category-No-tests: New file.
60480         * modules/unictype/category-P-tests: New file.
60481         * modules/unictype/category-Pc-tests: New file.
60482         * modules/unictype/category-Pd-tests: New file.
60483         * modules/unictype/category-Pe-tests: New file.
60484         * modules/unictype/category-Pf-tests: New file.
60485         * modules/unictype/category-Pi-tests: New file.
60486         * modules/unictype/category-Po-tests: New file.
60487         * modules/unictype/category-Ps-tests: New file.
60488         * modules/unictype/category-S-tests: New file.
60489         * modules/unictype/category-Sc-tests: New file.
60490         * modules/unictype/category-Sk-tests: New file.
60491         * modules/unictype/category-Sm-tests: New file.
60492         * modules/unictype/category-So-tests: New file.
60493         * modules/unictype/category-Z-tests: New file.
60494         * modules/unictype/category-Zl-tests: New file.
60495         * modules/unictype/category-Zp-tests: New file.
60496         * modules/unictype/category-Zs-tests: New file.
60497         * modules/unictype/category-and-not-tests: New file.
60498         * modules/unictype/category-and-tests: New file.
60499         * modules/unictype/category-byname-tests: New file.
60500         * modules/unictype/category-name-tests: New file.
60501         * modules/unictype/category-none-tests: New file.
60502         * modules/unictype/category-of-tests: New file.
60503         * modules/unictype/category-or-tests: New file.
60504         * modules/unictype/category-test-withtable-tests: New file.
60505         * modules/unictype/combining-class-tests: New file.
60506         * modules/unictype/ctype-alnum-tests: New file.
60507         * modules/unictype/ctype-alpha-tests: New file.
60508         * modules/unictype/ctype-blank-tests: New file.
60509         * modules/unictype/ctype-cntrl-tests: New file.
60510         * modules/unictype/ctype-digit-tests: New file.
60511         * modules/unictype/ctype-graph-tests: New file.
60512         * modules/unictype/ctype-lower-tests: New file.
60513         * modules/unictype/ctype-print-tests: New file.
60514         * modules/unictype/ctype-punct-tests: New file.
60515         * modules/unictype/ctype-space-tests: New file.
60516         * modules/unictype/ctype-upper-tests: New file.
60517         * modules/unictype/ctype-xdigit-tests: New file.
60518         * modules/unictype/decimal-digit-tests: New file.
60519         * modules/unictype/digit-tests: New file.
60520         * modules/unictype/mirror-tests: New file.
60521         * modules/unictype/numeric-tests: New file.
60522         * modules/unictype/property-alphabetic-tests: New file.
60523         * modules/unictype/property-ascii-hex-digit-tests: New file.
60524         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60525         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60526         * modules/unictype/property-bidi-block-separator-tests: New file.
60527         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60528         * modules/unictype/property-bidi-common-separator-tests: New file.
60529         * modules/unictype/property-bidi-control-tests: New file.
60530         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60531         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60532         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60533         * modules/unictype/property-bidi-european-digit-tests: New file.
60534         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60535         * modules/unictype/property-bidi-left-to-right-tests: New file.
60536         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60537         * modules/unictype/property-bidi-other-neutral-tests: New file.
60538         * modules/unictype/property-bidi-pdf-tests: New file.
60539         * modules/unictype/property-bidi-segment-separator-tests: New file.
60540         * modules/unictype/property-bidi-whitespace-tests: New file.
60541         * modules/unictype/property-byname-tests: New file.
60542         * modules/unictype/property-combining-tests: New file.
60543         * modules/unictype/property-composite-tests: New file.
60544         * modules/unictype/property-currency-symbol-tests: New file.
60545         * modules/unictype/property-dash-tests: New file.
60546         * modules/unictype/property-decimal-digit-tests: New file.
60547         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60548         * modules/unictype/property-deprecated-tests: New file.
60549         * modules/unictype/property-diacritic-tests: New file.
60550         * modules/unictype/property-extender-tests: New file.
60551         * modules/unictype/property-format-control-tests: New file.
60552         * modules/unictype/property-grapheme-base-tests: New file.
60553         * modules/unictype/property-grapheme-extend-tests: New file.
60554         * modules/unictype/property-grapheme-link-tests: New file.
60555         * modules/unictype/property-hex-digit-tests: New file.
60556         * modules/unictype/property-hyphen-tests: New file.
60557         * modules/unictype/property-id-continue-tests: New file.
60558         * modules/unictype/property-id-start-tests: New file.
60559         * modules/unictype/property-ideographic-tests: New file.
60560         * modules/unictype/property-ids-binary-operator-tests: New file.
60561         * modules/unictype/property-ids-trinary-operator-tests: New file.
60562         * modules/unictype/property-ignorable-control-tests: New file.
60563         * modules/unictype/property-iso-control-tests: New file.
60564         * modules/unictype/property-join-control-tests: New file.
60565         * modules/unictype/property-left-of-pair-tests: New file.
60566         * modules/unictype/property-line-separator-tests: New file.
60567         * modules/unictype/property-logical-order-exception-tests: New file.
60568         * modules/unictype/property-lowercase-tests: New file.
60569         * modules/unictype/property-math-tests: New file.
60570         * modules/unictype/property-non-break-tests: New file.
60571         * modules/unictype/property-not-a-character-tests: New file.
60572         * modules/unictype/property-numeric-tests: New file.
60573         * modules/unictype/property-other-alphabetic-tests: New file.
60574         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60575         * modules/unictype/property-other-grapheme-extend-tests: New file.
60576         * modules/unictype/property-other-id-continue-tests: New file.
60577         * modules/unictype/property-other-id-start-tests: New file.
60578         * modules/unictype/property-other-lowercase-tests: New file.
60579         * modules/unictype/property-other-math-tests: New file.
60580         * modules/unictype/property-other-uppercase-tests: New file.
60581         * modules/unictype/property-paired-punctuation-tests: New file.
60582         * modules/unictype/property-paragraph-separator-tests: New file.
60583         * modules/unictype/property-pattern-syntax-tests: New file.
60584         * modules/unictype/property-pattern-white-space-tests: New file.
60585         * modules/unictype/property-private-use-tests: New file.
60586         * modules/unictype/property-punctuation-tests: New file.
60587         * modules/unictype/property-quotation-mark-tests: New file.
60588         * modules/unictype/property-radical-tests: New file.
60589         * modules/unictype/property-sentence-terminal-tests: New file.
60590         * modules/unictype/property-soft-dotted-tests: New file.
60591         * modules/unictype/property-space-tests: New file.
60592         * modules/unictype/property-terminal-punctuation-tests: New file.
60593         * modules/unictype/property-test-tests: New file.
60594         * modules/unictype/property-titlecase-tests: New file.
60595         * modules/unictype/property-unassigned-code-value-tests: New file.
60596         * modules/unictype/property-unified-ideograph-tests: New file.
60597         * modules/unictype/property-uppercase-tests: New file.
60598         * modules/unictype/property-variation-selector-tests: New file.
60599         * modules/unictype/property-white-space-tests: New file.
60600         * modules/unictype/property-xid-continue-tests: New file.
60601         * modules/unictype/property-xid-start-tests: New file.
60602         * modules/unictype/property-zero-width-tests: New file.
60603         * modules/unictype/scripts-tests: New file.
60604         * modules/unictype/syntax-c-ident-tests: New file.
60605         * modules/unictype/syntax-c-whitespace-tests: New file.
60606         * modules/unictype/syntax-java-ident-tests: New file.
60607         * modules/unictype/syntax-java-whitespace-tests: New file.
60608         * tests/unictype/test-bidi_byname.c: New file.
60609         * tests/unictype/test-bidi_name.c: New file.
60610         * tests/unictype/test-bidi_of.c: New file.
60611         * tests/unictype/test-bidi_test.c: New file.
60612         * tests/unictype/test-block_list.c: New file.
60613         * tests/unictype/test-block_of.c: New file.
60614         * tests/unictype/test-block_test.c: New file.
60615         * tests/unictype/test-categ_and.c: New file.
60616         * tests/unictype/test-categ_and_not.c: New file.
60617         * tests/unictype/test-categ_byname.c: New file.
60618         * tests/unictype/test-categ_name.c: New file.
60619         * tests/unictype/test-categ_none.c: New file.
60620         * tests/unictype/test-categ_of.c: New file.
60621         * tests/unictype/test-categ_or.c: New file.
60622         * tests/unictype/test-categ_test_withtable.c: New file.
60623         * tests/unictype/test-combining.c: New file.
60624         * tests/unictype/test-decdigit.c: New file.
60625         * tests/unictype/test-digit.c: New file.
60626         * tests/unictype/test-mirror.c: New file.
60627         * tests/unictype/test-numeric.c: New file.
60628         * tests/unictype/test-pr_byname.c: New file.
60629         * tests/unictype/test-pr_test.c: New file.
60630         * tests/unictype/test-predicate-part1.h: New file.
60631         * tests/unictype/test-predicate-part2.h: New file.
60632         * tests/unictype/test-scripts.c: New file.
60633         * tests/unictype/test-sy_c_ident.c: New file.
60634         * tests/unictype/test-sy_java_ident.c: New file.
60635
60636         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60637         for Unicode 5.0.0.
60638         * tests/unictype/test-categ_Cc.c: Likewise.
60639         * tests/unictype/test-categ_Cf.c: Likewise.
60640         * tests/unictype/test-categ_Cn.c: Likewise.
60641         * tests/unictype/test-categ_Co.c: Likewise.
60642         * tests/unictype/test-categ_Cs.c: Likewise.
60643         * tests/unictype/test-categ_L.c: Likewise.
60644         * tests/unictype/test-categ_Ll.c: Likewise.
60645         * tests/unictype/test-categ_Lm.c: Likewise.
60646         * tests/unictype/test-categ_Lo.c: Likewise.
60647         * tests/unictype/test-categ_Lt.c: Likewise.
60648         * tests/unictype/test-categ_Lu.c: Likewise.
60649         * tests/unictype/test-categ_M.c: Likewise.
60650         * tests/unictype/test-categ_Mc.c: Likewise.
60651         * tests/unictype/test-categ_Me.c: Likewise.
60652         * tests/unictype/test-categ_Mn.c: Likewise.
60653         * tests/unictype/test-categ_N.c: Likewise.
60654         * tests/unictype/test-categ_Nd.c: Likewise.
60655         * tests/unictype/test-categ_Nl.c: Likewise.
60656         * tests/unictype/test-categ_No.c: Likewise.
60657         * tests/unictype/test-categ_P.c: Likewise.
60658         * tests/unictype/test-categ_Pc.c: Likewise.
60659         * tests/unictype/test-categ_Pd.c: Likewise.
60660         * tests/unictype/test-categ_Pe.c: Likewise.
60661         * tests/unictype/test-categ_Pf.c: Likewise.
60662         * tests/unictype/test-categ_Pi.c: Likewise.
60663         * tests/unictype/test-categ_Po.c: Likewise.
60664         * tests/unictype/test-categ_Ps.c: Likewise.
60665         * tests/unictype/test-categ_S.c: Likewise.
60666         * tests/unictype/test-categ_Sc.c: Likewise.
60667         * tests/unictype/test-categ_Sk.c: Likewise.
60668         * tests/unictype/test-categ_Sm.c: Likewise.
60669         * tests/unictype/test-categ_So.c: Likewise.
60670         * tests/unictype/test-categ_Z.c: Likewise.
60671         * tests/unictype/test-categ_Zl.c: Likewise.
60672         * tests/unictype/test-categ_Zp.c: Likewise.
60673         * tests/unictype/test-categ_Zs.c: Likewise.
60674         * tests/unictype/test-ctype_alnum.c: Likewise.
60675         * tests/unictype/test-ctype_alpha.c: Likewise.
60676         * tests/unictype/test-ctype_blank.c: Likewise.
60677         * tests/unictype/test-ctype_cntrl.c: Likewise.
60678         * tests/unictype/test-ctype_digit.c: Likewise.
60679         * tests/unictype/test-ctype_graph.c: Likewise.
60680         * tests/unictype/test-ctype_lower.c: Likewise.
60681         * tests/unictype/test-ctype_print.c: Likewise.
60682         * tests/unictype/test-ctype_punct.c: Likewise.
60683         * tests/unictype/test-ctype_space.c: Likewise.
60684         * tests/unictype/test-ctype_upper.c: Likewise.
60685         * tests/unictype/test-ctype_xdigit.c: Likewise.
60686         * tests/unictype/test-decdigit.h: Likewise.
60687         * tests/unictype/test-digit.h: Likewise.
60688         * tests/unictype/test-numeric.h: Likewise.
60689         * tests/unictype/test-pr_alphabetic.c: Likewise.
60690         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60691         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60692         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60693         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60694         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60695         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60696         * tests/unictype/test-pr_bidi_control.c: Likewise.
60697         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60698         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60699         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60700         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60701         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60702         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60703         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60704         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60705         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60706         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60707         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60708         * tests/unictype/test-pr_combining.c: Likewise.
60709         * tests/unictype/test-pr_composite.c: Likewise.
60710         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60711         * tests/unictype/test-pr_dash.c: Likewise.
60712         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60713         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60714         * tests/unictype/test-pr_deprecated.c: Likewise.
60715         * tests/unictype/test-pr_diacritic.c: Likewise.
60716         * tests/unictype/test-pr_extender.c: Likewise.
60717         * tests/unictype/test-pr_format_control.c: Likewise.
60718         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60719         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60720         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60721         * tests/unictype/test-pr_hex_digit.c: Likewise.
60722         * tests/unictype/test-pr_hyphen.c: Likewise.
60723         * tests/unictype/test-pr_id_continue.c: Likewise.
60724         * tests/unictype/test-pr_id_start.c: Likewise.
60725         * tests/unictype/test-pr_ideographic.c: Likewise.
60726         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60727         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60728         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60729         * tests/unictype/test-pr_iso_control.c: Likewise.
60730         * tests/unictype/test-pr_join_control.c: Likewise.
60731         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60732         * tests/unictype/test-pr_line_separator.c: Likewise.
60733         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60734         * tests/unictype/test-pr_lowercase.c: Likewise.
60735         * tests/unictype/test-pr_math.c: Likewise.
60736         * tests/unictype/test-pr_non_break.c: Likewise.
60737         * tests/unictype/test-pr_not_a_character.c: Likewise.
60738         * tests/unictype/test-pr_numeric.c: Likewise.
60739         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60740         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60741         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60742         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60743         * tests/unictype/test-pr_other_id_start.c: Likewise.
60744         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60745         * tests/unictype/test-pr_other_math.c: Likewise.
60746         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60747         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60748         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60749         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60750         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60751         * tests/unictype/test-pr_private_use.c: Likewise.
60752         * tests/unictype/test-pr_punctuation.c: Likewise.
60753         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60754         * tests/unictype/test-pr_radical.c: Likewise.
60755         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60756         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60757         * tests/unictype/test-pr_space.c: Likewise.
60758         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60759         * tests/unictype/test-pr_titlecase.c: Likewise.
60760         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60761         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60762         * tests/unictype/test-pr_uppercase.c: Likewise.
60763         * tests/unictype/test-pr_variation_selector.c: Likewise.
60764         * tests/unictype/test-pr_white_space.c: Likewise.
60765         * tests/unictype/test-pr_xid_continue.c: Likewise.
60766         * tests/unictype/test-pr_xid_start.c: Likewise.
60767         * tests/unictype/test-pr_zero_width.c: Likewise.
60768         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60769         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60770
60771 2007-11-12  Bruno Haible  <bruno@clisp.org>
60772
60773         Unicode character classification functions.
60774         * lib/unictype.h: New file.
60775         * modules/unictype/base: New file.
60776         * modules/unictype/category-L: New file.
60777         * modules/unictype/category-Lu: New file.
60778         * modules/unictype/category-Ll: New file.
60779         * modules/unictype/category-Lt: New file.
60780         * modules/unictype/category-Lm: New file.
60781         * modules/unictype/category-Lo: New file.
60782         * modules/unictype/category-M: New file.
60783         * modules/unictype/category-Mn: New file.
60784         * modules/unictype/category-Mc: New file.
60785         * modules/unictype/category-Me: New file.
60786         * modules/unictype/category-N: New file.
60787         * modules/unictype/category-Nd: New file.
60788         * modules/unictype/category-Nl: New file.
60789         * modules/unictype/category-No: New file.
60790         * modules/unictype/category-P: New file.
60791         * modules/unictype/category-Pc: New file.
60792         * modules/unictype/category-Pd: New file.
60793         * modules/unictype/category-Ps: New file.
60794         * modules/unictype/category-Pe: New file.
60795         * modules/unictype/category-Pi: New file.
60796         * modules/unictype/category-Pf: New file.
60797         * modules/unictype/category-Po: New file.
60798         * modules/unictype/category-S: New file.
60799         * modules/unictype/category-Sm: New file.
60800         * modules/unictype/category-Sc: New file.
60801         * modules/unictype/category-Sk: New file.
60802         * modules/unictype/category-So: New file.
60803         * modules/unictype/category-Z: New file.
60804         * modules/unictype/category-Zs: New file.
60805         * modules/unictype/category-Zl: New file.
60806         * modules/unictype/category-Zp: New file.
60807         * modules/unictype/category-C: New file.
60808         * modules/unictype/category-Cc: New file.
60809         * modules/unictype/category-Cf: New file.
60810         * modules/unictype/category-Cs: New file.
60811         * modules/unictype/category-Co: New file.
60812         * modules/unictype/category-Cn: New file.
60813         * modules/unictype/category-or: New file.
60814         * modules/unictype/category-of: New file.
60815         * modules/unictype/category-test: New file.
60816         * modules/unictype/category-test-withtable: New file.
60817         * modules/unictype/category-byname: New file.
60818         * modules/unictype/category-none: New file.
60819         * modules/unictype/category-and: New file.
60820         * modules/unictype/category-and-not: New file.
60821         * modules/unictype/category-name: New file.
60822         * modules/unictype/combining-class: New file.
60823         * modules/unictype/category-all: New file.
60824         * modules/unictype/bidicategory-all: New file.
60825         * modules/unictype/bidicategory-byname: New file.
60826         * modules/unictype/bidicategory-name: New file.
60827         * modules/unictype/bidicategory-of: New file.
60828         * modules/unictype/bidicategory-test: New file.
60829         * modules/unictype/decimal-digit: New file.
60830         * modules/unictype/digit: New file.
60831         * modules/unictype/numeric: New file.
60832         * modules/unictype/mirror: New file.
60833         * modules/unictype/property-white-space: New file.
60834         * modules/unictype/property-alphabetic: New file.
60835         * modules/unictype/property-other-alphabetic: New file.
60836         * modules/unictype/property-not-a-character: New file.
60837         * modules/unictype/property-default-ignorable-code-point: New file.
60838         * modules/unictype/property-other-default-ignorable-code-point: New
60839         file.
60840         * modules/unictype/property-deprecated: New file.
60841         * modules/unictype/property-logical-order-exception: New file.
60842         * modules/unictype/property-variation-selector: New file.
60843         * modules/unictype/property-private-use: New file.
60844         * modules/unictype/property-unassigned-code-value: New file.
60845         * modules/unictype/property-uppercase: New file.
60846         * modules/unictype/property-other-uppercase: New file.
60847         * modules/unictype/property-lowercase: New file.
60848         * modules/unictype/property-other-lowercase: New file.
60849         * modules/unictype/property-titlecase: New file.
60850         * modules/unictype/property-soft-dotted: New file.
60851         * modules/unictype/property-id-start: New file.
60852         * modules/unictype/property-other-id-start: New file.
60853         * modules/unictype/property-id-continue: New file.
60854         * modules/unictype/property-other-id-continue: New file.
60855         * modules/unictype/property-xid-start: New file.
60856         * modules/unictype/property-xid-continue: New file.
60857         * modules/unictype/property-pattern-white-space: New file.
60858         * modules/unictype/property-pattern-syntax: New file.
60859         * modules/unictype/property-join-control: New file.
60860         * modules/unictype/property-grapheme-base: New file.
60861         * modules/unictype/property-grapheme-extend: New file.
60862         * modules/unictype/property-other-grapheme-extend: New file.
60863         * modules/unictype/property-grapheme-link: New file.
60864         * modules/unictype/property-bidi-control: New file.
60865         * modules/unictype/property-bidi-left-to-right: New file.
60866         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60867         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60868         * modules/unictype/property-bidi-european-digit: New file.
60869         * modules/unictype/property-bidi-eur-num-separator: New file.
60870         * modules/unictype/property-bidi-eur-num-terminator: New file.
60871         * modules/unictype/property-bidi-arabic-digit: New file.
60872         * modules/unictype/property-bidi-common-separator: New file.
60873         * modules/unictype/property-bidi-block-separator: New file.
60874         * modules/unictype/property-bidi-segment-separator: New file.
60875         * modules/unictype/property-bidi-whitespace: New file.
60876         * modules/unictype/property-bidi-non-spacing-mark: New file.
60877         * modules/unictype/property-bidi-boundary-neutral: New file.
60878         * modules/unictype/property-bidi-pdf: New file.
60879         * modules/unictype/property-bidi-embedding-or-override: New file.
60880         * modules/unictype/property-bidi-other-neutral: New file.
60881         * modules/unictype/property-hex-digit: New file.
60882         * modules/unictype/property-ascii-hex-digit: New file.
60883         * modules/unictype/property-ideographic: New file.
60884         * modules/unictype/property-unified-ideograph: New file.
60885         * modules/unictype/property-radical: New file.
60886         * modules/unictype/property-ids-binary-operator: New file.
60887         * modules/unictype/property-ids-trinary-operator: New file.
60888         * modules/unictype/property-zero-width: New file.
60889         * modules/unictype/property-space: New file.
60890         * modules/unictype/property-non-break: New file.
60891         * modules/unictype/property-iso-control: New file.
60892         * modules/unictype/property-format-control: New file.
60893         * modules/unictype/property-dash: New file.
60894         * modules/unictype/property-hyphen: New file.
60895         * modules/unictype/property-punctuation: New file.
60896         * modules/unictype/property-line-separator: New file.
60897         * modules/unictype/property-paragraph-separator: New file.
60898         * modules/unictype/property-quotation-mark: New file.
60899         * modules/unictype/property-sentence-terminal: New file.
60900         * modules/unictype/property-terminal-punctuation: New file.
60901         * modules/unictype/property-currency-symbol: New file.
60902         * modules/unictype/property-math: New file.
60903         * modules/unictype/property-other-math: New file.
60904         * modules/unictype/property-paired-punctuation: New file.
60905         * modules/unictype/property-left-of-pair: New file.
60906         * modules/unictype/property-combining: New file.
60907         * modules/unictype/property-composite: New file.
60908         * modules/unictype/property-decimal-digit: New file.
60909         * modules/unictype/property-numeric: New file.
60910         * modules/unictype/property-diacritic: New file.
60911         * modules/unictype/property-extender: New file.
60912         * modules/unictype/property-ignorable-control: New file.
60913         * modules/unictype/property-test: New file.
60914         * modules/unictype/property-byname: New file.
60915         * modules/unictype/property-all: New file.
60916         * modules/unictype/scripts: New file.
60917         * modules/unictype/scripts-all: New file.
60918         * modules/unictype/block-of: New file.
60919         * modules/unictype/block-test: New file.
60920         * modules/unictype/block-list: New file.
60921         * modules/unictype/block-all: New file.
60922         * modules/unictype/syntax-c-whitespace: New file.
60923         * modules/unictype/syntax-java-whitespace: New file.
60924         * modules/unictype/syntax-c-ident: New file.
60925         * modules/unictype/syntax-java-ident: New file.
60926         * modules/unictype/ctype-alnum: New file.
60927         * modules/unictype/ctype-alpha: New file.
60928         * modules/unictype/ctype-cntrl: New file.
60929         * modules/unictype/ctype-digit: New file.
60930         * modules/unictype/ctype-graph: New file.
60931         * modules/unictype/ctype-lower: New file.
60932         * modules/unictype/ctype-print: New file.
60933         * modules/unictype/ctype-punct: New file.
60934         * modules/unictype/ctype-space: New file.
60935         * modules/unictype/ctype-upper: New file.
60936         * modules/unictype/ctype-xdigit: New file.
60937         * modules/unictype/ctype-blank: New file.
60938         * lib/unictype/bidi_byname.c: New file.
60939         * lib/unictype/bidi_name.c: New file.
60940         * lib/unictype/bidi_of.c: New file.
60941         * lib/unictype/bidi_test.c: New file.
60942         * lib/unictype/bitmap.h: New file.
60943         * lib/unictype/block_test.c: New file.
60944         * lib/unictype/blocks.c: New file.
60945         * lib/unictype/categ_C.c: New file.
60946         * lib/unictype/categ_Cc.c: New file.
60947         * lib/unictype/categ_Cf.c: New file.
60948         * lib/unictype/categ_Cn.c: New file.
60949         * lib/unictype/categ_Co.c: New file.
60950         * lib/unictype/categ_Cs.c: New file.
60951         * lib/unictype/categ_L.c: New file.
60952         * lib/unictype/categ_Ll.c: New file.
60953         * lib/unictype/categ_Lm.c: New file.
60954         * lib/unictype/categ_Lo.c: New file.
60955         * lib/unictype/categ_Lt.c: New file.
60956         * lib/unictype/categ_Lu.c: New file.
60957         * lib/unictype/categ_M.c: New file.
60958         * lib/unictype/categ_Mc.c: New file.
60959         * lib/unictype/categ_Me.c: New file.
60960         * lib/unictype/categ_Mn.c: New file.
60961         * lib/unictype/categ_N.c: New file.
60962         * lib/unictype/categ_Nd.c: New file.
60963         * lib/unictype/categ_Nl.c: New file.
60964         * lib/unictype/categ_No.c: New file.
60965         * lib/unictype/categ_P.c: New file.
60966         * lib/unictype/categ_Pc.c: New file.
60967         * lib/unictype/categ_Pd.c: New file.
60968         * lib/unictype/categ_Pe.c: New file.
60969         * lib/unictype/categ_Pf.c: New file.
60970         * lib/unictype/categ_Pi.c: New file.
60971         * lib/unictype/categ_Po.c: New file.
60972         * lib/unictype/categ_Ps.c: New file.
60973         * lib/unictype/categ_S.c: New file.
60974         * lib/unictype/categ_Sc.c: New file.
60975         * lib/unictype/categ_Sk.c: New file.
60976         * lib/unictype/categ_Sm.c: New file.
60977         * lib/unictype/categ_So.c: New file.
60978         * lib/unictype/categ_Z.c: New file.
60979         * lib/unictype/categ_Zl.c: New file.
60980         * lib/unictype/categ_Zp.c: New file.
60981         * lib/unictype/categ_Zs.c: New file.
60982         * lib/unictype/categ_and.c: New file.
60983         * lib/unictype/categ_and_not.c: New file.
60984         * lib/unictype/categ_byname.c: New file.
60985         * lib/unictype/categ_name.c: New file.
60986         * lib/unictype/categ_none.c: New file.
60987         * lib/unictype/categ_of.c: New file.
60988         * lib/unictype/categ_or.c: New file.
60989         * lib/unictype/categ_test.c: New file.
60990         * lib/unictype/combining.c: New file.
60991         * lib/unictype/ctype_alnum.c: New file.
60992         * lib/unictype/ctype_alpha.c: New file.
60993         * lib/unictype/ctype_blank.c: New file.
60994         * lib/unictype/ctype_cntrl.c: New file.
60995         * lib/unictype/ctype_digit.c: New file.
60996         * lib/unictype/ctype_graph.c: New file.
60997         * lib/unictype/ctype_lower.c: New file.
60998         * lib/unictype/ctype_print.c: New file.
60999         * lib/unictype/ctype_punct.c: New file.
61000         * lib/unictype/ctype_space.c: New file.
61001         * lib/unictype/ctype_upper.c: New file.
61002         * lib/unictype/ctype_xdigit.c: New file.
61003         * lib/unictype/decdigit.c: New file.
61004         * lib/unictype/digit.c: New file.
61005         * lib/unictype/identsyntaxmap.h: New file.
61006         * lib/unictype/mirror.c: New file.
61007         * lib/unictype/numeric.c: New file.
61008         * lib/unictype/pr_alphabetic.c: New file.
61009         * lib/unictype/pr_ascii_hex_digit.c: New file.
61010         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61011         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61012         * lib/unictype/pr_bidi_block_separator.c: New file.
61013         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61014         * lib/unictype/pr_bidi_common_separator.c: New file.
61015         * lib/unictype/pr_bidi_control.c: New file.
61016         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61017         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61018         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61019         * lib/unictype/pr_bidi_european_digit.c: New file.
61020         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61021         * lib/unictype/pr_bidi_left_to_right.c: New file.
61022         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61023         * lib/unictype/pr_bidi_other_neutral.c: New file.
61024         * lib/unictype/pr_bidi_pdf.c: New file.
61025         * lib/unictype/pr_bidi_segment_separator.c: New file.
61026         * lib/unictype/pr_bidi_whitespace.c: New file.
61027         * lib/unictype/pr_byname.c: New file.
61028         * lib/unictype/pr_byname.gperf: New file.
61029         * lib/unictype/pr_combining.c: New file.
61030         * lib/unictype/pr_composite.c: New file.
61031         * lib/unictype/pr_currency_symbol.c: New file.
61032         * lib/unictype/pr_dash.c: New file.
61033         * lib/unictype/pr_decimal_digit.c: New file.
61034         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61035         * lib/unictype/pr_deprecated.c: New file.
61036         * lib/unictype/pr_diacritic.c: New file.
61037         * lib/unictype/pr_extender.c: New file.
61038         * lib/unictype/pr_format_control.c: New file.
61039         * lib/unictype/pr_grapheme_base.c: New file.
61040         * lib/unictype/pr_grapheme_extend.c: New file.
61041         * lib/unictype/pr_grapheme_link.c: New file.
61042         * lib/unictype/pr_hex_digit.c: New file.
61043         * lib/unictype/pr_hyphen.c: New file.
61044         * lib/unictype/pr_id_continue.c: New file.
61045         * lib/unictype/pr_id_start.c: New file.
61046         * lib/unictype/pr_ideographic.c: New file.
61047         * lib/unictype/pr_ids_binary_operator.c: New file.
61048         * lib/unictype/pr_ids_trinary_operator.c: New file.
61049         * lib/unictype/pr_ignorable_control.c: New file.
61050         * lib/unictype/pr_iso_control.c: New file.
61051         * lib/unictype/pr_join_control.c: New file.
61052         * lib/unictype/pr_left_of_pair.c: New file.
61053         * lib/unictype/pr_line_separator.c: New file.
61054         * lib/unictype/pr_logical_order_exception.c: New file.
61055         * lib/unictype/pr_lowercase.c: New file.
61056         * lib/unictype/pr_math.c: New file.
61057         * lib/unictype/pr_non_break.c: New file.
61058         * lib/unictype/pr_not_a_character.c: New file.
61059         * lib/unictype/pr_numeric.c: New file.
61060         * lib/unictype/pr_other_alphabetic.c: New file.
61061         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61062         * lib/unictype/pr_other_grapheme_extend.c: New file.
61063         * lib/unictype/pr_other_id_continue.c: New file.
61064         * lib/unictype/pr_other_id_start.c: New file.
61065         * lib/unictype/pr_other_lowercase.c: New file.
61066         * lib/unictype/pr_other_math.c: New file.
61067         * lib/unictype/pr_other_uppercase.c: New file.
61068         * lib/unictype/pr_paired_punctuation.c: New file.
61069         * lib/unictype/pr_paragraph_separator.c: New file.
61070         * lib/unictype/pr_pattern_syntax.c: New file.
61071         * lib/unictype/pr_pattern_white_space.c: New file.
61072         * lib/unictype/pr_private_use.c: New file.
61073         * lib/unictype/pr_punctuation.c: New file.
61074         * lib/unictype/pr_quotation_mark.c: New file.
61075         * lib/unictype/pr_radical.c: New file.
61076         * lib/unictype/pr_sentence_terminal.c: New file.
61077         * lib/unictype/pr_soft_dotted.c: New file.
61078         * lib/unictype/pr_space.c: New file.
61079         * lib/unictype/pr_terminal_punctuation.c: New file.
61080         * lib/unictype/pr_test.c: New file.
61081         * lib/unictype/pr_titlecase.c: New file.
61082         * lib/unictype/pr_unassigned_code_value.c: New file.
61083         * lib/unictype/pr_unified_ideograph.c: New file.
61084         * lib/unictype/pr_uppercase.c: New file.
61085         * lib/unictype/pr_variation_selector.c: New file.
61086         * lib/unictype/pr_white_space.c: New file.
61087         * lib/unictype/pr_xid_continue.c: New file.
61088         * lib/unictype/pr_xid_start.c: New file.
61089         * lib/unictype/pr_zero_width.c: New file.
61090         * lib/unictype/scripts.c: New file.
61091         * lib/unictype/sy_c_ident.c: New file.
61092         * lib/unictype/sy_c_whitespace.c: New file.
61093         * lib/unictype/sy_java_ident.c: New file.
61094         * lib/unictype/sy_java_whitespace.c: New file.
61095
61096         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61097         Unicode 5.0.0.
61098         * lib/unictype/blocks.h: Likewise.
61099         * lib/unictype/categ_C.h: Likewise.
61100         * lib/unictype/categ_Cc.h: Likewise.
61101         * lib/unictype/categ_Cf.h: Likewise.
61102         * lib/unictype/categ_Cn.h: Likewise.
61103         * lib/unictype/categ_Co.h: Likewise.
61104         * lib/unictype/categ_Cs.h: Likewise.
61105         * lib/unictype/categ_L.h: Likewise.
61106         * lib/unictype/categ_Ll.h: Likewise.
61107         * lib/unictype/categ_Lm.h: Likewise.
61108         * lib/unictype/categ_Lo.h: Likewise.
61109         * lib/unictype/categ_Lt.h: Likewise.
61110         * lib/unictype/categ_Lu.h: Likewise.
61111         * lib/unictype/categ_M.h: Likewise.
61112         * lib/unictype/categ_Mc.h: Likewise.
61113         * lib/unictype/categ_Me.h: Likewise.
61114         * lib/unictype/categ_Mn.h: Likewise.
61115         * lib/unictype/categ_N.h: Likewise.
61116         * lib/unictype/categ_Nd.h: Likewise.
61117         * lib/unictype/categ_Nl.h: Likewise.
61118         * lib/unictype/categ_No.h: Likewise.
61119         * lib/unictype/categ_P.h: Likewise.
61120         * lib/unictype/categ_Pc.h: Likewise.
61121         * lib/unictype/categ_Pd.h: Likewise.
61122         * lib/unictype/categ_Pe.h: Likewise.
61123         * lib/unictype/categ_Pf.h: Likewise.
61124         * lib/unictype/categ_Pi.h: Likewise.
61125         * lib/unictype/categ_Po.h: Likewise.
61126         * lib/unictype/categ_Ps.h: Likewise.
61127         * lib/unictype/categ_S.h: Likewise.
61128         * lib/unictype/categ_Sc.h: Likewise.
61129         * lib/unictype/categ_Sk.h: Likewise.
61130         * lib/unictype/categ_Sm.h: Likewise.
61131         * lib/unictype/categ_So.h: Likewise.
61132         * lib/unictype/categ_Z.h: Likewise.
61133         * lib/unictype/categ_Zl.h: Likewise.
61134         * lib/unictype/categ_Zp.h: Likewise.
61135         * lib/unictype/categ_Zs.h: Likewise.
61136         * lib/unictype/categ_of.h: Likewise.
61137         * lib/unictype/combining.h: Likewise.
61138         * lib/unictype/ctype_alnum.h: Likewise.
61139         * lib/unictype/ctype_alpha.h: Likewise.
61140         * lib/unictype/ctype_blank.h: Likewise.
61141         * lib/unictype/ctype_cntrl.h: Likewise.
61142         * lib/unictype/ctype_digit.h: Likewise.
61143         * lib/unictype/ctype_graph.h: Likewise.
61144         * lib/unictype/ctype_lower.h: Likewise.
61145         * lib/unictype/ctype_print.h: Likewise.
61146         * lib/unictype/ctype_punct.h: Likewise.
61147         * lib/unictype/ctype_space.h: Likewise.
61148         * lib/unictype/ctype_upper.h: Likewise.
61149         * lib/unictype/ctype_xdigit.h: Likewise.
61150         * lib/unictype/decdigit.h: Likewise.
61151         * lib/unictype/digit.h: Likewise.
61152         * lib/unictype/mirror.h: Likewise.
61153         * lib/unictype/numeric.h: Likewise.
61154         * lib/unictype/pr_alphabetic.h: Likewise.
61155         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61156         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61157         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61158         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61159         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61160         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61161         * lib/unictype/pr_bidi_control.h: Likewise.
61162         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61163         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61164         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61165         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61166         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61167         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61168         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61169         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61170         * lib/unictype/pr_bidi_pdf.h: Likewise.
61171         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61172         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61173         * lib/unictype/pr_combining.h: Likewise.
61174         * lib/unictype/pr_composite.h: Likewise.
61175         * lib/unictype/pr_currency_symbol.h: Likewise.
61176         * lib/unictype/pr_dash.h: Likewise.
61177         * lib/unictype/pr_decimal_digit.h: Likewise.
61178         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61179         * lib/unictype/pr_deprecated.h: Likewise.
61180         * lib/unictype/pr_diacritic.h: Likewise.
61181         * lib/unictype/pr_extender.h: Likewise.
61182         * lib/unictype/pr_format_control.h: Likewise.
61183         * lib/unictype/pr_grapheme_base.h: Likewise.
61184         * lib/unictype/pr_grapheme_extend.h: Likewise.
61185         * lib/unictype/pr_grapheme_link.h: Likewise.
61186         * lib/unictype/pr_hex_digit.h: Likewise.
61187         * lib/unictype/pr_hyphen.h: Likewise.
61188         * lib/unictype/pr_id_continue.h: Likewise.
61189         * lib/unictype/pr_id_start.h: Likewise.
61190         * lib/unictype/pr_ideographic.h: Likewise.
61191         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61192         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61193         * lib/unictype/pr_ignorable_control.h: Likewise.
61194         * lib/unictype/pr_iso_control.h: Likewise.
61195         * lib/unictype/pr_join_control.h: Likewise.
61196         * lib/unictype/pr_left_of_pair.h: Likewise.
61197         * lib/unictype/pr_line_separator.h: Likewise.
61198         * lib/unictype/pr_logical_order_exception.h: Likewise.
61199         * lib/unictype/pr_lowercase.h: Likewise.
61200         * lib/unictype/pr_math.h: Likewise.
61201         * lib/unictype/pr_non_break.h: Likewise.
61202         * lib/unictype/pr_not_a_character.h: Likewise.
61203         * lib/unictype/pr_numeric.h: Likewise.
61204         * lib/unictype/pr_other_alphabetic.h: Likewise.
61205         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61206         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61207         * lib/unictype/pr_other_id_continue.h: Likewise.
61208         * lib/unictype/pr_other_id_start.h: Likewise.
61209         * lib/unictype/pr_other_lowercase.h: Likewise.
61210         * lib/unictype/pr_other_math.h: Likewise.
61211         * lib/unictype/pr_other_uppercase.h: Likewise.
61212         * lib/unictype/pr_paired_punctuation.h: Likewise.
61213         * lib/unictype/pr_paragraph_separator.h: Likewise.
61214         * lib/unictype/pr_pattern_syntax.h: Likewise.
61215         * lib/unictype/pr_pattern_white_space.h: Likewise.
61216         * lib/unictype/pr_private_use.h: Likewise.
61217         * lib/unictype/pr_punctuation.h: Likewise.
61218         * lib/unictype/pr_quotation_mark.h: Likewise.
61219         * lib/unictype/pr_radical.h: Likewise.
61220         * lib/unictype/pr_sentence_terminal.h: Likewise.
61221         * lib/unictype/pr_soft_dotted.h: Likewise.
61222         * lib/unictype/pr_space.h: Likewise.
61223         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61224         * lib/unictype/pr_titlecase.h: Likewise.
61225         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61226         * lib/unictype/pr_unified_ideograph.h: Likewise.
61227         * lib/unictype/pr_uppercase.h: Likewise.
61228         * lib/unictype/pr_variation_selector.h: Likewise.
61229         * lib/unictype/pr_white_space.h: Likewise.
61230         * lib/unictype/pr_xid_continue.h: Likewise.
61231         * lib/unictype/pr_xid_start.h: Likewise.
61232         * lib/unictype/pr_zero_width.h: Likewise.
61233         * lib/unictype/scripts.h: Likewise.
61234         * lib/unictype/scripts_byname.gperf: Likewise.
61235         * lib/unictype/sy_c_ident.h: Likewise.
61236         * lib/unictype/sy_c_whitespace.h: Likewise.
61237         * lib/unictype/sy_java_ident.h: Likewise.
61238         * lib/unictype/sy_java_whitespace.h: Likewise.
61239
61240         * lib/unictype/Makefile: New file.
61241         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61242         glibc.
61243         * lib/unictype/3level.h: New file, copied from glibc.
61244         * lib/unictype/3levelbit.h: New file.
61245
61246 2007-11-11  Bruno Haible  <bruno@clisp.org>
61247
61248         * modules/gperf: New file.
61249         * modules/iconv_open (Depends-on): Add it.
61250         (Makefile.am): Remove the GPERF definition.
61251
61252 2007-11-11  Bruno Haible  <bruno@clisp.org>
61253
61254         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61255         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61256
61257 2007-11-11  Bruno Haible  <bruno@clisp.org>
61258
61259         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61260         (usage): Remove function.
61261
61262 2007-11-11  Bruno Haible  <bruno@clisp.org>
61263
61264         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61265         gl_FUNC_CEILF_LIBS.
61266         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61267         gl_FUNC_CEIL_LIBS.
61268         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61269         gl_FUNC_CEILL_LIBS.
61270         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61271         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61272         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61273
61274 2007-11-11  Bruno Haible  <bruno@clisp.org>
61275
61276         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61277         roundf were declared but do not exist on functions.
61278         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61279         roundl were declared but do not exist on functions.
61280         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61281         HAVE_FLOORL_AND_CEILL, respectively.
61282         Needed for Sun C on Solaris 10.
61283
61284 2007-11-11  Bruno Haible  <bruno@clisp.org>
61285
61286         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61287         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61288         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61289         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61290         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61291         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61292         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61293         HAVE_DECL_ROUNDF.
61294         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61295         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61297         of HAVE_DECL_ROUND*.
61298         * modules/math (Makefile.am): Update.
61299
61300 2007-11-10  Bruno Haible  <bruno@clisp.org>
61301
61302         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61303         ptrdiff_t as m4/intl.m4.
61304
61305 2007-11-10  Jim Meyering  <meyering@redhat.com>
61306
61307         Avoid link failure for the argmatch test.
61308         * tests/test-argmatch.c (usage): Define function to avoid a link
61309         failure: argmatch_die requires a usage function.
61310
61311 2007-11-09  Bruno Haible  <bruno@clisp.org>
61312
61313         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61314         * doc/functions/vsnprintf.texi: Likewise.
61315         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61316         with a size argument < 2.
61317
61318 2007-11-09  Bruno Haible  <bruno@clisp.org>
61319
61320         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61321         buffer. Fixes an inefficiency introduced on 2007-11-03.
61322
61323 2007-11-09  Bruno Haible  <bruno@clisp.org>
61324
61325         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61326         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61327
61328 2007-11-08  Jim Meyering  <meyering@redhat.com>
61329
61330         Change cache variable name prefix "jm_" to "gl_" everywhere.
61331         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61332         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61333         * m4/uptime.m4: s/gl_/jm_/
61334
61335 2007-11-07  Bruno Haible  <bruno@clisp.org>
61336
61337         Update to GNU gettext 0.17.
61338         * m4/intl.m4: Update to GNU gettext 0.17.
61339         * m4/po.m4: Likewise.
61340         * modules/gettext (Files): Remove m4/ulonglong.m4.
61341         (configure.ac): Require gettext infrastructure from version 0.17.
61342
61343 2007-11-06  Bruno Haible  <bruno@clisp.org>
61344
61345         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61346         symbolic values are not defined in a public header.
61347         * lib/freadable.c (freadable) [QNX]: Likewise.
61348         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61349         * lib/freading.c (freading) [QNX]: Likewise.
61350         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61351         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61352         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61353         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61354         Reported by Alain Magloire.
61355
61356         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61357
61358 2007-11-05  Bruno Haible  <bruno@clisp.org>
61359
61360         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61361         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61362         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61363         Reported by Eric Blake.
61364
61365 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61366             Bruno Haible  <bruno@clisp.org>
61367
61368         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61369         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61370         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61371         (malloc): Undefine also before including <stdlib.h>.
61372         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61373         Needed on OSF/1 4.0.
61374
61375 2007-11-05  Jim Meyering  <meyering@redhat.com>
61376
61377         git-version-gen: sync from coreutils.
61378         * build-aux/git-version-gen: Add comments.
61379         Change the first '-' to '.' in the snapshot version string,
61380         e.g., 6.9-377-08144 -> 6.9.377-08144
61381         Remove first parameter.
61382         Don't declare a version "-dirty" merely because a time
61383         stamp has changed.
61384
61385 2007-11-04  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/lock.h: Protect all macro definitions containing an 'if'
61388         statement through a "do { ... } while (0)".
61389         * lib/tls.h: Likewise.
61390
61391 2007-11-04  Bruno Haible  <bruno@clisp.org>
61392
61393         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61394
61395 2007-11-04  Bruno Haible  <bruno@clisp.org>
61396
61397         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61398         * modules/fprintf-posix (Depends-on): Add nocrash.
61399         * modules/snprintf-posix (Depends-on): Likewise.
61400         * modules/sprintf-posix (Depends-on): Likewise.
61401         * modules/vasnprintf-posix (Depends-on): Likewise.
61402         * modules/vasprintf-posix (Depends-on): Likewise.
61403         * modules/vfprintf-posix (Depends-on): Likewise.
61404         * modules/vsnprintf-posix (Depends-on): Likewise.
61405         * modules/vsprintf-posix (Depends-on): Likewise.
61406         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61407         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61408         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61409         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61410         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61411         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61412         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61413
61414 2007-11-04  Bruno Haible  <bruno@clisp.org>
61415
61416         * modules/nocrash: New file.
61417         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61418         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61419
61420 2007-11-04  Bruno Haible  <bruno@clisp.org>
61421
61422         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61423         precision handling.
61424         * tests/test-vasprintf-posix.c (test_function): Likewise.
61425         * tests/test-snprintf-posix.h (test_function): Likewise.
61426         * tests/test-sprintf-posix.h (test_function): Likewise.
61427
61428         Fix *printf behaviour for large precisions on mingw and BeOS.
61429         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61430         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61431         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61432         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61433         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61434         gl_PRINTF_PRECISION and test its result. Invoke
61435         gl_PREREQ_VASNPRINTF_PRECISION.
61436         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61438         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61440         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61442         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61443         * doc/functions/fprintf.texi: Update.
61444         * doc/functions/printf.texi: Update.
61445         * doc/functions/snprintf.texi: Update.
61446         * doc/functions/sprintf.texi: Update.
61447         * doc/functions/vfprintf.texi: Update.
61448         * doc/functions/vprintf.texi: Update.
61449         * doc/functions/vsnprintf.texi: Update.
61450         * doc/functions/vsprintf.texi: Update.
61451
61452 2007-11-04  Bruno Haible  <bruno@clisp.org>
61453
61454         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61455
61456 2007-11-04  Bruno Haible  <bruno@clisp.org>
61457
61458         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61459         Reported by Sylvain Beucler <beuc@gnu.org>.
61460
61461 2007-11-03  Bruno Haible  <bruno@clisp.org>
61462
61463         * tests/test-fprintf-posix2.sh: New file.
61464         * tests/test-fprintf-posix2.c: New file.
61465         * modules/fprintf-posix-tests (Files): Add them.
61466         (TESTS): Add test-fprintf-posix2.sh.
61467         (configure.ac): Check for getrlimit and setrlimit.
61468         (check_PROGRAMS): Add test-fprintf-posix2.
61469
61470         * tests/test-printf-posix2.sh: New file.
61471         * tests/test-printf-posix2.c: New file.
61472         * modules/printf-posix-tests (Files): Add them.
61473         (TESTS): Add test-printf-posix2.sh.
61474         (configure.ac): Check for getrlimit and setrlimit.
61475         (check_PROGRAMS): Add test-printf-posix2.
61476
61477         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61478         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61479         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61480         (decode_double): New function, copied from decode_long_double.
61481         (scale10_round_decimal_decoded): New function, extracted from
61482         scale10_round_decimal_long_double.
61483         (scale10_round_decimal_long_double): Use it.
61484         (scale10_round_decimal_double): New function.
61485         (floorlog10): New function.
61486         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61487         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61488         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61489         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61490         gl_PRINTF_ENOMEM and test its result. Invoke
61491         gl_PREREQ_VASNPRINTF_ENOMEM.
61492         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61493         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61494         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61495         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61496         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61497         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61498         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61499         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61500         * modules/snprintf-posix (Depends-on): Likewise.
61501         * modules/sprintf-posix (Depends-on): Likewise.
61502         * modules/vasnprintf-posix (Depends-on): Likewise.
61503         * modules/vasprintf-posix (Depends-on): Likewise.
61504         * modules/vfprintf-posix (Depends-on): Likewise.
61505         * modules/vsnprintf-posix (Depends-on): Likewise.
61506         * modules/vsprintf-posix (Depends-on): Likewise.
61507         * doc/functions/fprintf.texi: Update.
61508         * doc/functions/printf.texi: Update.
61509         * doc/functions/snprintf.texi: Update.
61510         * doc/functions/sprintf.texi: Update.
61511         * doc/functions/vfprintf.texi: Update.
61512         * doc/functions/vprintf.texi: Update.
61513         * doc/functions/vsnprintf.texi: Update.
61514         * doc/functions/vsprintf.texi: Update.
61515
61516 2007-11-03  Bruno Haible  <bruno@clisp.org>
61517
61518         * modules/frexp-nolibm-tests: New file.
61519
61520         * modules/frexp-nolibm: New file.
61521         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61522
61523 2007-11-03  Bruno Haible  <bruno@clisp.org>
61524
61525         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61526         value is C99 compliant.
61527         Needed for OSF/1 5.1.
61528
61529 2007-11-03  Bruno Haible  <bruno@clisp.org>
61530
61531         Fix out-of-memory handling of vasnprintf.
61532         * lib/printf-parse.c: Include <errno.h>.
61533         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61534         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61535         is already set.
61536
61537 2007-11-02  Eric Blake  <ebb9@byu.net>
61538
61539         Fix tests on cygwin.
61540         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61541
61542 2007-11-01  Bruno Haible  <bruno@clisp.org>
61543
61544         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61545         warning.
61546         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61547         needed for POSIX compatibility.
61548
61549 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61550
61551         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61552         for compatibility with GNU.
61553
61554 2007-11-01  Bruno Haible  <bruno@clisp.org>
61555
61556         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61557         (putenv): Renamed from rpl_putenv. Change argument type from
61558         'const char *' to 'char *'.
61559         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61560         of defining putenv in config.h, just set REPLACE_PUTENV.
61561         * modules/putenv (Depends-on): Add stdlib.
61562         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61563         (Include): Use <stdlib.h>.
61564         * lib/stdlib.in.h (putenv): New declaration.
61565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61566         REPLACE_PUTENV.
61567         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61568         REPLACE_PUTENV.
61569         Needed for MacOS X 10.5.0.
61570         Reported by Peter O'Gorman <peter@pogma.com>.
61571
61572 2007-11-01  Jim Meyering  <meyering@redhat.com>
61573
61574         Treat an empty date string exactly like "0".
61575         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61576         if the remaining date string (to be parsed) is empty, use "0".
61577         Reported by Mischa Molhoek and discussed in this thread:
61578         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61579
61580 2007-10-31  Bruno Haible  <bruno@clisp.org>
61581
61582         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61583         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61584         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61585         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61586         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61587         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61588
61589 2007-10-31  Bruno Haible  <bruno@clisp.org>
61590
61591         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61592         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61593         (AC_TYPE_LONG_LONG_INT): Use it.
61594         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61595         it as well.
61596         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61597         to m4/longlong.m4.
61598         * modules/stdint (Files): Remove m4/ulonglong.m4.
61599         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61600         m4/ulonglong.m4.
61601         * modules/strtoumax (Files): Likewise.
61602
61603 2007-10-30  Bruno Haible  <bruno@clisp.org>
61604
61605         * modules/xvasprintf-posix: New file.
61606         Suggested by Eric Blake.
61607
61608 2007-10-30  Bruno Haible  <bruno@clisp.org>
61609
61610         * modules/xprintf-posix-tests: New file.
61611         * tests/test-xprintf-posix.sh: New file.
61612         * tests/test-xprintf-posix.c: New file.
61613         * tests/test-xfprintf-posix.c: New file.
61614
61615         * modules/xprintf-posix: New file.
61616
61617 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61618
61619         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61620         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61621         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61622
61623 2007-10-29  Bruno Haible  <bruno@clisp.org>
61624
61625         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61626         contain the special marker '_cv_'.
61627         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61628         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61629         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61630         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61631         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61632         Reported by Ralf Wildenhues.
61633
61634 2007-10-29  Bruno Haible  <bruno@clisp.org>
61635
61636         * gnulib-tool (func_import): When --lgpl is not specified, set
61637         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61638         GPLv3.
61639         Reported by Simon Josefsson.
61640
61641 2007-10-28  Bruno Haible  <bruno@clisp.org>
61642
61643         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61644         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61645         HAVE_DECL_ISFINITE.
61646         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61647         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61648         HAVE_DECL_ISFINITE.
61649
61650 2007-10-28  Bruno Haible  <bruno@clisp.org>
61651
61652         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61653         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61654
61655 2007-10-28  Bruno Haible  <bruno@clisp.org>
61656
61657         Fix link errors with Sun C 5.0 on Solaris 10.
61658         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61659         function is declared but not present in the compiler's libm.
61660         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61661         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
61662         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
61663         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
61664         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
61665         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
61666         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
61667         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61668         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
61669         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
61670         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
61671         HAVE_DECL_FLOORL.
61672
61673 2007-10-28  Bruno Haible  <bruno@clisp.org>
61674
61675         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
61676         gl_FUNC_FLOORL. Cache the result.
61677         (gl_FUNC_FLOORL): Use it.
61678         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
61679         gl_FUNC_CEILL. Cache the result.
61680         (gl_FUNC_CEILL): Use it.
61681
61682         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
61683         gl_FUNC_FLOOR. Cache the result.
61684         (gl_FUNC_FLOOR): Use it.
61685         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61686         gl_FUNC_CEIL. Cache the result.
61687         (gl_FUNC_CEIL): Use it.
61688
61689         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61690         gl_FUNC_FLOORF. Cache the result.
61691         (gl_FUNC_FLOORF): Use it.
61692         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61693         gl_FUNC_CEILF. Cache the result.
61694         (gl_FUNC_CEILF): Use it.
61695
61696 2007-10-28  Bruno Haible  <bruno@clisp.org>
61697
61698         * gnulib-tool: Allow specifying the LGPL version number through
61699         --lgpl=2 or --lgpl=3.
61700         (func_usage): Document --lgpl with argument.
61701         Handle --lgpl=... arguments.
61702         (func_import): Recognize also gl_LGPL calls with an argument. When
61703         --lgpl=2 is used and the module's license is just LGPL, report an
61704         error. Set sed_transform_lib_file according to the lgpl variable. In
61705         the generated files, use --lgpl or gl_LGPL invocations with argument,
61706         if necessary.
61707         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61708         an LGPv2+ license.
61709         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61710         gl_LGPL macro.
61711
61712 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61713             Bruno Haible  <bruno@clisp.org>
61714
61715         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61716         (u16_uctomb_aux): Likewise.
61717         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61718         !HAVE_INLINE.
61719         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61720
61721 2007-10-28  Bruno Haible  <bruno@clisp.org>
61722
61723         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61724         Invoke AM_GETTEXT_OPTION if it exists.
61725         * modules/vasprintf: Likewise.
61726         * modules/verror: Likewise.
61727         * modules/xprintf: Likewise.
61728         * modules/xvasprintf: Likewise.
61729
61730 2007-10-27  Ben Pfaff  <blp@gnu.org>
61731
61732         * lib/math.in.h: Define isfinite macro and prototypes for
61733         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61734         implementations.
61735         * m4/math_h.m4: New substitutions for isfinite module.
61736         * lib/isfinite.c: New file.
61737         * m4/isfinite.m4: New file.
61738         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61739         * modules/isfinite: New file.
61740         * modules/isfinite-tests: New file.
61741         * tests/tests-isfinite.c: New file.
61742         * doc/functions/isfinite.texi: Mention isfinite module.
61743         * MODULES.html.sh: Mention new module.
61744
61745 2007-10-27  Ben Pfaff  <blp@gnu.org>
61746
61747         Ralf Wildenhues reported that Tru64 4.0D declares the round
61748         functions but does not have definitions.
61749         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61750         cannot be found in any library, set the output variable to
61751         "missing" instead of "".
61752         * m4/round.m4: Also use our substitute if we cannot find round in
61753         any library, even if it is declared.
61754         * m4/roundf.m4: Likewise for roundf.
61755         * m4/roundl.m4: Likewise for roundl.
61756         * lib/math.in.h: Undefine roundf, round, roundl before defining
61757         their replacements, to allow for hypothetical systems where these
61758         may be defined as macros but not available in libraries.
61759
61760 2007-10-27  Bruno Haible  <bruno@clisp.org>
61761
61762         * doc/gnulib.texi: Invoke @firstparagraphindent.
61763         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61764         changes in gnulib.
61765         (Source changes): New section.
61766
61767 2007-10-26  Bruno Haible  <bruno@clisp.org>
61768
61769         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61770         borrowed from autoconf.
61771
61772 2007-10-26  Bruno Haible  <bruno@clisp.org>
61773
61774         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61775         strerror returned the empty string. Needed on HP-UX 11.00.
61776
61777 2007-10-24  Micah Cowan  <micah@cowan.name>
61778
61779         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61780         * build-aux/bootstrap: Remove support for now-unnecessary option,
61781         --cvs-user, and envvars CVS_USER, CVS_RSH.
61782
61783 2007-10-24  Jim Meyering  <meyering@redhat.com>
61784
61785         Avoid diagnostics from sha1sum when there is no cached checksum.
61786         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61787         if the po.s1 file hasn't been created yet.
61788
61789         * build-aux/bootstrap: Sync from coreutils:
61790         2007-10-24  Jim Meyering  <meyering@redhat.com>
61791         Get gnulib from the git repository, not from an obsolete cvs one.
61792         * build-aux/bootstrap: Suggestion from Micah Cowan.
61793         2007-10-04  Jim Meyering  <jim@meyering.net>
61794         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61795         (update_po_files): Work also when there are no .po files in po/.
61796
61797 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61798
61799         * README: Append ".git" to git and cg examples.
61800         Problem reported by Benoit Sigoure.
61801
61802 2007-10-23  Micah Cowan  <micah@cowan.name>
61803
61804         * users.txt: Add wget.
61805
61806 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61807
61808         Fix linking of some unistdio tests on FreeBSD.
61809         * modules/unistdio/u16-vsnprintf-tests
61810         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61811         * modules/unistdio/u16-vsprintf-tests
61812         (test_u16_vsnprintf1_LDADD): Likewise.
61813         * modules/unistdio/u32-vsnprintf-tests
61814         (test_u32_vsnprintf1_LDADD): Likewise.
61815         * modules/unistdio/u32-vsprintf-tests
61816         (test_u32_vsprintf1_LDADD): Likewise.
61817         * modules/unistdio/u8-vsnprintf-tests
61818         (test_u8_vsnprintf1_LDADD): Likewise.
61819         * modules/unistdio/u8-vsprintf-tests
61820         (test_u8_vsprintf1_LDADD): Likewise.
61821         * modules/unistdio/ulc-vsnprintf-tests
61822         (test_ulc_vsnprintf1_LDADD): Likewise.
61823         * modules/unistdio/ulc-vsprintf-tests
61824         (test_ulc_vsprintf1_LDADD): Likewise.
61825
61826         Fix linking of some uniconv tests on FreeBSD.
61827         * modules/uniconv/u16-conv-from-enc-tests
61828         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61829         * modules/uniconv/u16-conv-to-enc-tests
61830         (test_u16_conv_to_enc_LDADD): Likewise.
61831         * modules/uniconv/u16-strconv-from-enc-tests
61832         (test_u16_strconv_from_enc_LDADD): Likewise.
61833         * modules/uniconv/u16-strconv-to-enc-tests
61834         (test_u16_strconv_to_enc_LDADD): Likewise.
61835         * modules/uniconv/u32-conv-from-enc-tests
61836         (test_u32_conv_from_enc_LDADD): Likewise.
61837         * modules/uniconv/u32-conv-to-enc-tests
61838         (test_u32_conv_to_enc_LDADD): Likewise.
61839         * modules/uniconv/u32-strconv-from-enc-tests
61840         (test_u32_strconv_from_enc_LDADD): Likewise.
61841         * modules/uniconv/u32-strconv-to-enc-tests
61842         (test_u32_strconv_to_enc_LDADD): Likewise.
61843         * modules/uniconv/u8-conv-from-enc-tests
61844         (test_u8_conv_from_enc_LDADD): Likewise.
61845         * modules/uniconv/u8-conv-to-enc-tests
61846         (test_u8_conv_to_enc_LDADD): Likewise.
61847         * modules/uniconv/u8-strconv-from-enc-tests
61848         (test_u8_strconv_from_enc_LDADD): Likewise.
61849         * modules/uniconv/u8-strconv-to-enc-tests
61850         (test_u8_strconv_to_enc_LDADD): Likewise.
61851
61852 2007-10-22  Bruno Haible  <bruno@clisp.org>
61853
61854         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61855         size.
61856
61857 2007-10-22  Eric Blake  <ebb9@byu.net>
61858
61859         Tweak x*printf documentation.
61860         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61861         variable name and comments.
61862         Suggested by Bruno Haible.
61863
61864 2007-10-22  Bruno Haible  <bruno@clisp.org>
61865
61866         * lib/acl.c (copy_acl): Fix file name in comment.
61867
61868 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61869
61870         Fix Tru64 problem with stdbool.h.
61871         * lib/stdbool.in.h (false, true):
61872         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61873         Don't declare as an enum in this situation; it runs afoul of Tru64.
61874         Problem reported by Steven M. Schweda in
61875         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61876
61877 2007-10-22  Eric Blake  <ebb9@byu.net>
61878
61879         Also wrap vf?printf.
61880         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61881         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61882         (xvprintf, xvfprintf): New functions.
61883
61884 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61885
61886         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61887         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61888
61889         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61890         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61891
61892 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61893
61894         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61895         by Bruno Haible.
61896
61897 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61898
61899         * lib/getloadavg.c
61900         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61901         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61902
61903         * tests/test-i-ring.c: Work for C89.
61904
61905 2007-10-22  Bruno Haible  <bruno@clisp.org>
61906
61907         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61908         -1u, in preprocessor expression, so that we don't test for the bug
61909         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61910         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61911
61912 2007-10-22  Eric Blake  <ebb9@byu.net>
61913
61914         * tests/test-yesno.sh: Silence stderr during test.
61915
61916 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61917
61918         * modules/crypto/gc-camellia: New file.
61919
61920         * m4/gc-camellia.m4: New file.
61921
61922         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61923
61924         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61925
61926 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61927
61928         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61929         --help to stdout.  Reported by sms@antinode.org (Steven
61930         M. Schweda).
61931
61932 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61933
61934         * users.txt: Fix link to libksba.
61935
61936 2007-10-21  Ben Pfaff  <blp@gnu.org>
61937
61938         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61939         round.c roundf implementation that depends on floorf and ceilf to
61940         be tested unconditionally.
61941
61942 2007-10-21  Ben Pfaff  <blp@gnu.org>
61943
61944         * m4/check-libm-func.m4: Removed.
61945         * m4/check-math-lib.m4: New file.
61946         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61947         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61948         definition and lack of AC_LIBOBJ([roundf]).
61949         * m4/roundl.m4: Ditto, and similarly for roundl.
61950         * modules/round: Reference new m4 file.
61951         * modules/roundf: Ditto.
61952         * modules/roundl: Ditto.
61953         * tests/test-round2.c (main): Use ROUND instead of round.
61954         Bug report from Bruno Haible.
61955
61956 2007-10-21  Bruno Haible  <bruno@clisp.org>
61957
61958         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61959         context.
61960
61961 2007-10-21  Bruno Haible  <bruno@clisp.org>
61962
61963         * tests/test-wcwidth.c (main): Allow negative result for some control
61964         characters.
61965
61966         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61967         Needed on OSF/1 5.1.
61968
61969 2007-10-21  Bruno Haible  <bruno@clisp.org>
61970
61971         * tests/test-floorf1.c: Include isnanf.h.
61972         (main): Use isnanf() instead of isnan().
61973         * tests/test-ceilf1.c: Include isnanf.h.
61974         (main): Use isnanf() instead of isnan().
61975         * tests/test-truncf1.c: Include isnanf.h.
61976         (main): Use isnanf() instead of isnan().
61977         * tests/test-roundf1.c: Include isnanf.h.
61978         (main): Use isnanf() instead of isnan().
61979
61980 2007-10-21  Eric Blake  <ebb9@byu.net>
61981
61982         * users.txt: Update URL for m4.
61983
61984 2007-10-21  Bruno Haible  <bruno@clisp.org>
61985
61986         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61987
61988 2007-10-21  Bruno Haible  <bruno@clisp.org>
61989
61990         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61991         Git's management files if the CVS files are not present.
61992
61993 2007-10-20  Bruno Haible  <bruno@clisp.org>
61994
61995         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
61996         gcc-3.4.x.
61997
61998 2007-10-20  Ben Pfaff  <blp@gnu.org>
61999
62000         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62001         implementations.
62002         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62003         * lib/round.c: New file.
62004         * lib/roundf.c: New file.
62005         * lib/roundl.c: New file.
62006         * m4/round.m4: New file.
62007         * m4/roundf.m4: New file.
62008         * m4/roundl.m4: New file.
62009         * m4/check-libm-func-m4: New file.
62010         * modules/math: Replace round, roundf, roundl related @VARS@ in
62011         math.in.h.
62012         * modules/round: New file.
62013         * modules/round-tests: New file.
62014         * modules/roundf: New file.
62015         * modules/roundf-tests: New file.
62016         * modules/roundl: New file.
62017         * modules/roundl-tests: New file.
62018         * tests/test-round1.c: New file.
62019         * tests/test-round2.c: New file.
62020         * tests/test-roundf1.c: New file.
62021         * tests/test-roundf2.c: New file.
62022         * tests/test-roundl.c: New file.
62023         * doc/functions/round.texi: Mention round module.
62024         * doc/functions/roundf.texi: Mention roundf module.
62025         * doc/functions/roundl.texi: Mention roundl module.
62026         * MODULES.html.sh: Mention new modules.
62027         Thanks to Bruno Haible for suggestions.
62028
62029 2007-10-20  Jim Meyering  <meyering@redhat.com>
62030
62031         * lib/xprintf.c: Include <config.h> unconditionally.
62032
62033         Change xprintf's license to GPL.
62034         * modules/xprintf (License): s/LGPL/GPL/, since this module
62035         depends on modules (exit and exitfail) which are GPL.
62036         Suggestion from Bruno Haible.
62037
62038         xprintf fixes.
62039         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62040         Use a clearer diagnostic.
62041         Patch from Bruno Haible.
62042
62043 2007-10-20  Bruno Haible  <bruno@clisp.org>
62044
62045         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62046         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62047         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62048
62049 2007-10-20  Bruno Haible  <bruno@clisp.org>
62050
62051         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62052         precision in the comparison result > x - 1 or similar.
62053         * tests/test-ceilf2.c (correct_result_p): Likewise.
62054         * tests/test-truncf2.c (correct_result_p): Likewise.
62055         * tests/test-trunc2.c (correct_result_p): Likewise.
62056         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62057
62058 2007-10-20  Bruno Haible  <bruno@clisp.org>
62059
62060         * modules/ceil: New file.
62061         * m4/ceil.m4: New file.
62062         * doc/functions/ceil.texi: Mention the 'ceil' module.
62063
62064 2007-10-20  Bruno Haible  <bruno@clisp.org>
62065
62066         * modules/floor: New file.
62067         * m4/floor.m4: New file.
62068         * doc/functions/floor.texi: Mention the 'floor' module.
62069
62070 2007-10-20  Bruno Haible  <bruno@clisp.org>
62071
62072         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62073         of %a.
62074         * modules/floorf-tests (Depends-on): Likewise.
62075         * modules/truncf-tests (Depends-on): Likewise.
62076         * modules/trunc-tests (Depends-on): Likewise.
62077         Reported by Ben Pfaff.
62078
62079 2007-10-19  Jim Meyering  <meyering@redhat.com>
62080
62081         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62082         Don't bother testing specific errno values.  Just test ferror.
62083
62084         New module: xprintf
62085         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62086
62087 2007-10-19  Bruno Haible  <bruno@clisp.org>
62088
62089         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62090         syntax.
62091         * modules/javaexec (Makefile.am): Likewise.
62092         * modules/relocatable-prog (Makefile.am): Likewise.
62093         Suggested by Jim Meyering.
62094
62095 2007-10-18  Bruno Haible  <bruno@clisp.org>
62096
62097         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62098         Reported by Jim Meyering.
62099
62100 2007-10-18  Eric Blake  <ebb9@byu.net>
62101
62102         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62103
62104 2007-10-18  Bruno Haible  <bruno@clisp.org>
62105
62106         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62107         the format string into writable memory. Needed in Fortify conditions.
62108
62109 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62110             Bruno Haible  <bruno@clisp.org>
62111
62112         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62113         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62114         * modules/trim (Depends-on): Add mbchar.
62115         (configure.ac): Add gl_FUNC_MBRTOWC.
62116         (Makefile.am): Augment lib_SOURCES.
62117
62118 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62119
62120         Modify glob.c to use fstatat and dirfd, to simplify it.
62121         Suggested by Eric Blake.
62122         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62123         Don't include <stdbool.h>; not used.
62124         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62125         (link_exists_p): Simplify implementation, since we can now assume
62126         dirfd and fstatat.
62127         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62128
62129 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62130
62131         * gnulib-tool (func_get_dependencies): Fix sed script to
62132         match only tests.
62133
62134 2007-10-17  Bruno Haible  <bruno@clisp.org>
62135
62136         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62137         allow locale names without encoding suffix.
62138         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62139         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62140
62141 2007-10-16  Bruno Haible  <bruno@clisp.org>
62142
62143         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62144         * lib/getgroups.c (getgroups): Likewise.
62145         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62146
62147 2007-10-16  Bruno Haible  <bruno@clisp.org>
62148
62149         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62150         * modules/malloc-posix (License): Likewise.
62151         * modules/realloc-posix (License): Likewise.
62152         * modules/calloc-posix (License): Likewise.
62153         * modules/intprops (License): Change from GPL to LGPL, with
62154         Paul Eggert's approval.
62155
62156 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62157
62158         Merge glibc changes into lib/glob.c.
62159
62160         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62161         2007-10-15 04:59:03 UTC.  Here are the changes:
62162
62163         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62164
62165         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62166
62167         * lib/glob.c: Add some branch prediction throughout.
62168
62169         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62170
62171         [BZ #5103]
62172         * lib/glob.c (glob): Recognize patterns starting \/.
62173
62174         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62175
62176         [BZ #3996]
62177         * lib/glob.c (attribute_hidden): Define if not defined.
62178         (glob): Unescape dirname, filename or username when needed and not
62179         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62180         is NULL.  Handle unescaped [ in pattern without closing ].
62181         Don't pass GLOB_CHECK down to recursive glob for directories.
62182         (__glob_pattern_type): New function.
62183         (__glob_pattern_p): Implement using __glob_pattern_type.
62184         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62185         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62186         Remove unreachable code.
62187
62188         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62189
62190         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62191         explain why there are no leaks.
62192
62193         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62194
62195         [BZ #3253]
62196         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62197         time, rather allocate increasingly bigger arrays of pointers, if
62198         possible with alloca, if too large with malloc.
62199
62200 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62201
62202         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62203         Problem reported by H.Merijn Brand in
62204         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62205         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62206         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62207
62208 2007-10-15  Bruno Haible  <bruno@clisp.org>
62209
62210         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62211         with explicit rpl_ prefix.
62212         * lib/fopen.c (fopen): Likewise.
62213         * lib/freopen.c (freopen): Likewise.
62214         * lib/iconv.c (iconv): Likewise.
62215         * lib/iconv_close.c (iconv_close): Likewise.
62216
62217 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62218
62219         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62220
62221 2007-10-15  Bruno Haible  <bruno@clisp.org>
62222
62223         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62224         <stddef.h> instead of <stdlib.h> since we only need NULL.
62225         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62226
62227 2007-10-15  Bruno Haible  <bruno@clisp.org>
62228
62229         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62230         Replace paragraph talking about LIBOBJS.
62231         Reported by Colin Watson <cjwatson@debian.org>.
62232
62233 2007-10-15  Bruno Haible  <bruno@clisp.org>
62234
62235         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62236         <stdlib.h> before using NULL.
62237
62238 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62239
62240         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62241         Reported by Albert Chin <china@thewrittenword.com>.
62242
62243 2007-10-14  Bruno Haible  <bruno@clisp.org>
62244
62245         * modules/iconv_open-utf-tests: New file.
62246         * tests/test-iconv-utf.c: New file.
62247
62248         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62249         * modules/iconv_open-utf: New file.
62250         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62251         (iconv, iconv_close): New declarations.
62252         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62253         be defined.
62254         (iconv_open): Add special handling of conversion between UTF-8 and
62255         UTF-{16,32}{BE,LE}.
62256         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62257         * lib/iconv_close.c: New file.
62258         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62259         gl_FUNC_ICONV_OPEN.
62260         (gl_FUNC_ICONV_OPEN): Use it.
62261         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62262         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62263         and REPLACE_ICONV_UTF.
62264         * modules/iconv_open (Depends-on): Add c-strcase.
62265         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62266         ICONV_CONST.
62267         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62268
62269 2007-10-13  Albert Chin  <china@thewrittenword.com>
62270             Bruno Haible  <bruno@clisp.org>
62271
62272         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62273         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62274
62275 2007-10-13  Bruno Haible  <bruno@clisp.org>
62276
62277         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62278         defined, use the ISO C99 inline semantics.
62279         * lib/argp.h (ARGP_EI): Likewise.
62280
62281 2007-10-13  Bruno Haible  <bruno@clisp.org>
62282
62283         Handle 'inline' change in gcc 4.3.0.
62284         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62285         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62286         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62287         argp_fmtstream_point): Disable 'extern' declaration if the function
62288         definition is going to be provided inline.
62289         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62290         semantics, not the ISO C99 inline semantics.
62291         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62292         'extern' declaration if the function definition is going to be provided
62293         inline.
62294         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62295         the GNU C inline semantics, not the ISO C99 inline semantics. With
62296         GCC 4.2, avoid a warning.
62297
62298 2007-10-13  Bruno Haible  <bruno@clisp.org>
62299
62300         * lib/freading.h (freading): Enable the use of __freading for
62301         glibc >= 2.7.
62302         * lib/freading.c (freading): Likewise.
62303
62304 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62305
62306         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62307         "warning: C99 inline functions are not supported; using GNU89".
62308
62309 2007-10-12  Bruno Haible  <bruno@clisp.org>
62310
62311         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62312         of 2.
62313         * tests/test-ceilf2.c: New file.
62314         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62315
62316         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62317         * modules/ceilf-tests: Update.
62318
62319 2007-10-12  Bruno Haible  <bruno@clisp.org>
62320
62321         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62322         of 2.
62323         * tests/test-floorf2.c: New file.
62324         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62325
62326         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62327         * modules/floorf-tests: Update.
62328
62329 2007-10-12  Bruno Haible  <bruno@clisp.org>
62330
62331         * tests/test-trunc2.c: New file.
62332         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62333
62334         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62335         * modules/trunc-tests: Update.
62336
62337 2007-10-12  Bruno Haible  <bruno@clisp.org>
62338
62339         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62340         of 2.
62341         * tests/test-truncf2.c: New file.
62342         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62343
62344         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62345         * modules/truncf-tests: Update.
62346
62347 2007-10-11  Eric Blake  <ebb9@byu.net>
62348
62349         Don't claim strerror is broken on Interix.
62350         * doc/functions/strerror.texi (strerror): Known broken systems are
62351         now Solaris 8, and not Interix.
62352         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62353         Interix on cross-compile.
62354         Reported by Martin Koeppe in
62355         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62356
62357 2007-10-11  Bruno Haible  <bruno@clisp.org>
62358
62359         * modules/i-ring-tests: New file.
62360         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62361         instead of assert.
62362
62363 2007-10-11  Bruno Haible  <bruno@clisp.org>
62364
62365         * modules/filenamecat-tests: New file.
62366         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62367         * lib/filenamecat.c: Remove test code.
62368
62369 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62370
62371         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62372
62373         * lib/strerror.c: Include <string.h> always, to test interface,
62374         and to remove the need for the dummy.
62375         Include intprops.h to compute width instead of doing it ourselves
62376         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62377         (strerror): Define it to return NULL if there's no system strerror.
62378         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62379         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62380         ancient pre-strerror Unix systems well any more.  Saying "unknown
62381         system error" is enough.
62382         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62383         simpler strerror.c implementation.
62384         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62385         Simplify the tests to reflect the simpler strerror implementation.
62386         * modules/strerror (Depends-on): Add intprops.
62387
62388 2007-10-09  Eric Blake  <ebb9@byu.net>
62389
62390         Silence test-fpending.
62391         * modules/fpending-tests (Files): Add wrapper script.
62392         * tests/test-fpending.sh: New file.
62393
62394 2007-10-09  Bruno Haible  <bruno@clisp.org>
62395
62396         * MODULES.html.sh (func_module): Don't create a hyperlink for
62397         function names like 'printf_frexp'.
62398         (Misc): Add crc, memxor.
62399         (Characteristics of floating types): New section.
62400         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62401         isnanf-nolibm, signbit, trunc, truncf, truncl.
62402         (Enhancements for ISO C 99 functions): New subsection Input/output.
62403         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62404         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62405         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62406         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62407         (Enhancements for POSIX:2001 functions): Add chdir-long.
62408         (File system functions): Add areadlink, chdir-safer, read-file.
62409         Remove cycle-check.
62410         (File system as inode set): New section.
62411         (Date and time): Add gethrxtime.
62412         (Multithreading): Add openmp.
62413         (Internationalization functions): Add localename.
62414         (Unicode string functions): Add unistr/u*-mbsnlen.
62415         (Support for maintaining and releasing projects): Add git-version-gen.
62416         (Lone files): Remove directories.
62417
62418 2007-10-08  Ben Pfaff  <blp@gnu.org>
62419
62420         * lib/xmalloca.h: Fix typo in comment.
62421
62422 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62423
62424         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62425         when avoiding problems with integer overflow.  Use a portable test
62426         instead.
62427
62428 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62429
62430         * modules/dummy (License): Change to LGPLv2+.
62431         * modules/float (License): Likewise
62432         * modules/realloc (License): Likewise
62433         * modules/stdlib (License): Likewise
62434
62435 2007-10-07  Bruno Haible  <bruno@clisp.org>
62436
62437         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62438         * floor.c (TWO_MANT_DIG): Likewise.
62439         * ceil.c (TWO_MANT_DIG): Likewise.
62440         Reported by Ben Pfaff.
62441
62442 2007-10-07  Bruno Haible  <bruno@clisp.org>
62443
62444         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62445         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62446         * lib/frexp.c (FUNC): Likewise.
62447         * lib/printf-frexp.h (printf_frexp): Likewise.
62448         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62449         * lib/printf-frexp.c (FUNC): Likewise.
62450         Suggested by Jim Meyering.
62451
62452 2007-10-07  Jim Meyering  <meyering@redhat.com>
62453
62454         Make xnanosleep's integer overflow test more robust.
62455         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62456         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62457
62458 2007-10-07  Bruno Haible  <bruno@clisp.org>
62459
62460         * NEWS: Mention the license change.
62461
62462         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62463         abbreviations in the modules files.
62464
62465         Change copyright notice from GPLv2+ to GPLv3+.
62466         * README: Change copyright notice.
62467         * MODULES.html.sh: Likewise.
62468         * build-aux/bootstrap.conf: Likewise.
62469         * build-aux/config.libpath: Likewise.
62470         * build-aux/csharpcomp.sh.in: Likewise.
62471         * build-aux/csharpexec.sh.in: Likewise.
62472         * build-aux/install-reloc: Likewise.
62473         * build-aux/javacomp.sh.in: Likewise.
62474         * build-aux/javaexec.sh.in: Likewise.
62475         * build-aux/ldd.sh.in: Likewise.
62476         * build-aux/reloc-ldflags: Likewise.
62477         * build-aux/relocatable.sh.in: Likewise.
62478         * build-aux/x-to-1.in: Likewise.
62479         * check-module: Likewise.
62480         * config/srclistvars.sh: Likewise.
62481         * gnulib-tool: Likewise.
62482         * lib/acl-internal.h: Likewise.
62483         * lib/acl.c: Likewise.
62484         * lib/acl.h: Likewise.
62485         * lib/acl_entries.c: Likewise.
62486         * lib/areadlink-with-size.c: Likewise.
62487         * lib/areadlink.c: Likewise.
62488         * lib/areadlink.h: Likewise.
62489         * lib/argmatch.c: Likewise.
62490         * lib/argmatch.h: Likewise.
62491         * lib/argp-ba.c: Likewise.
62492         * lib/argp-eexst.c: Likewise.
62493         * lib/argp-fmtstream.c: Likewise.
62494         * lib/argp-fmtstream.h: Likewise.
62495         * lib/argp-fs-xinl.c: Likewise.
62496         * lib/argp-help.c: Likewise.
62497         * lib/argp-namefrob.h: Likewise.
62498         * lib/argp-parse.c: Likewise.
62499         * lib/argp-pin.c: Likewise.
62500         * lib/argp-pv.c: Likewise.
62501         * lib/argp-pvh.c: Likewise.
62502         * lib/argp-xinl.c: Likewise.
62503         * lib/argp.h: Likewise.
62504         * lib/at-func.c: Likewise.
62505         * lib/atanl.c: Likewise.
62506         * lib/backupfile.c: Likewise.
62507         * lib/backupfile.h: Likewise.
62508         * lib/basename.c: Likewise.
62509         * lib/binary-io.h: Likewise.
62510         * lib/byteswap.in.h: Likewise.
62511         * lib/c-stack.c: Likewise.
62512         * lib/c-stack.h: Likewise.
62513         * lib/c-strcasestr.c: Likewise.
62514         * lib/c-strcasestr.h: Likewise.
62515         * lib/c-strstr.c: Likewise.
62516         * lib/c-strstr.h: Likewise.
62517         * lib/c-strtod.c: Likewise.
62518         * lib/calloc.c: Likewise.
62519         * lib/canon-host.c: Likewise.
62520         * lib/canon-host.h: Likewise.
62521         * lib/canonicalize-lgpl.c: Likewise.
62522         * lib/canonicalize.c: Likewise.
62523         * lib/canonicalize.h: Likewise.
62524         * lib/ceil.c: Likewise.
62525         * lib/ceilf.c: Likewise.
62526         * lib/ceill.c: Likewise.
62527         * lib/chdir-long.c: Likewise.
62528         * lib/chdir-long.h: Likewise.
62529         * lib/chdir-safer.c: Likewise.
62530         * lib/chdir-safer.h: Likewise.
62531         * lib/chown.c: Likewise.
62532         * lib/classpath.c: Likewise.
62533         * lib/classpath.h: Likewise.
62534         * lib/clean-temp.c: Likewise.
62535         * lib/clean-temp.h: Likewise.
62536         * lib/cloexec.c: Likewise.
62537         * lib/close-stream.c: Likewise.
62538         * lib/closein.c: Likewise.
62539         * lib/closein.h: Likewise.
62540         * lib/closeout.c: Likewise.
62541         * lib/closeout.h: Likewise.
62542         * lib/concat-filename.c: Likewise.
62543         * lib/copy-file.c: Likewise.
62544         * lib/copy-file.h: Likewise.
62545         * lib/count-one-bits.h: Likewise.
62546         * lib/crc.c: Likewise.
62547         * lib/crc.h: Likewise.
62548         * lib/creat-safer.c: Likewise.
62549         * lib/csharpcomp.c: Likewise.
62550         * lib/csharpcomp.h: Likewise.
62551         * lib/csharpexec.c: Likewise.
62552         * lib/csharpexec.h: Likewise.
62553         * lib/cycle-check.c: Likewise.
62554         * lib/cycle-check.h: Likewise.
62555         * lib/diacrit.c: Likewise.
62556         * lib/diacrit.h: Likewise.
62557         * lib/diffseq.h: Likewise.
62558         * lib/dirchownmod.c: Likewise.
62559         * lib/dirent.in.h: Likewise.
62560         * lib/dirfd.c: Likewise.
62561         * lib/dirfd.h: Likewise.
62562         * lib/dirname.c: Likewise.
62563         * lib/dirname.h: Likewise.
62564         * lib/dummy.c: Likewise.
62565         * lib/dup-safer.c: Likewise.
62566         * lib/dup2.c: Likewise.
62567         * lib/eealloc.h: Likewise.
62568         * lib/error.c: Likewise.
62569         * lib/error.h: Likewise.
62570         * lib/euidaccess.c: Likewise.
62571         * lib/exclude.c: Likewise.
62572         * lib/exclude.h: Likewise.
62573         * lib/execute.c: Likewise.
62574         * lib/execute.h: Likewise.
62575         * lib/exitfail.c: Likewise.
62576         * lib/exitfail.h: Likewise.
62577         * lib/expl.c: Likewise.
62578         * lib/fatal-signal.c: Likewise.
62579         * lib/fatal-signal.h: Likewise.
62580         * lib/fbufmode.c: Likewise.
62581         * lib/fbufmode.h: Likewise.
62582         * lib/fchdir.c: Likewise.
62583         * lib/fchmodat.c: Likewise.
62584         * lib/fchownat.c: Likewise.
62585         * lib/fcntl--.h: Likewise.
62586         * lib/fcntl-safer.h: Likewise.
62587         * lib/fcntl.in.h: Likewise.
62588         * lib/fd-safer.c: Likewise.
62589         * lib/fflush.c: Likewise.
62590         * lib/file-has-acl.c: Likewise.
62591         * lib/file-set.c: Likewise.
62592         * lib/file-type.c: Likewise.
62593         * lib/file-type.h: Likewise.
62594         * lib/fileblocks.c: Likewise.
62595         * lib/filemode.c: Likewise.
62596         * lib/filemode.h: Likewise.
62597         * lib/filename.h: Likewise.
62598         * lib/filenamecat.c: Likewise.
62599         * lib/filenamecat.h: Likewise.
62600         * lib/findprog.c: Likewise.
62601         * lib/findprog.h: Likewise.
62602         * lib/float.in.h: Likewise.
62603         * lib/floor.c: Likewise.
62604         * lib/floorf.c: Likewise.
62605         * lib/floorl.c: Likewise.
62606         * lib/fopen-safer.c: Likewise.
62607         * lib/fopen.c: Likewise.
62608         * lib/fpending.c: Likewise.
62609         * lib/fpending.h: Likewise.
62610         * lib/fprintf.c: Likewise.
62611         * lib/fprintftime.h: Likewise.
62612         * lib/fpucw.h: Likewise.
62613         * lib/fpurge.c: Likewise.
62614         * lib/fpurge.h: Likewise.
62615         * lib/freadable.c: Likewise.
62616         * lib/freadable.h: Likewise.
62617         * lib/freadahead.c: Likewise.
62618         * lib/freadahead.h: Likewise.
62619         * lib/freading.c: Likewise.
62620         * lib/freading.h: Likewise.
62621         * lib/free.c: Likewise.
62622         * lib/freopen.c: Likewise.
62623         * lib/frexp.c: Likewise.
62624         * lib/frexpl.c: Likewise.
62625         * lib/fseek.c: Likewise.
62626         * lib/fseterr.c: Likewise.
62627         * lib/fseterr.h: Likewise.
62628         * lib/fstatat.c: Likewise.
62629         * lib/fstrcmp.c: Likewise.
62630         * lib/fstrcmp.h: Likewise.
62631         * lib/fsusage.c: Likewise.
62632         * lib/fsusage.h: Likewise.
62633         * lib/ftell.c: Likewise.
62634         * lib/ftello.c: Likewise.
62635         * lib/fts-cycle.c: Likewise.
62636         * lib/fts.c: Likewise.
62637         * lib/fts_.h: Likewise.
62638         * lib/full-read.c: Likewise.
62639         * lib/full-read.h: Likewise.
62640         * lib/full-write.c: Likewise.
62641         * lib/full-write.h: Likewise.
62642         * lib/fwritable.c: Likewise.
62643         * lib/fwritable.h: Likewise.
62644         * lib/fwriteerror.c: Likewise.
62645         * lib/fwriteerror.h: Likewise.
62646         * lib/fwriting.c: Likewise.
62647         * lib/fwriting.h: Likewise.
62648         * lib/gcd.c: Likewise.
62649         * lib/gcd.h: Likewise.
62650         * lib/getcwd.c: Likewise.
62651         * lib/getdate.h: Likewise.
62652         * lib/getdate.y: Likewise.
62653         * lib/getdomainname.c: Likewise.
62654         * lib/getdomainname.h: Likewise.
62655         * lib/getgroups.c: Likewise.
62656         * lib/gethostname.c: Likewise.
62657         * lib/gethrxtime.c: Likewise.
62658         * lib/gethrxtime.h: Likewise.
62659         * lib/getloadavg.c: Likewise.
62660         * lib/getndelim2.c: Likewise.
62661         * lib/getndelim2.h: Likewise.
62662         * lib/getnline.c: Likewise.
62663         * lib/getnline.h: Likewise.
62664         * lib/getopt.c: Likewise.
62665         * lib/getopt.in.h: Likewise.
62666         * lib/getopt1.c: Likewise.
62667         * lib/getopt_int.h: Likewise.
62668         * lib/getpagesize.h: Likewise.
62669         * lib/getsubopt.c: Likewise.
62670         * lib/gettime.c: Likewise.
62671         * lib/getugroups.c: Likewise.
62672         * lib/getugroups.h: Likewise.
62673         * lib/getusershell.c: Likewise.
62674         * lib/gl_anyavltree_list1.h: Likewise.
62675         * lib/gl_anyavltree_list2.h: Likewise.
62676         * lib/gl_anyhash_list1.h: Likewise.
62677         * lib/gl_anyhash_list2.h: Likewise.
62678         * lib/gl_anylinked_list1.h: Likewise.
62679         * lib/gl_anylinked_list2.h: Likewise.
62680         * lib/gl_anyrbtree_list1.h: Likewise.
62681         * lib/gl_anyrbtree_list2.h: Likewise.
62682         * lib/gl_anytree_list1.h: Likewise.
62683         * lib/gl_anytree_list2.h: Likewise.
62684         * lib/gl_anytree_oset.h: Likewise.
62685         * lib/gl_anytreehash_list1.h: Likewise.
62686         * lib/gl_anytreehash_list2.h: Likewise.
62687         * lib/gl_array_list.c: Likewise.
62688         * lib/gl_array_list.h: Likewise.
62689         * lib/gl_array_oset.c: Likewise.
62690         * lib/gl_array_oset.h: Likewise.
62691         * lib/gl_avltree_list.c: Likewise.
62692         * lib/gl_avltree_list.h: Likewise.
62693         * lib/gl_avltree_oset.c: Likewise.
62694         * lib/gl_avltree_oset.h: Likewise.
62695         * lib/gl_avltreehash_list.c: Likewise.
62696         * lib/gl_avltreehash_list.h: Likewise.
62697         * lib/gl_carray_list.c: Likewise.
62698         * lib/gl_carray_list.h: Likewise.
62699         * lib/gl_linked_list.c: Likewise.
62700         * lib/gl_linked_list.h: Likewise.
62701         * lib/gl_linkedhash_list.c: Likewise.
62702         * lib/gl_linkedhash_list.h: Likewise.
62703         * lib/gl_list.c: Likewise.
62704         * lib/gl_list.h: Likewise.
62705         * lib/gl_oset.c: Likewise.
62706         * lib/gl_oset.h: Likewise.
62707         * lib/gl_rbtree_list.c: Likewise.
62708         * lib/gl_rbtree_list.h: Likewise.
62709         * lib/gl_rbtree_oset.c: Likewise.
62710         * lib/gl_rbtree_oset.h: Likewise.
62711         * lib/gl_rbtreehash_list.c: Likewise.
62712         * lib/gl_rbtreehash_list.h: Likewise.
62713         * lib/gl_sublist.c: Likewise.
62714         * lib/gl_sublist.h: Likewise.
62715         * lib/group-member.c: Likewise.
62716         * lib/group-member.h: Likewise.
62717         * lib/hard-locale.c: Likewise.
62718         * lib/hard-locale.h: Likewise.
62719         * lib/hash-pjw.c: Likewise.
62720         * lib/hash-pjw.h: Likewise.
62721         * lib/hash-triple.c: Likewise.
62722         * lib/hash.c: Likewise.
62723         * lib/hash.h: Likewise.
62724         * lib/human.c: Likewise.
62725         * lib/human.h: Likewise.
62726         * lib/i-ring.c: Likewise.
62727         * lib/i-ring.h: Likewise.
62728         * lib/idcache.c: Likewise.
62729         * lib/imaxabs.c: Likewise.
62730         * lib/imaxdiv.c: Likewise.
62731         * lib/inet_pton.c: Likewise.
62732         * lib/inet_pton.h: Likewise.
62733         * lib/intprops.h: Likewise.
62734         * lib/inttostr.c: Likewise.
62735         * lib/inttostr.h: Likewise.
62736         * lib/inttypes.in.h: Likewise.
62737         * lib/isapipe.c: Likewise.
62738         * lib/isdir.c: Likewise.
62739         * lib/isnan.c: Likewise.
62740         * lib/isnan.h: Likewise.
62741         * lib/isnanf.c: Likewise.
62742         * lib/isnanf.h: Likewise.
62743         * lib/isnanl-nolibm.h: Likewise.
62744         * lib/isnanl.c: Likewise.
62745         * lib/isnanl.h: Likewise.
62746         * lib/javacomp.c: Likewise.
62747         * lib/javacomp.h: Likewise.
62748         * lib/javaexec.c: Likewise.
62749         * lib/javaexec.h: Likewise.
62750         * lib/javaversion.c: Likewise.
62751         * lib/javaversion.h: Likewise.
62752         * lib/javaversion.java: Likewise.
62753         * lib/lbrkprop.h: Likewise.
62754         * lib/lchmod.h: Likewise.
62755         * lib/lchown.c: Likewise.
62756         * lib/ldexpl.c: Likewise.
62757         * lib/linebreak.c: Likewise.
62758         * lib/linebreak.h: Likewise.
62759         * lib/linebuffer.c: Likewise.
62760         * lib/linebuffer.h: Likewise.
62761         * lib/locale.in.h: Likewise.
62762         * lib/logl.c: Likewise.
62763         * lib/long-options.c: Likewise.
62764         * lib/long-options.h: Likewise.
62765         * lib/lstat.c: Likewise.
62766         * lib/lstat.h: Likewise.
62767         * lib/math.in.h: Likewise.
62768         * lib/mbchar.c: Likewise.
62769         * lib/mbchar.h: Likewise.
62770         * lib/mbfile.h: Likewise.
62771         * lib/mbiter.h: Likewise.
62772         * lib/mbscasecmp.c: Likewise.
62773         * lib/mbscasestr.c: Likewise.
62774         * lib/mbschr.c: Likewise.
62775         * lib/mbscspn.c: Likewise.
62776         * lib/mbslen.c: Likewise.
62777         * lib/mbsncasecmp.c: Likewise.
62778         * lib/mbsnlen.c: Likewise.
62779         * lib/mbspbrk.c: Likewise.
62780         * lib/mbspcasecmp.c: Likewise.
62781         * lib/mbsrchr.c: Likewise.
62782         * lib/mbssep.c: Likewise.
62783         * lib/mbsspn.c: Likewise.
62784         * lib/mbsstr.c: Likewise.
62785         * lib/mbstok_r.c: Likewise.
62786         * lib/mbswidth.c: Likewise.
62787         * lib/mbswidth.h: Likewise.
62788         * lib/mbuiter.h: Likewise.
62789         * lib/memcasecmp.c: Likewise.
62790         * lib/memcasecmp.h: Likewise.
62791         * lib/memchr.c: Likewise.
62792         * lib/memcmp.c: Likewise.
62793         * lib/memcoll.c: Likewise.
62794         * lib/memcoll.h: Likewise.
62795         * lib/memcpy.c: Likewise.
62796         * lib/memrchr.c: Likewise.
62797         * lib/mkancesdirs.c: Likewise.
62798         * lib/mkdir-p.c: Likewise.
62799         * lib/mkdir-p.h: Likewise.
62800         * lib/mkdir.c: Likewise.
62801         * lib/mkdirat.c: Likewise.
62802         * lib/mkdtemp.c: Likewise.
62803         * lib/mkstemp-safer.c: Likewise.
62804         * lib/mkstemp.c: Likewise.
62805         * lib/modechange.c: Likewise.
62806         * lib/modechange.h: Likewise.
62807         * lib/mountlist.c: Likewise.
62808         * lib/mountlist.h: Likewise.
62809         * lib/mpsort.c: Likewise.
62810         * lib/nanosleep.c: Likewise.
62811         * lib/obstack.c: Likewise.
62812         * lib/obstack.h: Likewise.
62813         * lib/open-safer.c: Likewise.
62814         * lib/open.c: Likewise.
62815         * lib/openat-die.c: Likewise.
62816         * lib/openat-priv.h: Likewise.
62817         * lib/openat-proc.c: Likewise.
62818         * lib/openat.c: Likewise.
62819         * lib/openat.h: Likewise.
62820         * lib/pagealign_alloc.c: Likewise.
62821         * lib/pagealign_alloc.h: Likewise.
62822         * lib/physmem.c: Likewise.
62823         * lib/physmem.h: Likewise.
62824         * lib/pipe-safer.c: Likewise.
62825         * lib/pipe.c: Likewise.
62826         * lib/pipe.h: Likewise.
62827         * lib/posixtm.c: Likewise.
62828         * lib/posixtm.h: Likewise.
62829         * lib/posixver.c: Likewise.
62830         * lib/printf-frexp.c: Likewise.
62831         * lib/printf-frexp.h: Likewise.
62832         * lib/printf-frexpl.c: Likewise.
62833         * lib/printf-frexpl.h: Likewise.
62834         * lib/printf.c: Likewise.
62835         * lib/progname.c: Likewise.
62836         * lib/progname.h: Likewise.
62837         * lib/progreloc.c: Likewise.
62838         * lib/putenv.c: Likewise.
62839         * lib/quote.c: Likewise.
62840         * lib/quote.h: Likewise.
62841         * lib/quotearg.c: Likewise.
62842         * lib/quotearg.h: Likewise.
62843         * lib/raise.c: Likewise.
62844         * lib/readline.c: Likewise.
62845         * lib/readline.h: Likewise.
62846         * lib/readlink.c: Likewise.
62847         * lib/readtokens.c: Likewise.
62848         * lib/readtokens.h: Likewise.
62849         * lib/readtokens0.c: Likewise.
62850         * lib/readtokens0.h: Likewise.
62851         * lib/readutmp.c: Likewise.
62852         * lib/readutmp.h: Likewise.
62853         * lib/realloc.c: Likewise.
62854         * lib/relocwrapper.c: Likewise.
62855         * lib/rename-dest-slash.c: Likewise.
62856         * lib/rename.c: Likewise.
62857         * lib/rmdir.c: Likewise.
62858         * lib/rpmatch.c: Likewise.
62859         * lib/safe-read.c: Likewise.
62860         * lib/safe-read.h: Likewise.
62861         * lib/safe-write.c: Likewise.
62862         * lib/safe-write.h: Likewise.
62863         * lib/same-inode.h: Likewise.
62864         * lib/same.c: Likewise.
62865         * lib/same.h: Likewise.
62866         * lib/save-cwd.c: Likewise.
62867         * lib/save-cwd.h: Likewise.
62868         * lib/savedir.c: Likewise.
62869         * lib/savedir.h: Likewise.
62870         * lib/savewd.c: Likewise.
62871         * lib/savewd.h: Likewise.
62872         * lib/search.in.h: Likewise.
62873         * lib/setenv.c: Likewise.
62874         * lib/setenv.h: Likewise.
62875         * lib/settime.c: Likewise.
62876         * lib/sh-quote.c: Likewise.
62877         * lib/sh-quote.h: Likewise.
62878         * lib/sig2str.c: Likewise.
62879         * lib/sig2str.h: Likewise.
62880         * lib/signal.in.h: Likewise.
62881         * lib/signbitd.c: Likewise.
62882         * lib/signbitf.c: Likewise.
62883         * lib/signbitl.c: Likewise.
62884         * lib/sigprocmask.c: Likewise.
62885         * lib/sincosl.c: Likewise.
62886         * lib/sleep.c: Likewise.
62887         * lib/sprintf.c: Likewise.
62888         * lib/sqrtl.c: Likewise.
62889         * lib/stat-time.h: Likewise.
62890         * lib/stdio--.h: Likewise.
62891         * lib/stdio-safer.h: Likewise.
62892         * lib/stdlib--.h: Likewise.
62893         * lib/stdlib-safer.h: Likewise.
62894         * lib/stdlib.in.h: Likewise.
62895         * lib/stpcpy.c: Likewise.
62896         * lib/stpncpy.c: Likewise.
62897         * lib/strchrnul.c: Likewise.
62898         * lib/strcspn.c: Likewise.
62899         * lib/strerror.c: Likewise.
62900         * lib/strftime.c: Likewise.
62901         * lib/strftime.h: Likewise.
62902         * lib/striconveh.c: Likewise.
62903         * lib/striconveh.h: Likewise.
62904         * lib/striconveha.c: Likewise.
62905         * lib/striconveha.h: Likewise.
62906         * lib/stripslash.c: Likewise.
62907         * lib/strnlen1.c: Likewise.
62908         * lib/strnlen1.h: Likewise.
62909         * lib/strtod.c: Likewise.
62910         * lib/strtoimax.c: Likewise.
62911         * lib/strtok_r.c: Likewise.
62912         * lib/strtol.c: Likewise.
62913         * lib/strtoll.c: Likewise.
62914         * lib/strtoul.c: Likewise.
62915         * lib/strtoull.c: Likewise.
62916         * lib/sysexits.in.h: Likewise.
62917         * lib/tempname.c: Likewise.
62918         * lib/tempname.h: Likewise.
62919         * lib/timespec.h: Likewise.
62920         * lib/tls.c: Likewise.
62921         * lib/tls.h: Likewise.
62922         * lib/tmpdir.c: Likewise.
62923         * lib/tmpdir.h: Likewise.
62924         * lib/tmpfile-safer.c: Likewise.
62925         * lib/tmpfile.c: Likewise.
62926         * lib/trigl.c: Likewise.
62927         * lib/trigl.h: Likewise.
62928         * lib/trim.c: Likewise.
62929         * lib/trim.h: Likewise.
62930         * lib/trunc.c: Likewise.
62931         * lib/truncf.c: Likewise.
62932         * lib/truncl.c: Likewise.
62933         * lib/tsearch.c: Likewise.
62934         * lib/unicodeio.c: Likewise.
62935         * lib/unicodeio.h: Likewise.
62936         * lib/unistd--.h: Likewise.
62937         * lib/unistd-safer.h: Likewise.
62938         * lib/unistdio/ulc-fprintf.c: Likewise.
62939         * lib/unistdio/ulc-vfprintf.c: Likewise.
62940         * lib/unlinkdir.c: Likewise.
62941         * lib/unlinkdir.h: Likewise.
62942         * lib/unlocked-io.h: Likewise.
62943         * lib/unsetenv.c: Likewise.
62944         * lib/userspec.c: Likewise.
62945         * lib/utime.c: Likewise.
62946         * lib/utimecmp.c: Likewise.
62947         * lib/utimecmp.h: Likewise.
62948         * lib/utimens.c: Likewise.
62949         * lib/verify.h: Likewise.
62950         * lib/verror.c: Likewise.
62951         * lib/verror.h: Likewise.
62952         * lib/version-etc-fsf.c: Likewise.
62953         * lib/version-etc.c: Likewise.
62954         * lib/version-etc.h: Likewise.
62955         * lib/vfprintf.c: Likewise.
62956         * lib/vprintf.c: Likewise.
62957         * lib/vsprintf.c: Likewise.
62958         * lib/w32spawn.h: Likewise.
62959         * lib/wait-process.c: Likewise.
62960         * lib/wait-process.h: Likewise.
62961         * lib/wcwidth.c: Likewise.
62962         * lib/write-any-file.c: Likewise.
62963         * lib/xalloc-die.c: Likewise.
62964         * lib/xalloc.h: Likewise.
62965         * lib/xasprintf.c: Likewise.
62966         * lib/xgetcwd.c: Likewise.
62967         * lib/xgetcwd.h: Likewise.
62968         * lib/xgetdomainname.c: Likewise.
62969         * lib/xgetdomainname.h: Likewise.
62970         * lib/xgethostname.c: Likewise.
62971         * lib/xmalloc.c: Likewise.
62972         * lib/xmalloca.c: Likewise.
62973         * lib/xmalloca.h: Likewise.
62974         * lib/xmemcoll.c: Likewise.
62975         * lib/xnanosleep.c: Likewise.
62976         * lib/xreadlink.c: Likewise.
62977         * lib/xreadlink.h: Likewise.
62978         * lib/xsetenv.c: Likewise.
62979         * lib/xsetenv.h: Likewise.
62980         * lib/xstriconv.c: Likewise.
62981         * lib/xstriconv.h: Likewise.
62982         * lib/xstrndup.c: Likewise.
62983         * lib/xstrndup.h: Likewise.
62984         * lib/xstrtod.c: Likewise.
62985         * lib/xstrtod.h: Likewise.
62986         * lib/xstrtol-error.c: Likewise.
62987         * lib/xstrtol.c: Likewise.
62988         * lib/xstrtol.h: Likewise.
62989         * lib/xtime.h: Likewise.
62990         * lib/xvasprintf.c: Likewise.
62991         * lib/xvasprintf.h: Likewise.
62992         * lib/yesno.c: Likewise.
62993         * lib/yesno.h: Likewise.
62994         * posix-modules: Likewise.
62995         * tests/test-alloca-opt.c: Likewise.
62996         * tests/test-arcfour.c: Likewise.
62997         * tests/test-arctwo.c: Likewise.
62998         * tests/test-argmatch.c: Likewise.
62999         * tests/test-argp-2.sh: Likewise.
63000         * tests/test-argp.c: Likewise.
63001         * tests/test-arpa_inet.c: Likewise.
63002         * tests/test-array_list.c: Likewise.
63003         * tests/test-array_oset.c: Likewise.
63004         * tests/test-atexit.c: Likewise.
63005         * tests/test-avltree_list.c: Likewise.
63006         * tests/test-avltree_oset.c: Likewise.
63007         * tests/test-avltreehash_list.c: Likewise.
63008         * tests/test-base64.c: Likewise.
63009         * tests/test-binary-io.c: Likewise.
63010         * tests/test-byteswap.c: Likewise.
63011         * tests/test-c-ctype.c: Likewise.
63012         * tests/test-c-strcasecmp.c: Likewise.
63013         * tests/test-c-strcasestr.c: Likewise.
63014         * tests/test-c-strncasecmp.c: Likewise.
63015         * tests/test-c-strstr.c: Likewise.
63016         * tests/test-canonicalize-lgpl.c: Likewise.
63017         * tests/test-canonicalize.c: Likewise.
63018         * tests/test-carray_list.c: Likewise.
63019         * tests/test-ceilf.c: Likewise.
63020         * tests/test-ceill.c: Likewise.
63021         * tests/test-count-one-bits.c: Likewise.
63022         * tests/test-crc.c: Likewise.
63023         * tests/test-dirname.c: Likewise.
63024         * tests/test-fbufmode.c: Likewise.
63025         * tests/test-fcntl.c: Likewise.
63026         * tests/test-fflush.c: Likewise.
63027         * tests/test-floorf.c: Likewise.
63028         * tests/test-floorl.c: Likewise.
63029         * tests/test-fopen.c: Likewise.
63030         * tests/test-fprintf-posix.c: Likewise.
63031         * tests/test-fprintf-posix.h: Likewise.
63032         * tests/test-fpurge.c: Likewise.
63033         * tests/test-freadable.c: Likewise.
63034         * tests/test-freadahead.c: Likewise.
63035         * tests/test-freading.c: Likewise.
63036         * tests/test-freopen.c: Likewise.
63037         * tests/test-frexp.c: Likewise.
63038         * tests/test-frexpl.c: Likewise.
63039         * tests/test-fseek.c: Likewise.
63040         * tests/test-fseeko.c: Likewise.
63041         * tests/test-fseterr.c: Likewise.
63042         * tests/test-fstrcmp.c: Likewise.
63043         * tests/test-ftell.c: Likewise.
63044         * tests/test-ftello.c: Likewise.
63045         * tests/test-fwritable.c: Likewise.
63046         * tests/test-fwriting.c: Likewise.
63047         * tests/test-getaddrinfo.c: Likewise.
63048         * tests/test-getpass.c: Likewise.
63049         * tests/test-gettimeofday.c: Likewise.
63050         * tests/test-hmac-md5.c: Likewise.
63051         * tests/test-hmac-sha1.c: Likewise.
63052         * tests/test-iconv.c: Likewise.
63053         * tests/test-iconvme.c: Likewise.
63054         * tests/test-inttypes.c: Likewise.
63055         * tests/test-isnan.c: Likewise.
63056         * tests/test-isnanf.c: Likewise.
63057         * tests/test-isnanl-nolibm.c: Likewise.
63058         * tests/test-isnanl.c: Likewise.
63059         * tests/test-isnanl.h: Likewise.
63060         * tests/test-ldexpl.c: Likewise.
63061         * tests/test-linked_list.c: Likewise.
63062         * tests/test-linkedhash_list.c: Likewise.
63063         * tests/test-locale.c: Likewise.
63064         * tests/test-localename.c: Likewise.
63065         * tests/test-lock.c: Likewise.
63066         * tests/test-lseek.c: Likewise.
63067         * tests/test-malloca.c: Likewise.
63068         * tests/test-math.c: Likewise.
63069         * tests/test-mbscasecmp.c: Likewise.
63070         * tests/test-mbscasestr1.c: Likewise.
63071         * tests/test-mbscasestr2.c: Likewise.
63072         * tests/test-mbscasestr3.c: Likewise.
63073         * tests/test-mbscasestr4.c: Likewise.
63074         * tests/test-mbschr.c: Likewise.
63075         * tests/test-mbscspn.c: Likewise.
63076         * tests/test-mbsncasecmp.c: Likewise.
63077         * tests/test-mbspbrk.c: Likewise.
63078         * tests/test-mbspcasecmp.c: Likewise.
63079         * tests/test-mbsrchr.c: Likewise.
63080         * tests/test-mbsspn.c: Likewise.
63081         * tests/test-mbsstr1.c: Likewise.
63082         * tests/test-mbsstr2.c: Likewise.
63083         * tests/test-mbsstr3.c: Likewise.
63084         * tests/test-md5.c: Likewise.
63085         * tests/test-memmem.c: Likewise.
63086         * tests/test-netinet_in.c: Likewise.
63087         * tests/test-open.c: Likewise.
63088         * tests/test-printf-frexp.c: Likewise.
63089         * tests/test-printf-frexpl.c: Likewise.
63090         * tests/test-printf-posix.c: Likewise.
63091         * tests/test-printf-posix.h: Likewise.
63092         * tests/test-rbtree_list.c: Likewise.
63093         * tests/test-rbtree_oset.c: Likewise.
63094         * tests/test-rbtreehash_list.c: Likewise.
63095         * tests/test-read-file.c: Likewise.
63096         * tests/test-rijndael.c: Likewise.
63097         * tests/test-search.c: Likewise.
63098         * tests/test-signbit.c: Likewise.
63099         * tests/test-sleep.c: Likewise.
63100         * tests/test-snprintf-posix.c: Likewise.
63101         * tests/test-snprintf-posix.h: Likewise.
63102         * tests/test-snprintf.c: Likewise.
63103         * tests/test-sprintf-posix.c: Likewise.
63104         * tests/test-sprintf-posix.h: Likewise.
63105         * tests/test-stat-time.c: Likewise.
63106         * tests/test-stdbool.c: Likewise.
63107         * tests/test-stdint.c: Likewise.
63108         * tests/test-stdio.c: Likewise.
63109         * tests/test-stdlib.c: Likewise.
63110         * tests/test-stpncpy.c: Likewise.
63111         * tests/test-strcasestr.c: Likewise.
63112         * tests/test-striconv.c: Likewise.
63113         * tests/test-striconveh.c: Likewise.
63114         * tests/test-striconveha.c: Likewise.
63115         * tests/test-string.c: Likewise.
63116         * tests/test-sys_select.c: Likewise.
63117         * tests/test-sys_socket.c: Likewise.
63118         * tests/test-sys_stat.c: Likewise.
63119         * tests/test-sys_time.c: Likewise.
63120         * tests/test-sysexits.c: Likewise.
63121         * tests/test-time.c: Likewise.
63122         * tests/test-tls.c: Likewise.
63123         * tests/test-trunc.c: Likewise.
63124         * tests/test-truncf.c: Likewise.
63125         * tests/test-truncl.c: Likewise.
63126         * tests/test-unistd.c: Likewise.
63127         * tests/test-vasnprintf-posix.c: Likewise.
63128         * tests/test-vasnprintf-posix2.c: Likewise.
63129         * tests/test-vasnprintf.c: Likewise.
63130         * tests/test-vasprintf-posix.c: Likewise.
63131         * tests/test-vasprintf.c: Likewise.
63132         * tests/test-verify.c: Likewise.
63133         * tests/test-vfprintf-posix.c: Likewise.
63134         * tests/test-vprintf-posix.c: Likewise.
63135         * tests/test-vsnprintf-posix.c: Likewise.
63136         * tests/test-vsnprintf.c: Likewise.
63137         * tests/test-vsprintf-posix.c: Likewise.
63138         * tests/test-wchar.c: Likewise.
63139         * tests/test-wctype.c: Likewise.
63140         * tests/test-wcwidth.c: Likewise.
63141         * tests/test-xstrtol.c: Likewise.
63142         * tests/test-xvasprintf.c: Likewise.
63143         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63144         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63145         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63146         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63147         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63148         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63149         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63150         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63151         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63152         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63153         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63154         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63155         * tests/uniname/test-uninames.c: Likewise.
63156         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63157         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63158         * tests/unistdio/test-u16-printf1.h: Likewise.
63159         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63160         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63161         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63162         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63163         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63164         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63165         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63166         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63167         * tests/unistdio/test-u32-printf1.h: Likewise.
63168         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63169         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63170         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63171         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63172         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63173         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63174         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63175         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63176         * tests/unistdio/test-u8-printf1.h: Likewise.
63177         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63178         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63179         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63180         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63181         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63182         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63183         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63184         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63185         * tests/unistdio/test-ulc-printf1.h: Likewise.
63186         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63187         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63188         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63189         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63190         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63191         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63192         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63193         * tests/uniwidth/test-u16-width.c: Likewise.
63194         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63195         * tests/uniwidth/test-u32-width.c: Likewise.
63196         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63197         * tests/uniwidth/test-u8-width.c: Likewise.
63198         * tests/uniwidth/test-uc_width.c: Likewise.
63199         * config/srclist-update: Likewise.
63200         (fixlicense): Update to GPLv3+.
63201
63202         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63203         * tests/test-tsearch.c: Change copyright notice.
63204
63205         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63206         * lib/c-strcaseeq.h: Change copyright notice.
63207         * lib/streq.h: Likewise.
63208         * lib/uniconv.h: Likewise.
63209         * lib/uniconv/u-conv-from-enc.h: Likewise.
63210         * lib/uniconv/u-conv-to-enc.h: Likewise.
63211         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63212         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63213         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63214         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63215         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63216         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63217         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63218         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63219         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63220         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63221         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63222         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63223         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63224         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63225         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63226         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63227         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63228         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63229         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63230         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63231         * lib/uniname.h: Likewise.
63232         * lib/uniname/uniname.c: Likewise.
63233         * lib/unistdio.h: Likewise.
63234         * lib/unistdio/u-asnprintf.h: Likewise.
63235         * lib/unistdio/u-asprintf.h: Likewise.
63236         * lib/unistdio/u-printf-args.c: Likewise.
63237         * lib/unistdio/u-printf-args.h: Likewise.
63238         * lib/unistdio/u-printf-parse.h: Likewise.
63239         * lib/unistdio/u-snprintf.h: Likewise.
63240         * lib/unistdio/u-sprintf.h: Likewise.
63241         * lib/unistdio/u-vasprintf.h: Likewise.
63242         * lib/unistdio/u-vsnprintf.h: Likewise.
63243         * lib/unistdio/u-vsprintf.h: Likewise.
63244         * lib/unistdio/u16-asnprintf.c: Likewise.
63245         * lib/unistdio/u16-asprintf.c: Likewise.
63246         * lib/unistdio/u16-printf-parse.c: Likewise.
63247         * lib/unistdio/u16-snprintf.c: Likewise.
63248         * lib/unistdio/u16-sprintf.c: Likewise.
63249         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63250         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63251         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63252         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63253         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63254         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63255         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63256         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63257         * lib/unistdio/u16-vasnprintf.c: Likewise.
63258         * lib/unistdio/u16-vasprintf.c: Likewise.
63259         * lib/unistdio/u16-vsnprintf.c: Likewise.
63260         * lib/unistdio/u16-vsprintf.c: Likewise.
63261         * lib/unistdio/u32-asnprintf.c: Likewise.
63262         * lib/unistdio/u32-asprintf.c: Likewise.
63263         * lib/unistdio/u32-printf-parse.c: Likewise.
63264         * lib/unistdio/u32-snprintf.c: Likewise.
63265         * lib/unistdio/u32-sprintf.c: Likewise.
63266         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63267         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63268         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63269         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63270         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63271         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63272         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63273         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63274         * lib/unistdio/u32-vasnprintf.c: Likewise.
63275         * lib/unistdio/u32-vasprintf.c: Likewise.
63276         * lib/unistdio/u32-vsnprintf.c: Likewise.
63277         * lib/unistdio/u32-vsprintf.c: Likewise.
63278         * lib/unistdio/u8-asnprintf.c: Likewise.
63279         * lib/unistdio/u8-asprintf.c: Likewise.
63280         * lib/unistdio/u8-printf-parse.c: Likewise.
63281         * lib/unistdio/u8-snprintf.c: Likewise.
63282         * lib/unistdio/u8-sprintf.c: Likewise.
63283         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63284         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63285         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63286         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63287         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63288         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63289         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63290         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63291         * lib/unistdio/u8-vasnprintf.c: Likewise.
63292         * lib/unistdio/u8-vasprintf.c: Likewise.
63293         * lib/unistdio/u8-vsnprintf.c: Likewise.
63294         * lib/unistdio/u8-vsprintf.c: Likewise.
63295         * lib/unistdio/ulc-asnprintf.c: Likewise.
63296         * lib/unistdio/ulc-asprintf.c: Likewise.
63297         * lib/unistdio/ulc-printf-parse.c: Likewise.
63298         * lib/unistdio/ulc-snprintf.c: Likewise.
63299         * lib/unistdio/ulc-sprintf.c: Likewise.
63300         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63301         * lib/unistdio/ulc-vasprintf.c: Likewise.
63302         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63303         * lib/unistdio/ulc-vsprintf.c: Likewise.
63304         * lib/unistr.h: Likewise.
63305         * lib/unistr/u-cpy-alloc.h: Likewise.
63306         * lib/unistr/u-cpy.h: Likewise.
63307         * lib/unistr/u-endswith.h: Likewise.
63308         * lib/unistr/u-move.h: Likewise.
63309         * lib/unistr/u-set.h: Likewise.
63310         * lib/unistr/u-startswith.h: Likewise.
63311         * lib/unistr/u-stpcpy.h: Likewise.
63312         * lib/unistr/u-stpncpy.h: Likewise.
63313         * lib/unistr/u-strcat.h: Likewise.
63314         * lib/unistr/u-strcpy.h: Likewise.
63315         * lib/unistr/u-strcspn.h: Likewise.
63316         * lib/unistr/u-strdup.h: Likewise.
63317         * lib/unistr/u-strlen.h: Likewise.
63318         * lib/unistr/u-strncat.h: Likewise.
63319         * lib/unistr/u-strncpy.h: Likewise.
63320         * lib/unistr/u-strnlen.h: Likewise.
63321         * lib/unistr/u-strpbrk.h: Likewise.
63322         * lib/unistr/u-strspn.h: Likewise.
63323         * lib/unistr/u-strstr.h: Likewise.
63324         * lib/unistr/u-strtok.h: Likewise.
63325         * lib/unistr/u16-check.c: Likewise.
63326         * lib/unistr/u16-chr.c: Likewise.
63327         * lib/unistr/u16-cmp.c: Likewise.
63328         * lib/unistr/u16-cpy-alloc.c: Likewise.
63329         * lib/unistr/u16-cpy.c: Likewise.
63330         * lib/unistr/u16-endswith.c: Likewise.
63331         * lib/unistr/u16-mblen.c: Likewise.
63332         * lib/unistr/u16-mbsnlen.c: Likewise.
63333         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63334         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63335         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63336         * lib/unistr/u16-mbtouc.c: Likewise.
63337         * lib/unistr/u16-mbtoucr.c: Likewise.
63338         * lib/unistr/u16-move.c: Likewise.
63339         * lib/unistr/u16-next.c: Likewise.
63340         * lib/unistr/u16-prev.c: Likewise.
63341         * lib/unistr/u16-set.c: Likewise.
63342         * lib/unistr/u16-startswith.c: Likewise.
63343         * lib/unistr/u16-stpcpy.c: Likewise.
63344         * lib/unistr/u16-stpncpy.c: Likewise.
63345         * lib/unistr/u16-strcat.c: Likewise.
63346         * lib/unistr/u16-strchr.c: Likewise.
63347         * lib/unistr/u16-strcmp.c: Likewise.
63348         * lib/unistr/u16-strcpy.c: Likewise.
63349         * lib/unistr/u16-strcspn.c: Likewise.
63350         * lib/unistr/u16-strdup.c: Likewise.
63351         * lib/unistr/u16-strlen.c: Likewise.
63352         * lib/unistr/u16-strmblen.c: Likewise.
63353         * lib/unistr/u16-strmbtouc.c: Likewise.
63354         * lib/unistr/u16-strncat.c: Likewise.
63355         * lib/unistr/u16-strncmp.c: Likewise.
63356         * lib/unistr/u16-strncpy.c: Likewise.
63357         * lib/unistr/u16-strnlen.c: Likewise.
63358         * lib/unistr/u16-strpbrk.c: Likewise.
63359         * lib/unistr/u16-strrchr.c: Likewise.
63360         * lib/unistr/u16-strspn.c: Likewise.
63361         * lib/unistr/u16-strstr.c: Likewise.
63362         * lib/unistr/u16-strtok.c: Likewise.
63363         * lib/unistr/u16-to-u32.c: Likewise.
63364         * lib/unistr/u16-to-u8.c: Likewise.
63365         * lib/unistr/u16-uctomb-aux.c: Likewise.
63366         * lib/unistr/u16-uctomb.c: Likewise.
63367         * lib/unistr/u32-check.c: Likewise.
63368         * lib/unistr/u32-chr.c: Likewise.
63369         * lib/unistr/u32-cmp.c: Likewise.
63370         * lib/unistr/u32-cpy-alloc.c: Likewise.
63371         * lib/unistr/u32-cpy.c: Likewise.
63372         * lib/unistr/u32-endswith.c: Likewise.
63373         * lib/unistr/u32-mblen.c: Likewise.
63374         * lib/unistr/u32-mbsnlen.c: Likewise.
63375         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63376         * lib/unistr/u32-mbtouc.c: Likewise.
63377         * lib/unistr/u32-mbtoucr.c: Likewise.
63378         * lib/unistr/u32-move.c: Likewise.
63379         * lib/unistr/u32-next.c: Likewise.
63380         * lib/unistr/u32-prev.c: Likewise.
63381         * lib/unistr/u32-set.c: Likewise.
63382         * lib/unistr/u32-startswith.c: Likewise.
63383         * lib/unistr/u32-stpcpy.c: Likewise.
63384         * lib/unistr/u32-stpncpy.c: Likewise.
63385         * lib/unistr/u32-strcat.c: Likewise.
63386         * lib/unistr/u32-strchr.c: Likewise.
63387         * lib/unistr/u32-strcmp.c: Likewise.
63388         * lib/unistr/u32-strcpy.c: Likewise.
63389         * lib/unistr/u32-strcspn.c: Likewise.
63390         * lib/unistr/u32-strdup.c: Likewise.
63391         * lib/unistr/u32-strlen.c: Likewise.
63392         * lib/unistr/u32-strmblen.c: Likewise.
63393         * lib/unistr/u32-strmbtouc.c: Likewise.
63394         * lib/unistr/u32-strncat.c: Likewise.
63395         * lib/unistr/u32-strncmp.c: Likewise.
63396         * lib/unistr/u32-strncpy.c: Likewise.
63397         * lib/unistr/u32-strnlen.c: Likewise.
63398         * lib/unistr/u32-strpbrk.c: Likewise.
63399         * lib/unistr/u32-strrchr.c: Likewise.
63400         * lib/unistr/u32-strspn.c: Likewise.
63401         * lib/unistr/u32-strstr.c: Likewise.
63402         * lib/unistr/u32-strtok.c: Likewise.
63403         * lib/unistr/u32-to-u16.c: Likewise.
63404         * lib/unistr/u32-to-u8.c: Likewise.
63405         * lib/unistr/u32-uctomb.c: Likewise.
63406         * lib/unistr/u8-check.c: Likewise.
63407         * lib/unistr/u8-chr.c: Likewise.
63408         * lib/unistr/u8-cmp.c: Likewise.
63409         * lib/unistr/u8-cpy-alloc.c: Likewise.
63410         * lib/unistr/u8-cpy.c: Likewise.
63411         * lib/unistr/u8-endswith.c: Likewise.
63412         * lib/unistr/u8-mblen.c: Likewise.
63413         * lib/unistr/u8-mbsnlen.c: Likewise.
63414         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63415         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63416         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63417         * lib/unistr/u8-mbtouc.c: Likewise.
63418         * lib/unistr/u8-mbtoucr.c: Likewise.
63419         * lib/unistr/u8-move.c: Likewise.
63420         * lib/unistr/u8-next.c: Likewise.
63421         * lib/unistr/u8-prev.c: Likewise.
63422         * lib/unistr/u8-set.c: Likewise.
63423         * lib/unistr/u8-startswith.c: Likewise.
63424         * lib/unistr/u8-stpcpy.c: Likewise.
63425         * lib/unistr/u8-stpncpy.c: Likewise.
63426         * lib/unistr/u8-strcat.c: Likewise.
63427         * lib/unistr/u8-strchr.c: Likewise.
63428         * lib/unistr/u8-strcmp.c: Likewise.
63429         * lib/unistr/u8-strcpy.c: Likewise.
63430         * lib/unistr/u8-strcspn.c: Likewise.
63431         * lib/unistr/u8-strdup.c: Likewise.
63432         * lib/unistr/u8-strlen.c: Likewise.
63433         * lib/unistr/u8-strmblen.c: Likewise.
63434         * lib/unistr/u8-strmbtouc.c: Likewise.
63435         * lib/unistr/u8-strncat.c: Likewise.
63436         * lib/unistr/u8-strncmp.c: Likewise.
63437         * lib/unistr/u8-strncpy.c: Likewise.
63438         * lib/unistr/u8-strnlen.c: Likewise.
63439         * lib/unistr/u8-strpbrk.c: Likewise.
63440         * lib/unistr/u8-strrchr.c: Likewise.
63441         * lib/unistr/u8-strspn.c: Likewise.
63442         * lib/unistr/u8-strstr.c: Likewise.
63443         * lib/unistr/u8-strtok.c: Likewise.
63444         * lib/unistr/u8-to-u16.c: Likewise.
63445         * lib/unistr/u8-to-u32.c: Likewise.
63446         * lib/unistr/u8-uctomb-aux.c: Likewise.
63447         * lib/unistr/u8-uctomb.c: Likewise.
63448         * lib/unitypes.h: Likewise.
63449         * lib/uniwidth.h: Likewise.
63450         * lib/uniwidth/cjk.h: Likewise.
63451         * lib/uniwidth/u16-strwidth.c: Likewise.
63452         * lib/uniwidth/u16-width.c: Likewise.
63453         * lib/uniwidth/u32-strwidth.c: Likewise.
63454         * lib/uniwidth/u32-width.c: Likewise.
63455         * lib/uniwidth/u8-strwidth.c: Likewise.
63456         * lib/uniwidth/u8-width.c: Likewise.
63457         * lib/uniwidth/width.c: Likewise.
63458
63459 2007-10-07  Bruno Haible  <bruno@clisp.org>
63460
63461         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63462         The file is still under LGPL (see modules/inttypes).
63463
63464 2007-10-06  Bruno Haible  <bruno@clisp.org>
63465
63466         * modules/trunc (Dependencies): Add 'extensions'.
63467         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63468         Reported by Ben Pfaff <blp@gnu.org>.
63469
63470 2007-10-06  Bruno Haible  <bruno@clisp.org>
63471
63472         * modules/freopen-tests: New file.
63473         * tests/test-freopen.c: New file.
63474
63475         * modules/fopen-tests: New file.
63476         * tests/test-fopen.c: New file.
63477
63478         * modules/fopen: New file.
63479         * lib/fopen.c: New file.
63480         * m4/fopen.m4: New file.
63481         * modules/freopen: New file.
63482         * lib/freopen.c: New file.
63483         * m4/freopen.m4: New file.
63484         * lib/stdio.in.h (fopen, freopen): New declarations.
63485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63486         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63487         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63488         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63489         * doc/functions/fopen.texi: Mention the 'fopen' module.
63490         * doc/functions/freopen.texi: Mention the 'freopen' module.
63491
63492 2007-10-06  Bruno Haible  <bruno@clisp.org>
63493
63494         * modules/open-tests: New file.
63495         * tests/test-open.c: New file.
63496
63497         * modules/open: New file.
63498         * lib/open.c: New file.
63499         * m4/open.m4: New file.
63500         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63501         lib/open.c does.
63502         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63503         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63504         macros.
63505         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63506         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63507         REPLACE_OPEN.
63508         * doc/functions/open.texi: Mention the 'open' module.
63509
63510 2007-10-04  Bruno Haible  <bruno@clisp.org>
63511
63512         * modules/ceill-tests: New file.
63513         * tests/test-ceill.c: New file.
63514
63515         * modules/ceill: New file.
63516         * lib/ceill.c: Replace entire file.
63517         * m4/ceill.m4: New file.
63518         * lib/math.in.h (ceill): Replace declaration.
63519         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63520         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63521         * doc/functions/ceill.texi: Mention the 'ceill' module.
63522         * modules/mathl (Files): Remove lib/ceill.c.
63523         (Depends-on): Add ceill.
63524
63525 2007-10-04  Bruno Haible  <bruno@clisp.org>
63526
63527         * modules/ceilf-tests: New file.
63528         * tests/test-ceilf.c: New file.
63529
63530         * modules/ceilf: New file.
63531         * lib/ceil.c: New file.
63532         * lib/ceilf.c: New file.
63533         * m4/ceilf.m4: New file.
63534         * lib/math.in.h (ceilf): New declaration.
63535         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63536         HAVE_DECL_CEILF.
63537         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63538         HAVE_DECL_CEILF.
63539         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63540
63541 2007-10-04  Bruno Haible  <bruno@clisp.org>
63542
63543         * modules/floorl-tests: New file.
63544         * tests/test-floorl.c: New file.
63545
63546         * modules/floorl: New file.
63547         * lib/floorl.c: Replace entire file.
63548         * m4/floorl.m4: New file.
63549         * lib/math.in.h (floorl): Replace declaration.
63550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63551         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63552         * doc/functions/floorl.texi: Mention the 'floorl' module.
63553         * modules/mathl (Files): Remove lib/floorl.c.
63554         (Depends-on): Add floorl.
63555
63556 2007-10-04  Bruno Haible  <bruno@clisp.org>
63557
63558         * modules/floorf-tests: New file.
63559         * tests/test-floorf.c: New file.
63560
63561         * modules/floorf: New file.
63562         * lib/floor.c: New file.
63563         * lib/floorf.c: New file.
63564         * m4/floorf.m4: New file.
63565         * lib/math.in.h (floorf): New declaration.
63566         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63567         HAVE_DECL_FLOORF.
63568         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63569         HAVE_DECL_FLOORF.
63570         * doc/functions/floorf.texi: Mention the 'floorf' module.
63571
63572 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63573             Bruno Haible  <bruno@clisp.org>
63574
63575         Advertise for the Git server instead of the CVS server.
63576         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63577         repository instead of the CVS one.
63578         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63579         about all VCS systems generically.
63580         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63581
63582 2007-10-04  Bruno Haible  <bruno@clisp.org>
63583
63584         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63585         means.
63586         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63587
63588 2007-10-04  Bruno Haible  <bruno@clisp.org>
63589
63590         * modules/truncl-tests: New file.
63591         * tests/test-truncl.c: New file.
63592
63593         * modules/truncl: New file.
63594         * lib/truncl.c: New file.
63595         * m4/truncl.m4: New file.
63596         * lib/math.in.h (truncl): New declaration.
63597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63598         HAVE_DECL_TRUNCL.
63599         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63600         HAVE_DECL_TRUNCL.
63601         * doc/functions/truncl.texi: Mention the 'truncl' module.
63602
63603 2007-10-04  Bruno Haible  <bruno@clisp.org>
63604
63605         * modules/truncf-tests: New file.
63606         * tests/test-truncf.c: New file.
63607
63608         * modules/truncf: New file.
63609         * lib/trunc.c: Make paramerizable through USE_* macros.
63610         * lib/truncf.c: New file.
63611         * m4/truncf.m4: New file.
63612         * lib/math.in.h (truncf): New declaration.
63613         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63614         HAVE_DECL_TRUNCF.
63615         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63616         HAVE_DECL_TRUNCF.
63617         * doc/functions/truncf.texi: Mention the 'truncf' module.
63618
63619 2007-10-03  Bruno Haible  <bruno@clisp.org>
63620
63621         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63622         augmentation also for tests modules.
63623         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63624         * modules/atexit-tests (Makefile.am): Likewise.
63625         * modules/binary-io-tests (Makefile.am): Likewise.
63626         * modules/c-strcase-tests (Makefile.am): Likewise.
63627         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63628         * modules/canonicalize-tests (Makefile.am): Likewise.
63629         * modules/closein-tests (Makefile.am): Likewise.
63630         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63631         * modules/freadahead-tests (Makefile.am): Likewise.
63632         * modules/fseek-tests (Makefile.am): Likewise.
63633         * modules/fseeko-tests (Makefile.am): Likewise.
63634         * modules/ftell-tests (Makefile.am): Likewise.
63635         * modules/ftello-tests (Makefile.am): Likewise.
63636         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63637         * modules/isnanl-tests (Makefile.am): Likewise.
63638         * modules/lseek-tests (Makefile.am): Likewise.
63639         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63640         * modules/mbscasestr-tests (Makefile.am): Likewise.
63641         * modules/mbschr-tests (Makefile.am): Likewise.
63642         * modules/mbscspn-tests (Makefile.am): Likewise.
63643         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63644         * modules/mbspbrk-tests (Makefile.am): Likewise.
63645         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63646         * modules/mbsrchr-tests (Makefile.am): Likewise.
63647         * modules/mbsspn-tests (Makefile.am): Likewise.
63648         * modules/mbsstr-tests (Makefile.am): Likewise.
63649         * modules/printf-posix-tests (Makefile.am): Likewise.
63650         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63651         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63652         * modules/tsearch-tests (Makefile.am): Likewise.
63653         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63654         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63655         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63656         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63657         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63658         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63659         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63660         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63661         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
63662         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
63663         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63664         * modules/xstrtol-tests (Makefile.am): Likewise.
63665         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63666         * modules/yesno-tests (Makefile.am): Likewise.
63667
63668 2007-10-03  Bruno Haible  <bruno@clisp.org>
63669
63670         * modules/trunc-tests: New file.
63671         * tests/test-trunc.c: New file.
63672
63673         * modules/trunc: New file.
63674         * lib/trunc.c: New file.
63675         * m4/trunc.m4: New file.
63676         * lib/math.in.h (trunc): New declaration.
63677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
63678         HAVE_DECL_TRUNC.
63679         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
63680         HAVE_DECL_TRUNC.
63681         * doc/functions/trunc.texi: Mention the 'trunc' module.
63682
63683 2007-10-03  Bruno Haible  <bruno@clisp.org>
63684
63685         * tests/test-fpending.c: New file, mostly copied
63686         from coreutils/lib/t-fpending.c.
63687         * modules/fpending-tests: New file.
63688
63689 2007-10-03  Bruno Haible  <bruno@clisp.org>
63690
63691         Port the stdio extensions to QNX (untested).
63692         * lib/fseterr.c (fseterr): Add support for QNX.
63693         * lib/fbufmode.c (fbufmode): Likewise.
63694         * lib/freadable.c (freadable): Likewise.
63695         * lib/fwritable.c (fwritable): Likewise.
63696         * lib/freading.c (freading): Likewise.
63697         * lib/fwriting.c (fwriting): Likewise.
63698         * lib/freadahead.c (freadahed): Likewise.
63699         * lib/fpurge.c (fpurge): Likewise.
63700         * lib/fseeko.c (rpl_fseeko): Likewise.
63701
63702 2007-10-03  Bruno Haible  <bruno@clisp.org>
63703             Jim Meyering  <jim@meyering.net>
63704             Eric Blake  <ebb9@byu.net>
63705
63706         * doc/relocatable.texi: Use @command instead of @program.
63707
63708 2007-10-02  Jim Meyering  <jim@meyering.net>
63709
63710         Perform one more "_.h" -> ".in.h" substitution.
63711         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63712         instead of unistd_.h here, too.
63713
63714 2007-10-01  Bruno Haible  <bruno@clisp.org>
63715
63716         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63717         Needed for the alloca-opt module.
63718
63719 2007-09-30  Bruno Haible  <bruno@clisp.org>
63720
63721         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63722         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63723         alloca_.h.
63724         * lib/argz.in.h: Renamed from lib/argz_.h.
63725         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63726         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63727         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63728         byteswap_.h.
63729         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63730         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63731         dirent_.h.
63732         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63733         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63734         fcntl_.h.
63735         * lib/float.in.h: Renamed from lib/float_.h.
63736         * modules/float (Files, Makefile.am): Use float.in.h instead of
63737         float_.h.
63738         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63739         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63740         fnmatch_.h.
63741         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63742         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63743         getopt_.h.
63744         * lib/glob.in.h: Renamed from lib/glob_.h.
63745         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63746         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63747         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63748         iconv_.h.
63749         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63750         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63751         inttypes_.h.
63752         * lib/locale.in.h: Renamed from lib/locale_.h.
63753         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63754         locale_.h.
63755         * lib/math.in.h: Renamed from lib/math_.h.
63756         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63757         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63758         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63759         of netinet_in_.h. Add dependency.
63760         * lib/poll.in.h: Renamed from lib/poll_.h.
63761         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63762         * lib/search.in.h: Renamed from lib/search_.h.
63763         * modules/search (Files, Makefile.am): Use search.in.h instead of
63764         search_.h.
63765         * lib/signal.in.h: Renamed from lib/signal_.h.
63766         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63767         _signal.h.
63768         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63769         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63770         stdbool_.h.
63771         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63772         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63773         stdint_.h.
63774         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63775         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63776         stdio_.h.
63777         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63778         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63779         stdlib_.h.
63780         * lib/string.in.h: Renamed from lib/string_.h.
63781         * modules/string (Files, Makefile.am): Use string.in.h instead of
63782         string_.h.
63783         * doc/gnulib-tool.texi (Initial import): Update.
63784         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63785         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63786         of sys_select_.h. Add dependency.
63787         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63788         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63789         of sys_socket_.h.
63790         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63791         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63792         sys_stat_.h.
63793         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63794         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63795         sys_time_.h.
63796         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63797         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63798         sysexits_.h.
63799         * lib/time.in.h: Renamed from lib/time_.h.
63800         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63801         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63802         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63803         unistd_.h.
63804         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63805         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63806         wchar_.h.
63807         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63808         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63809         wctype_.h.
63810         * build-aux/bootstrap (slurp): Update.
63811         * lib/.cppi-disable: Update.
63812
63813 2007-09-30  Bruno Haible  <bruno@clisp.org>
63814
63815         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63816         Needed on BeOS.
63817
63818 2007-09-30  Bruno Haible  <bruno@clisp.org>
63819
63820         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63821
63822 2007-09-29  Bruno Haible  <bruno@clisp.org>
63823
63824         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63825
63826 2007-09-29  Bruno Haible  <bruno@clisp.org>
63827
63828         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63829         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63830         * build-aux/install-reloc: Compile also areadlink.c.
63831         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63832
63833 2007-09-29  Bruno Haible  <bruno@clisp.org>
63834
63835         * gnulib-tool (func_emit_initmacro_done): Indentation.
63836
63837 2007-09-29  Bruno Haible  <bruno@clisp.org>
63838
63839         * README: Add CVS checkout update instructions.
63840         Info from Bob Proulx <bob@proulx.com>.
63841
63842 2007-09-28  Eric Blake  <ebb9@byu.net>
63843
63844         Provide move-if-change.
63845         * build-aux/move-if-change: New file, based on best practice
63846         rather than any canonical upstream location.
63847
63848 2007-09-28  Jim Meyering  <jim@meyering.net>
63849
63850         Fix canonicalize loop-detection corner case.
63851         Do not attempt to stat the symlink values stored via seen_triple.
63852         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63853         on linux-2.6.18, (but not 2.6.22).
63854         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63855         triple_compare.  The former compares dev,ino,filename, while the latter
63856         would actually stat dirname(filename) when dev and ino were equal.
63857         * lib/hash-triple.c: Install <string.h>.
63858         (STREQ): Define.
63859         (triple_compare_ino_str): New function.
63860         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63861
63862 2007-09-28  Eric Blake  <ebb9@byu.net>
63863
63864         Enforce that AC_REPLACE_FUNCS files exist.
63865         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63866         override check for typos.
63867
63868         Fix test-closein on Solaris 10.
63869         * tests/test-closein.c (main): Don't assume stdin can be inherited
63870         closed on all systems.
63871         * tests/test-closein.sh: Likewise.
63872         Reported by Piotr Tarnowski.
63873
63874 2007-09-28  Jim Meyering  <jim@meyering.net>
63875
63876         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63877
63878 2007-09-27  Jim Meyering  <jim@meyering.net>
63879
63880         canonicalize: Avoid a false-positive cycle failure.
63881         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63882         Sort.  Remove cycle-check.
63883         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63884         not cycle-check.h.
63885         (seen_triple): New function.
63886         (canonicalize_filename_mode): Use it instead of cycle-check.
63887         * tests/test-canonicalize.c: Add a test for this bug.
63888         * tests/test-canonicalize.sh: Set up and run the test.
63889
63890         New module, file-set, from coreutils.
63891         * modules/file-set: Define it.
63892         * lib/file-set.c, lib/file-set.h: Implement.
63893
63894         New module, hash-triple, from coreutils.
63895         * modules/hash-triple: Define it.
63896         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63897
63898 2007-09-25  Eric Blake  <ebb9@byu.net>
63899
63900         Fix strerror on Interix.
63901         * lib/string_.h (strerror): Declare replacement.
63902         * doc/functions/strerror.texi (strerror): Document the Interix
63903         shortcoming.
63904         * modules/string (Makefile.am): Support new hooks.
63905         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63906         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63907         gl_FUNC_STRERROR_SEPARATE.
63908         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63909         * lib/strerror.c (rpl_strerror): Provide replacement.
63910         * modules/strerror (Depends-on): Add string.
63911         (configure.ac): Detect use of module.
63912         * tests/test-strerror.c: New file.
63913         * modules/strerror-tests: New test module.
63914         * modules/argp (Depends-on): Add strerror.
63915         * modules/error (Depends-on): Likewise.
63916         Reported by Martin Koeppe.
63917
63918 2007-09-24  Bruno Haible  <bruno@clisp.org>
63919
63920         * README: Update git instructions.
63921
63922 2007-09-24  Eric Blake  <ebb9@byu.net>
63923
63924         Revert fpending breakage from 2007-09-08.
63925         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63926         __fpending.c.
63927
63928 2007-09-24  Jim Meyering  <jim@meyering.net>
63929
63930         filenamecat.c: Add a test.
63931         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63932         showing how the function works when DIR is the empty string.
63933
63934 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63935
63936         * tests/test-canonicalize.sh: Turn on executable bit.
63937
63938 2007-09-19  Eric Blake  <ebb9@byu.net>
63939
63940         * README: Update CVS instructions.
63941
63942 2007-09-18  Bruno Haible  <bruno@clisp.org>
63943
63944         * modules/areadlink: New file.
63945         * lib/areadlink.h (areadlink): New declaration.
63946         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63947
63948 2007-09-17  Jim Meyering  <jim@meyering.net>
63949
63950         * lib/savewd.c (ESTALE) [!defined]: Define.
63951         Reported to be required on Interix by Martin Koeppe.
63952
63953 2007-09-17  Bruno Haible  <bruno@clisp.org>
63954
63955         * gnulib-tool (func_version): Use $version.
63956
63957 2007-09-16  Bruno Haible  <bruno@clisp.org>
63958
63959         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63960         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63961         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63962         Reported by Greg Schafer <gschafer@zip.com.au>.
63963
63964 2007-09-15  Bruno Haible  <bruno@clisp.org>
63965
63966         * gnulib-tool (sed): Try a little harder to make bash understand the
63967         alias.
63968         Reported by Bruce Korb <bruce.korb@gmail.com>.
63969
63970 2007-09-13  Eric Blake  <ebb9@byu.net>
63971
63972         * ChangeLog: Remove conflict markers.
63973
63974 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63975
63976         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63977         Reported by Bruno Haible <bruno@clisp.org>.
63978
63979 2007-09-12  Bruno Haible  <bruno@clisp.org>
63980
63981         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63982         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63983         is not defined.
63984
63985 2007-09-12  Eric Blake  <ebb9@byu.net>
63986
63987         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63988         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63989         Autoconf definition.
63990         * modules/euidaccess (Depends-on): Add extensions, for
63991         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63992         * modules/fnmatch (Depends-on): Likewise.
63993         * modules/getaddrinfo (Depends-on): Likewise.
63994         * modules/getdelim (Depends-on): Likewise.
63995         * modules/getline (Depends-on): Likewise.
63996         * modules/getsubopt (Depends-on): Likewise.
63997         * modules/gettext (Depends-on): Likewise.
63998         * modules/group-member (Depends-on): Likewise.
63999         * modules/mbchar (Depends-on): Likewise.
64000         * modules/memmem (Depends-on): Likewise.
64001         * modules/mempcpy (Depends-on): Likewise.
64002         * modules/memrchr (Depends-on): Likewise.
64003         * modules/pagealign_alloc (Depends-on): Likewise.
64004         * modules/readutmp (Depends-on): Likewise.
64005         * modules/stpcpy (Depends-on): Likewise.
64006         * modules/stpncpy (Depends-on): Likewise.
64007         * modules/strchrnul (Depends-on): Likewise.
64008         * modules/strndup (Depends-on): Likewise.
64009         * modules/strsep (Depends-on): Likewise.
64010         * modules/strverscmp (Depends-on): Likewise.
64011         * modules/vasprintf (Depends-on): Likewise.
64012         * modules/wcwidth (Depends-on): Likewise.
64013         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64014         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64015         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64016         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64017         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64018         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64019         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64020         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64021         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64022         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64023         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64024         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64025         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64026         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64027         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64028         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64029         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64030         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64031         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64032         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64033         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64034         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64035         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64036         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64037         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64038         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64039         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64040         so that lock.m4 can be used in gettext without extensions module.
64041
64042 2007-09-11  Bruno Haible  <bruno@clisp.org>
64043
64044         * m4/isc-posix.m4: Remove file.
64045         Suggested by Eric Blake.
64046
64047 2007-09-11  Eric Blake  <ebb9@byu.net>
64048
64049         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64050
64051 2007-09-10  Bruno Haible  <bruno@clisp.org>
64052
64053         * posix-modules: Fix typo in error message.
64054         Reported by Matt <mkraai@beckman.com>.
64055
64056 2007-09-09  Bruno Haible  <bruno@clisp.org>
64057
64058         * doc/functions/getdelim.texi: Update list of platforms lacking the
64059         function.
64060         * doc/functions/getline.texi: Likewise.
64061
64062 2007-09-09  Jim Meyering  <jim@meyering.net>
64063
64064         * lib/hash.c (hash_initialize): Detect calloc failure.
64065         Reported by Bruno Haible.
64066
64067 2007-09-09  Bruno Haible  <bruno@clisp.org>
64068
64069         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64070         malloc or realloc fails.
64071
64072 2007-09-09  Bruno Haible  <bruno@clisp.org>
64073
64074         * modules/getcwd (Depends-on): Add malloc-posix.
64075         * modules/glob (Depends-on): Likewise.
64076         * modules/putenv (Depends-on): Likewise.
64077         * modules/strdup (Depends-on): Likewise.
64078         * modules/getdelim (Depends-on): Add realloc-posix.
64079         * modules/read-file (Depends-on): Likewise.
64080
64081 2007-09-09  Bruno Haible  <bruno@clisp.org>
64082
64083         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64084         (gl_FUNC_MALLOC_POSIX): Require it.
64085         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64086         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64087         * modules/realloc (Files): Add m4/malloc.m4.
64088         * modules/calloc (Files): Likewise.
64089
64090 2007-09-09  Bruno Haible  <bruno@clisp.org>
64091
64092         * modules/malloc-posix: New file.
64093         * modules/malloc (Depends-on): Add malloc-posix.
64094         * lib/malloc.c: Include errno.h.
64095         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64096         and a POSIX-compatible malloc into a single function. Set ENOMEM
64097         when returning NULL.
64098         * m4/malloc.m4: New file.
64099         * doc/functions/malloc.texi: Mention the malloc-posix module.
64100         * lib/stdlib_.h (malloc): New declaration.
64101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64102         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64103         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64104         and HAVE_MALLOC_POSIX.
64105
64106 2007-09-09  Bruno Haible  <bruno@clisp.org>
64107
64108         * modules/realloc-posix: New file.
64109         * modules/realloc (Depends-on): Add realloc-posix.
64110         * lib/realloc.c: Include errno.h.
64111         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64112         and a POSIX-compatible realloc into a single function. Set ENOMEM
64113         when returning NULL.
64114         * m4/realloc.m4: New file.
64115         * doc/functions/realloc.texi: Mention the realloc-posix module.
64116         * lib/stdlib_.h (realloc): New declaration.
64117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64118         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64119         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64120         and HAVE_REALLOC_POSIX.
64121
64122 2007-09-09  Bruno Haible  <bruno@clisp.org>
64123
64124         * modules/calloc-posix: New file.
64125         * modules/calloc (Depends-on): Add calloc-posix.
64126         * lib/calloc.c: Include errno.h.
64127         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64128         and a POSIX-compatible calloc into a single function. Set ENOMEM
64129         when returning NULL.
64130         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64131         * doc/functions/calloc.texi: Mention the calloc-posix module.
64132         * lib/stdlib_.h (calloc): New declaration.
64133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64134         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64135         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64136         and HAVE_CALLOC_POSIX.
64137
64138 2007-09-09  Bruno Haible  <bruno@clisp.org>
64139
64140         Allow for modules to show an arbitrary notice.
64141         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64142         * gnulib-tool: New option --extract-notice.
64143         (func_usage): Document it.
64144         (sed_extract_prog): Update.
64145         (func_get_notice): New function.
64146         (func_modules_notice): New function.
64147         (func_import, func_create_testdir): Invoke it.
64148         Suggested by Jim Meyering.
64149
64150 2007-09-09  Bruno Haible  <bruno@clisp.org>
64151
64152         * gnulib-tool: New options --verbose, --quiet.
64153         (func_usage): Document them.
64154         (verbose): New variable.
64155         (func_execute_command): New function.
64156         (func_import): Don't show the module list and the file list if
64157         $verbose < 0.
64158         (func_create_testdir): Likewise. Use func_execute_command.
64159         (func_create_megatestdir): Use func_execute_command.
64160
64161 2007-09-08  Bruno Haible  <bruno@clisp.org>
64162
64163         * gnulib-tool (func_import): Prefer rsync over wget when available,
64164         for fetching the PO files.
64165
64166 2007-09-08  Bruno Haible  <bruno@clisp.org>
64167
64168         * posix-modules: New file. Portions copied from gnulib-tool.
64169         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64170
64171 2007-09-08  Jim Meyering  <jim@meyering.net>
64172
64173         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64174         * lib/fpending.h: Rename from __fpending.h.
64175         * lib/fpending.c: Rename from __fpending.c.
64176         Include "fpending.h", not "__fpending.h".
64177         * lib/__fpending.h, lib/__fpending.c: Remove files.
64178         * modules/fpending (Files): Reflect new file names.
64179         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64180
64181 2007-09-08  Bruno Haible  <bruno@clisp.org>
64182
64183         * m4/inttypes-h.m4: Remove stub file.
64184
64185 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64186
64187         * doc/headers/stdint.texi: Discuss #include_next issue.
64188
64189 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64190
64191         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64192
64193 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64194
64195         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64196         in variable name.
64197
64198 2007-09-03  Jim Meyering  <jim@meyering.net>
64199
64200         New module: git-version-gen.
64201         * modules/git-version-gen: New file.
64202
64203         Import changes from coreutils for bootstrap script.
64204
64205         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64206
64207         bootstrap: uses rsync to download the .po files
64208         * build-aux/bootstrap (po_download_command_format): New global.
64209         (download_po_files): Use rsync.
64210         (update_po_files): Don't remove .po files after download,
64211         so future rsync runs can take advantage of the copies.
64212
64213         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64214
64215         Solve the unnecessary-.po-file-regeneration problem once and for all.
64216         * build-aux/bootstrap (download_po_files): New function, renamed from
64217         get_translations.  Now, downloads, but doesn't update LINGUAS.
64218         (update_po_files): New function.
64219
64220         bootstrap: Ignore more.
64221         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64222         uniwidth to e.g., lib/.gitignore.
64223         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64224
64225         * build-aux/bootstrap: New setting: vc_ignore.
64226         (insert_sorted_if_absent): Create $file if absent.
64227         Adapt to new, possibly empty, list: $vc_ignore.
64228
64229         bootstrap: generate more ignorable names
64230         * build-aux/bootstrap (slurp): When generating ignorable names,
64231         also map .sin to .sed, .gperf to .c, and .y to .c.
64232
64233 2007-09-03  Jim Meyering  <jim@meyering.net>
64234
64235         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64236         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64237
64238 2007-09-02  Bruno Haible  <bruno@clisp.org>
64239
64240         Fix mis-recognition of 'mcs' on QNX 6.
64241         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64242         output contains the string "Mono".
64243         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64244         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64245
64246 2007-09-01  Bruno Haible  <bruno@clisp.org>
64247
64248         Fix collision between uniwidth/* and linebreak modules.
64249         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64250         u32_width): Remove declarations.
64251         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64252         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64253         streq3, streq2, streq1, streq0): Remove functions.
64254         (STREQ): Remove macro.
64255         (is_cjk_encoding): Remove function.
64256         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64257         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64258         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64259         * NEWS: Document the change.
64260
64261 2007-09-01  Bruno Haible  <bruno@clisp.org>
64262
64263         * lib/streq.h: Add double-inclusion guard.
64264
64265 2007-09-01  Karl Berry  <karl@gnu.org>
64266
64267         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64268
64269 2007-08-28  Jim Meyering  <jim@meyering.net>
64270
64271         Rename mreadlink_with_size to areadlink_with_size.
64272         * NEWS: Document the change.
64273         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64274         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64275         * lib/mreadlink.h: Rename this to...
64276         * lib/areadlink.h: ...this.
64277         * modules/mreadlink-with-size: Rename this to...
64278         * modules/areadlink-with-size: ...this.
64279         * lib/canonicalize.c: Reflect the renaming.
64280         * modules/canonicalize: Likewise.
64281
64282 2007-08-26  Bruno Haible  <bruno@clisp.org>
64283
64284         * gnulib-tool (func_import): When deciding which files to remove,
64285         consider also dangling symbolic links.
64286         Reported by Eric Blake.
64287
64288 2007-08-26  Bruno Haible  <bruno@clisp.org>
64289
64290         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64291
64292 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64293
64294         * lib/readline.c: Don't include getline.h, the prototype is now
64295         found in stdio.h.
64296
64297 2007-08-23  Jim Meyering  <jim@meyering.net>
64298
64299         Getdelim touchup.
64300         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64301         around the funlockfile call, since funlockfile never sets errno.
64302         Don't set errno upon failed realloc.
64303
64304 2007-08-22  Eric Blake  <ebb9@byu.net>
64305
64306         Getline touchups.
64307         * lib/getdelim.c (getdelim): Revert regression that required *n to
64308         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64309         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64310         getdelim, rather than whether implementation is missing.
64311         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64312         * lib/stdio_.h (getline): Also declare if replacement is
64313         required.
64314         * doc/functions/getdelim.texi: New file.
64315         * doc/functions/getline.texi: Likewise.
64316         * doc/gnulib.texi (Function Substitutes): Add new files.
64317         Reported by Bruno Haible.
64318
64319 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64320
64321         * users.txt: Add Guile.
64322
64323 2007-08-22  Eric Blake  <ebb9@byu.net>
64324
64325         * tests/test-getdelim.c (main): Use remove, not unlink.
64326         * tests/test-getline.c (main): Likewise.
64327
64328         Move getline and getdelim into stdio.h, per POSIX 200x.
64329         * modules/getline (Files): Remove getline.h.
64330         (Depends-on): Add stdio.
64331         (configure.ac): Add module indicator.
64332         * modules/getdelim (Files): Remove getdelim.h.
64333         (Depends-on): Add stdio.
64334         (configure.ac): Add module indicator.
64335         * modules/stdio (Makefile.am): Work with new indicators.
64336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64337         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64338         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64339         * lib/getdelim.h: Delete.
64340         * lib/getline.h: Delete.
64341         * lib/stdio_.h (getdelim, getline): Declare.
64342         * modules/getdelim-tests: New module.
64343         * modules/getline-tests: Likewise.
64344         * tests/test-getdelim.c: New file.
64345         * tests/test-getline.c: Likewise.
64346         * NEWS: Document the change.
64347         * lib/getline.c: Update choice of header.
64348         * lib/csharpcomp.c: Likewise.
64349         * lib/getpass.c: Likewise.
64350         * lib/javacomp.c: Likewise.
64351         * lib/javaversion.c: Likewise.
64352         * lib/yesno.c: Likewise.
64353         * lib/getdelim.c: Likewise.
64354         (getdelim): Set errno on failure, and avoid memory leak.
64355
64356 2007-08-19  Bruno Haible  <bruno@clisp.org>
64357
64358         * modules/closein (Depends-on): Add freadahead.
64359         * lib/closein.c: Include freadahead.h.
64360         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64361         is zero.
64362
64363 2007-08-19  Bruno Haible  <bruno@clisp.org>
64364
64365         * modules/freadahead-tests: New file.
64366         * tests/test-freadahead.sh: New file.
64367         * tests/test-freadahead.c: New file.
64368
64369         * modules/freadahead: New file.
64370         * lib/freadahead.h: New file.
64371         * lib/freadahead.c: New file.
64372         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64373         fbufmode, fpurge, freadable, fwritable.
64374
64375 2007-08-19  Eric Blake  <ebb9@byu.net>
64376
64377         Test yesno in combination with closein.
64378         * lib/yesno.c (yesno): Document use of stdin.
64379         * modules/yesno-tests (Files): New module.
64380         * tests/test-yesno.c (main): New file.
64381         * tests/test-yesno.sh: Likewise.
64382
64383 2007-08-19  Bruno Haible  <bruno@clisp.org>
64384
64385         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64386         * lib/fseeko.c (rpl_fseeko): Likewise.
64387         * lib/fseterr.c (fseterr): Likewise.
64388
64389 2007-08-19  Bruno Haible  <bruno@clisp.org>
64390
64391         * tests/test-lseek.c (main): Disable a test for BeOS.
64392         * doc/functions/lseek.texi: Document the BeOS bug.
64393
64394 2007-08-19  Bruno Haible  <bruno@clisp.org>
64395             Eric Blake  <ebb9@byu.net>
64396
64397         * lib/lseek.c: Include <sys/stat.h>.
64398         (rpl_lseek): Add workaround code also for Unix platforms.
64399         Needed for BeOS.
64400         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64401         * doc/functions/lseek.texi: Document BeOS definiency.
64402
64403 2007-08-18  Bruno Haible  <bruno@clisp.org>
64404
64405         * modules/fstrcmp-tests: New file.
64406         * tests/test-fstrcmp.c: New file.
64407
64408 2007-08-18  Bruno Haible  <bruno@clisp.org>
64409
64410         * modules/fstrcmp: New file, from GNU gettext with modifications.
64411         * lib/fstrcmp.h: New file, from GNU gettext.
64412         * lib/fstrcmp.c: New file, from GNU gettext.
64413         * MODULES.html.sh (String handling): Add fstrcmp.
64414
64415 2007-08-18  Bruno Haible  <bruno@clisp.org>
64416
64417         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64418         'bool'.
64419         (diag, compareseq): Remove const from the ctxt argument.
64420         (USE_HEURISTIC): Undefine at the end.
64421
64422 2007-08-18  Jim Meyering  <jim@meyering.net>
64423
64424         New file: lib/idcache.h
64425         * NEWS: Mention the addition.
64426         * modules/idcache (Files): Add lib/idcache.h
64427         * lib/idcache.c: Include "idcache.h".
64428         Don't include <sys/types.h>.
64429         Add a FIXME comment.
64430         Move file-scoped "static" declarations to the top.
64431         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64432
64433 2007-08-17  Bruno Haible  <bruno@clisp.org>
64434         and Paul Eggert  <eggert@cs.ucla.edu>
64435
64436         * MODULES.html.sh: Add diffseq.
64437         * modules/diffseq: New file.
64438         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64439         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64440
64441 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64442
64443         Import changes from coreutils for bootstrap script.
64444
64445         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64446
64447         * build-aux/bootstrap (slurp): Work even in environments where
64448         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64449         current code does not slurp files whose names start with ".", and
64450         this looks like it might be a troublesome area.
64451
64452         2007-07-11  Jim Meyering  <jim@meyering.net>
64453
64454         If there's a GPL vN copyright comment, require that N == 3.
64455
64456         2007-07-08  Jim Meyering  <jim@meyering.net>
64457
64458         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64459         * build-aux/bootstrap (mam_template): Move definition out of loop.
64460
64461         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64462
64463         * build-aux/bootstrap (symlink_to_dir): Rename function from
64464         symlink_to_gnulib.  Add a directory parameter.  Update all
64465         callers.
64466         (cp_mark_as_generated): Also check for -- and link to -- files in
64467         gl/.
64468
64469         2007-07-08  Jim Meyering  <jim@meyering.net>
64470
64471         Adapt to deeper hierarchy in gnulib.
64472         * build-aux/bootstrap (symlink_to_dir): If the destination
64473         directory doesn't exist, create it. This is required at least for
64474         "lib/uniwidth/cjk.h".
64475
64476         2007-05-15  Jim Meyering  <jim@meyering.net>
64477
64478         * build-aux/bootstrap: Now that generated Makefile.am files
64479         are no longer under version control, they must be created at
64480         bootstrap time.
64481
64482 2007-08-14  Ben Pfaff  <blp@gnu.org>
64483
64484         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64485
64486 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64487
64488         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64489         given the changes below.
64490         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64491         even on hosts that have padding bits beyond the supported 64.
64492
64493 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64494
64495         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64496         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64497         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64498         depends on it.
64499         (xstrtol_error): Remove.
64500         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64501         but with a different signature.
64502         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64503         * lib/xstrtol-error.c: Include exitfail.h.
64504         (xstrtol_fatal): New function, with a different signature from the
64505         old xstrtol_error, so that the caller need not worry about passing
64506         in an exit status, or about storage management of the option argument.
64507         (xstrtol_error): Now a static function.  Redo signature to
64508         implement xstrtol_fatal.  Output the correct number of hyphens in
64509         front of the option so that the caller need not worry about
64510         storage management.
64511         (N_): New macro.
64512         (_): Remove; not used now.
64513         * modules/xstrtol: Depend on getopt.
64514         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64515         of old STRTOL_FATAL_ERROR macro.
64516         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64517         of test program.
64518         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64519         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64520
64521 2007-08-08  Eric Blake  <ebb9@byu.net>
64522
64523         * lib/xstrtol-error.c: Add missing include.
64524
64525         Move xstrtol messages into gnulib domain, when --pobase is used.
64526         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64527         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64528         * modules/xstrtol (Files): Distribute new file.
64529         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64530         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64531         * tests/test-xstrtol.c: ...into new file.
64532         * tests/test-xstrtoul.c: Also test xstrtoul.
64533         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64534         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64535         * tests/test-xstrtol.sh: Drive the tests.
64536         * tests/test-xstrtoimax.sh: Likewise.
64537         * tests/test-xstrtoumax.sh: Likewise.
64538         * modules/xstrtol-tests: New module.
64539         * modules/xstrtoimax-tests: Likewise.
64540         * modules/xstrtoumax-tests: Likewise.
64541
64542 2007-08-08  Jim Meyering  <jim@meyering.net>
64543
64544         New function: mfile_name_concat.
64545         * lib/filenamecat.c (mfile_name_concat): New function, just like
64546         file_name_concat, but return NULL upon failure rather than exiting
64547         with a diagnostic.
64548         * lib/filenamecat.h: Declare it.
64549
64550 2007-08-07  Bruno Haible  <bruno@clisp.org>
64551
64552         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64553         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64554         warning from gcc.
64555         Reported by Eric Blake.
64556
64557 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64558
64559         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64560         * modules/crypto/arcfour (License): Likewise.
64561         * modules/crypto/des-tests (License): Likewise.
64562         * modules/crypto/gc-arctwo-tests (License): Likewise.
64563         * modules/crypto/gc-des-tests (License): Likewise.
64564         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64565         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64566         * modules/crypto/gc-md2-tests (License): Likewise.
64567         * modules/crypto/gc-md4-tests (License): Likewise.
64568         * modules/crypto/gc-md5-tests (License): Likewise.
64569         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64570         * modules/crypto/gc-rijndael-tests (License): Likewise.
64571         * modules/crypto/gc-sha1-tests (License): Likewise.
64572         * modules/crypto/gc-tests (License): Likewise.
64573         * modules/crypto/hmac-md5 (License): Likewise.
64574         * modules/crypto/hmac-sha1 (License): Likewise.
64575         * modules/crypto/md2-tests (License): Likewise.
64576         * modules/crypto/md4-tests (License): Likewise.
64577         * modules/crypto/md5 (License): Likewise.
64578         * modules/crypto/rijndael (License): Likewise.
64579         * modules/crypto/sha1 (License): Likewise.
64580         * modules/memxor (License): Likewise.
64581
64582 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64583         and Bruno Haible  <bruno@clisp.org>
64584
64585         * NEWS: Describe interface changes to human, xstrtol.
64586         * lib/human.h: Include <xstrtol.h>.
64587         (human_options): Return enum strtol_error, not int.  Remove
64588         bool arg; take int * instead.
64589         * lib/human.c: Don't include "gettext.h".
64590         (_): Remove; no longer used.
64591         Don't include <xstrtol.h>, since human.h does it.
64592         (human_options): Adjust to abovementioned interface changes.
64593         Do not report error to stderr; that's now the caller's
64594         responsibility.
64595         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64596         interface change.
64597         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64598         Str, Argument_type_string.  All uses changed.  Put " argument"
64599         in diagnostics to make them clearer.  Change wording of suffix
64600         message for clarity.
64601         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64602         Argument_type_string.
64603         (STRTOL_FATAL_WARN): Remove; no longer used.
64604         * modules/human (Depends-on): Remove gettext-h.
64605
64606 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64607
64608         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64609
64610 2007-07-31  Bruno Haible  <bruno@clisp.org>
64611
64612         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64613         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64614         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64615
64616 2007-07-31  Bruno Haible  <bruno@clisp.org>
64617
64618         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64619         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64620
64621 2007-07-30  Bruno Haible  <bruno@clisp.org>
64622
64623         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64624         * modules/c-ctype (License): Likewise.
64625         * modules/c-strcase (License): Likewise.
64626         * modules/check-version (License): Likewise.
64627         * modules/iconv (License): Likewise.
64628         * modules/iconv_open (License): Likewise.
64629         * modules/read-file (License): Likewise.
64630         * modules/striconv (License): Likewise.
64631         * modules/strverscmp (License): Likewise.
64632         * modules/vasprintf (License): Likewise.
64633         * modules/crypto/des (License): Likewise.
64634         * modules/crypto/gc (License): Likewise.
64635         * modules/crypto/gc-arcfour (License): Likewise.
64636         * modules/crypto/gc-arctwo (License): Likewise.
64637         * modules/crypto/gc-des (License): Likewise.
64638         * modules/crypto/gc-hmac-md5 (License): Likewise.
64639         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64640         * modules/crypto/gc-md2 (License): Likewise.
64641         * modules/crypto/gc-md4 (License): Likewise.
64642         * modules/crypto/gc-md5 (License): Likewise.
64643         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64644         * modules/crypto/gc-random (License): Likewise.
64645         * modules/crypto/gc-rijndael (License): Likewise.
64646         * modules/crypto/gc-sha1 (License): Likewise.
64647         * modules/crypto/md2 (License): Likewise.
64648         * modules/crypto/md4 (License): Likewise.
64649
64650 2007-07-30  Jim Meyering  <jim@meyering.net>
64651
64652         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64653         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64654         it has valid stat data.  This bug would cause du not to count the
64655         sizes of inaccessible directories.
64656         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64657         in <http://bugzilla.redhat.com/250077>.
64658
64659 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64660             Bruno Haible  <bruno@clisp.org>
64661
64662         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
64663         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
64664         #include_next, gives a diagnostic about it, but reports no error in
64665         the exit code.
64666         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
64667
64668 2007-07-24  Ben Pfaff  <blp@gnu.org>
64669
64670         Improve name: "count-one-bits" is better than "popcount".
64671         * MODULES.html.sh: Update name.
64672         * lib/popcount.h: Renamed lib/count-one-bits.h.
64673         (popcount): Renamed count_one_bits.
64674         (popcountl): Renamed count_one_bits_l.
64675         (popcountll): Renamed count_one_bits_ll.
64676         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
64677         * modules/popcount: Renamed module/count-one-bits.
64678         * modules/popcount-tests: Renamed module/count-one-bits-tests.
64679         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
64680
64681 2007-07-23  Ben Pfaff  <blp@gnu.org>
64682
64683         * lib/popcount.h (popcount32): Reduce size of constants, to allow
64684         better code generation, and add U to large constants to avoid
64685         warnings, in non-GCC case.
64686         Suggested by Bruno Haible.
64687
64688 2007-07-23  Ben Pfaff  <blp@gnu.org>
64689
64690         * lib/popcount.h: Use verify_true instead of if...abort.
64691         * modules/popcount: Depend on verify module.
64692         Suggested by Jim Meyering.
64693
64694 2007-07-23  Bruno Haible  <bruno@clisp.org>
64695
64696         * gnulib-tool (func_import): Create a .cvsignore file also when the
64697         directory is not yet in CVS but the toplevel directory is. When
64698         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64699         Reported by Karl Berry.
64700
64701 2007-07-22  Ben Pfaff  <blp@gnu.org>
64702
64703         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64704         case.
64705         Suggested by Eric Blake.
64706
64707 2007-07-22  Ben Pfaff  <blp@gnu.org>
64708
64709         New module: popcount.
64710         * MODULES.html.sh: Add popcount.
64711         * modules/popcount: New file.
64712         * modules/popcount-tests: New file.
64713         * tests/test-popcount.c: New file.
64714         * lib/popcount.h: New file.
64715         * m4/popcount.m4: New file.
64716
64717 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         * build-aux/announce-gen: Update to GPLv3.
64720
64721         * build-aux/config.guess: Update from config.
64722
64723 2007-07-21  Bruno Haible  <bruno@clisp.org>
64724
64725         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64726         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64727
64728 2007-07-20  Jim Meyering  <jim@meyering.net>
64729
64730         * check-module: Diagnose a self-dependency.
64731
64732 2007-07-19  Bruno Haible  <bruno@clisp.org>
64733
64734         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64735         empty.
64736         Reported by Eric Blake.
64737
64738 2007-07-18  Bruno Haible  <bruno@clisp.org>
64739
64740         * gnulib-tool: New options --po-base, --po-domain.
64741         (func_usage): Document them.
64742         (pobase, po_domain): New variables.
64743         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64744         DEFAULT_TEXT_DOMAIN.
64745         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64746         (func_import): Consider pobase and po_domain. Create a po/ directory.
64747         (func_create_testdir): Set pobase and po_domain to empty.
64748         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64749         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64750
64751 2007-07-18  Bruno Haible  <bruno@clisp.org>
64752
64753         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64754         EXTRA_DIST augmentation for files in build-aux/.
64755
64756 2007-07-16  Bruno Haible  <bruno@clisp.org>
64757
64758         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64759         * modules/getdelim (License): Likewise.
64760
64761 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64762
64763         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64764         * modules/d-type (License): Likewise.
64765         * modules/extensions (License): Likewise.
64766         * modules/fnmatch (License): Likewise.
64767         * modules/fseeko (License): Likewise.
64768         * modules/getaddrinfo (License): Likewise.
64769         * modules/getline (License): Likewise.
64770         * modules/getlogin_r (License): Likewise.
64771         * modules/getpass (License): Likewise.
64772         * modules/gettimeofday (License): Likewise.
64773         * modules/glob (License): Likewise.
64774         * modules/inet_ntop (License): Likewise.
64775         * modules/malloc (License): Likewise.
64776         * modules/malloca (License): Likewise.
64777         * modules/memmem (License): Likewise.
64778         * modules/mempcpy (License): Likewise.
64779         * modules/memset (License): Likewise.
64780         * modules/minmax (License): Likewise.
64781         * modules/mktime (License): Likewise.
64782         * modules/netinet_in (License): Likewise.
64783         * modules/pathmax (License): Likewise.
64784         * modules/poll (License): Likewise.
64785         * modules/regex (License): Likewise.
64786         * modules/snprintf (License): Likewise.
64787         * modules/stdbool (License): Likewise.
64788         * modules/stdint (License): Likewise.
64789         * modules/stdio (License): Likewise.
64790         * modules/strcase (License): Likewise.
64791         * modules/strcasestr (License): Likewise.
64792         * modules/strdup (License): Likewise.
64793         * modules/string (License): Likewise.
64794         * modules/strndup (License): Likewise.
64795         * modules/strnlen (License): Likewise.
64796         * modules/strpbrk (License): Likewise.
64797         * modules/strptime (License): Likewise.
64798         * modules/strsep (License): Likewise.
64799         * modules/sys_select (License): Likewise.
64800         * modules/sys_socket (License): Likewise.
64801         * modules/sys_stat (License): Likewise.
64802         * modules/sys_time (License): Likewise.
64803         * modules/time (License): Likewise.
64804         * modules/time_r (License): Likewise.
64805         * modules/timegm (License): Likewise.
64806         * modules/unistd (License): Likewise.
64807         * modules/vsnprintf (License): Likewise.
64808         * modules/wctype (License): Likewise.
64809
64810 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64811
64812         * modules/argz (License): LGPLv2+.
64813
64814 2007-07-15  Karl Berry  <karl@gnu.org>
64815
64816         * doc/gnulib.texi: revise node structure per new fdl.texi.
64817
64818 2007-07-14  Bruno Haible  <bruno@clisp.org>
64819
64820         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64821         the output file.
64822         * lib/uniname/uninames.h: Regenerated.
64823
64824 2007-07-14  Karl Berry  <karl@gnu.org>
64825
64826         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64827         omitting sectioning and index commands.
64828
64829 2007-07-13  Bruno Haible  <bruno@clisp.org>
64830
64831         New gnulib-tool option --more-symlinks.
64832         * gnulib-tool (func_usage): Document --more-symlinks.
64833         (do_copyrights): New variable.
64834         Recognize option --more-symlinks.
64835         (func_import): Don't add a copyright notice transform to
64836         sed_transform_lib_file if do_copyrights is empty.
64837
64838 2007-07-13  Bruno Haible  <bruno@clisp.org>
64839
64840         * lib/vasnprintf.c (decimal_point_char): Define also if
64841         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64842         && !NEED_PRINTF_DIRECTIVE_A.
64843         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64844         Gary V. Vaughan <gary@gnu.org>.
64845
64846 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64847
64848         * lib/inttypes_.h: Undo previous change, since it was fixed
64849         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64850
64851 2007-07-13  Bruno Haible  <bruno@clisp.org>
64852
64853         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64854         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64855
64856 2007-07-13  Jim Meyering  <jim@meyering.net>
64857
64858         df: Don't fail for Tru64's "file-on-file mount".
64859         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64860         so we fall through and use statfs instead.  Details here:
64861         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64862         Reported by Albert Chin.
64863
64864 2007-07-13  Bruno Haible  <bruno@clisp.org>
64865
64866         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64867         * modules/configmake (License): Likewise.
64868         * modules/gettext (License): Likewise.
64869         * modules/gettext-h (License): Likewise.
64870         * modules/include_next (License): Likewise.
64871         * modules/link-warning (License): Likewise.
64872         * modules/localcharset (License): Likewise.
64873         * modules/localename (License): Likewise.
64874         * modules/lock (License): Likewise.
64875         * modules/relocatable-lib-lgpl (License): Likewise.
64876         * modules/size_max (License): Likewise.
64877         * modules/vasnprintf (License): Likewise.
64878         * modules/wchar (License): Likewise.
64879         * modules/xsize (License): Likewise.
64880
64881 2007-07-13  Bruno Haible  <bruno@clisp.org>
64882
64883         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64884         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64885
64886 2007-07-12  Bruno Haible  <bruno@clisp.org>
64887
64888         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64889         in the modules files.
64890
64891 2007-07-11  Karl Berry  <karl@gnu.org>
64892
64893         * MODULES.html.sh (func_module): use
64894          sed -e '\|^'"${includefile}"'$|d'
64895          instead of /.../d, to avoid errors on $includefile's containing /.
64896
64897 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64898
64899         * gnulib-tool (func_import): Avoid duplication of --avoid
64900         statements
64901         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64902         names to `_' in variable names.
64903
64904 2007-07-10  Eric Blake  <ebb9@byu.net>
64905
64906         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64907         * NEWS: Document this change.
64908
64909 2007-07-08  Bruno Haible  <bruno@clisp.org>
64910
64911         Update to Unicode 5.0.
64912         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64913         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64914         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64915         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64916         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64917         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64918         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64919         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64920         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64921         U+10A3F, U+1D242..U+1D244.
64922         (nonspacing_table_ind): Update.
64923         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64924         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64925
64926 2007-07-08  Bruno Haible  <bruno@clisp.org>
64927
64928         Update to Unicode 5.0.
64929         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64930         code transform. Extend the name index field of unicode_name_to_code and
64931         unicode_code_to_name from 16 to 24 bits.
64932         * lib/uniname/uniname.c (unicode_character_name,
64933         unicode_name_character): Add the range 0x12xxx to the code transform.
64934         * lib/uniname/uninames.h: Regenerated.
64935         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64936
64937 2007-07-07  Bruno Haible  <bruno@clisp.org>
64938
64939         * modules/wcwidth-tests: New file.
64940         * tests/test-wcwidth.c: New file.
64941
64942         Work around MacOS X wcwidth() bug.
64943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64944         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64945         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64946         original wcwidth in non-UTF-8 locales.
64947         * modules/wcwidth (Depends-on): Add localcharset, streq,
64948         uniwidth/width.
64949         * doc/functions/wcwidth.texi: Update.
64950
64951 2007-07-07  Bruno Haible  <bruno@clisp.org>
64952
64953         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64954         (wcwidth): New declaration.
64955         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64956         macros.
64957         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64958         here. Prepare for creating <wchar.h> unconditionally.
64959         * modules/wchar (Depends-on): Add link-warning.
64960         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64961         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64962         * lib/wcwidth.h: Remove file.
64963         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64964         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64965         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64966         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64967         (Include): Replace wcwidth.h with <wchar.h>.
64968         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64969         * lib/mbchar.h: Don't include wcwidth.h.
64970         * lib/mbswidth.c: Likewise.
64971         * NEWS: Mention the change.
64972
64973 2007-07-07  Bruno Haible  <bruno@clisp.org>
64974
64975         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64976         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64977         definition with an external declaration.
64978         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64979         defined as a function. Remove AC_C_INLINE requirement.
64980         * modules/wcwidth (Files): Add lib/wcwidth.c.
64981         (Makefile.am): Remove redundant statement.
64982
64983 2007-07-07  Bruno Haible  <bruno@clisp.org>
64984
64985         * MODULES.html.sh (Unicode string functions): Add the new modules.
64986
64987         * tests/uniwidth/test-u32-strwidth.c: New file.
64988         * modules/uniwidth/u32-strwidth-tests: New file.
64989
64990         * lib/uniwidth/u32-strwidth.c: New file.
64991         * modules/uniwidth/u32-strwidth: New file.
64992
64993         * tests/uniwidth/test-u16-strwidth.c: New file.
64994         * modules/uniwidth/u16-strwidth-tests: New file.
64995
64996         * lib/uniwidth/u16-strwidth.c: New file.
64997         * modules/uniwidth/u16-strwidth: New file.
64998
64999         * tests/uniwidth/test-u8-strwidth.c: New file.
65000         * modules/uniwidth/u8-strwidth-tests: New file.
65001
65002         * lib/uniwidth/u8-strwidth.c: New file.
65003         * modules/uniwidth/u8-strwidth: New file.
65004
65005         * tests/uniwidth/test-u32-width.c: New file.
65006         * modules/uniwidth/u32-width-tests: New file.
65007
65008         * lib/uniwidth/u32-width.c: New file.
65009         * modules/uniwidth/u32-width: New file.
65010
65011         * tests/uniwidth/test-u16-width.c: New file.
65012         * modules/uniwidth/u16-width-tests: New file.
65013
65014         * lib/uniwidth/u16-width.c: New file.
65015         * modules/uniwidth/u16-width: New file.
65016
65017         * tests/uniwidth/test-u8-width.c: New file.
65018         * modules/uniwidth/u8-width-tests: New file.
65019
65020         * lib/uniwidth/u8-width.c: New file.
65021         * modules/uniwidth/u8-width: New file.
65022
65023         * tests/uniwidth/test-uc_width.c: New file.
65024         * modules/uniwidth/width-tests: New file.
65025
65026         * lib/uniwidth/width.c: New file, from GNU libiconv.
65027         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65028         * modules/uniwidth/width: New file.
65029
65030         * lib/uniwidth.h: New file, from GNU libiconv.
65031         * modules/uniwidth/base: New file.
65032
65033 2007-07-07  Bruno Haible  <bruno@clisp.org>
65034
65035         * lib/uniname.h: New file, from GNU gettext.
65036         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65037         * lib/uniname/uninames.h: New file, from GNU gettext.
65038         * lib/uniname/uniname.c: New file, from GNU gettext.
65039         * tests/uniname/test-uninames.sh: New file.
65040         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65041         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65042         * modules/uniname/base: New file.
65043         * modules/uniname/uniname: New file.
65044         * modules/uniname/uniname-tests: New file.
65045         * MODULES.html.sh (Unicode string functions): Add the new modules.
65046
65047 2007-07-06  Bruno Haible  <bruno@clisp.org>
65048
65049         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65050
65051 2007-07-06  Bruno Haible  <bruno@clisp.org>
65052
65053         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65054         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65055         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65056         include <sys/time.h>.
65057         Reported by Eric Blake.
65058
65059 2007-07-06  Eric Blake  <ebb9@byu.net>
65060
65061         Fix testing canonicalize on cygwin.
65062         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65063         Revert patch from 2007-06-19.
65064         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65065         canonicalize module is also in use.
65066         * tests/test-canonicalize.c: New file.
65067         * tests/test-canonicalize.sh: Likewise.
65068         * modules/canonicalize-tests: Likewise.
65069
65070 2007-07-06  Jim Meyering  <jim@meyering.net>
65071
65072         * lib/getugroups.c (getugroups): Detect getgrent failure.
65073         Adjust comment to reflect reality: this function may return -1.
65074
65075 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65076
65077         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65078         the new TP address.
65079         (usage): Fix typo
65080         (gnulib_mk): New variable.
65081
65082 2007-07-05  Jim Meyering  <jim@meyering.net>
65083
65084         Don't let endgrent clobber errno, no matter how improbable.
65085         * lib/getugroups.c (getugroups): Save and restore errno around
65086         endgrent call.
65087
65088         Close the group DB even when failing with 2^31 or more members.
65089         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65090
65091 2007-07-04  Jim Meyering  <jim@meyering.net>
65092
65093         * lib/getugroups.h: New file.
65094         * lib/getugroups.c: Include "getugroups.h".
65095         Remove uses of "register" keyword.
65096         Move local variable, "cp", down into scope where used.
65097         Give "username" parameter the "const" attribute.
65098         * modules/getugroups (Files): Add lib/getugroups.h
65099
65100 2007-07-04  Karl Berry  <karl@gnu.org>
65101
65102         * MODULES.html.sh (func_all_modules): Complete rename of
65103         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65104
65105 2007-07-02  Bruno Haible  <bruno@clisp.org>
65106
65107         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65108         mode, when inttypes.h comes from gnulib.
65109         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65110
65111 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65112
65113         * NEWS: Mention lgpl module name change.
65114
65115         * modules/lgpl-2.1: Renamed from lgpl.
65116
65117         * NEWS: Mention gpl module name change.
65118
65119         * modules/gpl-3.0: New file, based on gpl-2.0.
65120
65121         * modules/gpl-2.0: Renamed from gpl.
65122
65123         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65124         doc/gpl-2.0.texi.
65125
65126 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65127
65128         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65129         #define __STDC_LIMIT_MACROS temporarily while including
65130         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65131         Problem reported by Joel E. Denny in
65132         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65133
65134 2007-07-01  Bruno Haible  <bruno@clisp.org>
65135
65136         * lib/unistdio.h: New file.
65137         * lib/unistdio/u-asnprintf.h: New file.
65138         * lib/unistdio/u-asprintf.h: New file.
65139         * lib/unistdio/u-printf-args.c: New file.
65140         * lib/unistdio/u-printf-args.h: New file.
65141         * lib/unistdio/u-printf-parse.h: New file.
65142         * lib/unistdio/u-snprintf.h: New file.
65143         * lib/unistdio/u-sprintf.h: New file.
65144         * lib/unistdio/u-vasprintf.h: New file.
65145         * lib/unistdio/u-vsnprintf.h: New file.
65146         * lib/unistdio/u-vsprintf.h: New file.
65147         * lib/unistdio/ulc-asnprintf.c: New file.
65148         * lib/unistdio/ulc-asprintf.c: New file.
65149         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65150         * lib/unistdio/ulc-printf-parse.c: New file.
65151         * lib/unistdio/ulc-snprintf.c: New file.
65152         * lib/unistdio/ulc-sprintf.c: New file.
65153         * lib/unistdio/ulc-vasnprintf.c: New file.
65154         * lib/unistdio/ulc-vasprintf.c: New file.
65155         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65156         * lib/unistdio/ulc-vsnprintf.c: New file.
65157         * lib/unistdio/ulc-vsprintf.c: New file.
65158         * lib/unistdio/u8-asnprintf.c: New file.
65159         * lib/unistdio/u8-asprintf.c: New file.
65160         * lib/unistdio/u8-printf-parse.c: New file.
65161         * lib/unistdio/u8-snprintf.c: New file.
65162         * lib/unistdio/u8-sprintf.c: New file.
65163         * lib/unistdio/u8-vasnprintf.c: New file.
65164         * lib/unistdio/u8-vasprintf.c: New file.
65165         * lib/unistdio/u8-vsnprintf.c: New file.
65166         * lib/unistdio/u8-vsprintf.c: New file.
65167         * lib/unistdio/u8-u8-asnprintf.c: New file.
65168         * lib/unistdio/u8-u8-asprintf.c: New file.
65169         * lib/unistdio/u8-u8-snprintf.c: New file.
65170         * lib/unistdio/u8-u8-sprintf.c: New file.
65171         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65172         * lib/unistdio/u8-u8-vasprintf.c: New file.
65173         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65174         * lib/unistdio/u8-u8-vsprintf.c: New file.
65175         * lib/unistdio/u16-asnprintf.c: New file.
65176         * lib/unistdio/u16-asprintf.c: New file.
65177         * lib/unistdio/u16-printf-parse.c: New file.
65178         * lib/unistdio/u16-snprintf.c: New file.
65179         * lib/unistdio/u16-sprintf.c: New file.
65180         * lib/unistdio/u16-vasnprintf.c: New file.
65181         * lib/unistdio/u16-vasprintf.c: New file.
65182         * lib/unistdio/u16-vsnprintf.c: New file.
65183         * lib/unistdio/u16-vsprintf.c: New file.
65184         * lib/unistdio/u16-u16-asnprintf.c: New file.
65185         * lib/unistdio/u16-u16-asprintf.c: New file.
65186         * lib/unistdio/u16-u16-snprintf.c: New file.
65187         * lib/unistdio/u16-u16-sprintf.c: New file.
65188         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65189         * lib/unistdio/u16-u16-vasprintf.c: New file.
65190         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65191         * lib/unistdio/u16-u16-vsprintf.c: New file.
65192         * lib/unistdio/u32-asnprintf.c: New file.
65193         * lib/unistdio/u32-asprintf.c: New file.
65194         * lib/unistdio/u32-printf-parse.c: New file.
65195         * lib/unistdio/u32-snprintf.c: New file.
65196         * lib/unistdio/u32-sprintf.c: New file.
65197         * lib/unistdio/u32-vasnprintf.c: New file.
65198         * lib/unistdio/u32-vasprintf.c: New file.
65199         * lib/unistdio/u32-vsnprintf.c: New file.
65200         * lib/unistdio/u32-vsprintf.c: New file.
65201         * lib/unistdio/u32-u32-asnprintf.c: New file.
65202         * lib/unistdio/u32-u32-asprintf.c: New file.
65203         * lib/unistdio/u32-u32-snprintf.c: New file.
65204         * lib/unistdio/u32-u32-sprintf.c: New file.
65205         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65206         * lib/unistdio/u32-u32-vasprintf.c: New file.
65207         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65208         * lib/unistdio/u32-u32-vsprintf.c: New file.
65209         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65210         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65211         * tests/unistdio/test-ulc-printf1.h: New file.
65212         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65213         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65214         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65215         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65216         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65217         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65218         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65219         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65220         * tests/unistdio/test-u8-asnprintf1.c: New file.
65221         * tests/unistdio/test-u8-asnprintf1.h: New file.
65222         * tests/unistdio/test-u8-printf1.h: New file.
65223         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65224         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65225         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65226         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65227         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65228         * tests/unistdio/test-u8-vasprintf1.c: New file.
65229         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65230         * tests/unistdio/test-u8-vsprintf1.c: New file.
65231         * tests/unistdio/test-u16-asnprintf1.c: New file.
65232         * tests/unistdio/test-u16-asnprintf1.h: New file.
65233         * tests/unistdio/test-u16-printf1.h: New file.
65234         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65235         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65236         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65237         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65238         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65239         * tests/unistdio/test-u16-vasprintf1.c: New file.
65240         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65241         * tests/unistdio/test-u16-vsprintf1.c: New file.
65242         * tests/unistdio/test-u32-asnprintf1.c: New file.
65243         * tests/unistdio/test-u32-asnprintf1.h: New file.
65244         * tests/unistdio/test-u32-printf1.h: New file.
65245         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65246         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65247         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65248         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65249         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65250         * tests/unistdio/test-u32-vasprintf1.c: New file.
65251         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65252         * tests/unistdio/test-u32-vsprintf1.c: New file.
65253         * modules/unistdio/base: New file.
65254         * modules/unistdio/u-printf-args: New file.
65255         * modules/unistdio/ulc-asnprintf: New file.
65256         * modules/unistdio/ulc-asprintf: New file.
65257         * modules/unistdio/ulc-fprintf: New file.
65258         * modules/unistdio/ulc-printf-parse: New file.
65259         * modules/unistdio/ulc-snprintf: New file.
65260         * modules/unistdio/ulc-sprintf: New file.
65261         * modules/unistdio/ulc-vasnprintf: New file.
65262         * modules/unistdio/ulc-vasprintf: New file.
65263         * modules/unistdio/ulc-vfprintf: New file.
65264         * modules/unistdio/ulc-vsnprintf: New file.
65265         * modules/unistdio/ulc-vsprintf: New file.
65266         * modules/unistdio/u8-asnprintf: New file.
65267         * modules/unistdio/u8-asprintf: New file.
65268         * modules/unistdio/u8-printf-parse: New file.
65269         * modules/unistdio/u8-snprintf: New file.
65270         * modules/unistdio/u8-sprintf: New file.
65271         * modules/unistdio/u8-vasnprintf: New file.
65272         * modules/unistdio/u8-vasprintf: New file.
65273         * modules/unistdio/u8-vsnprintf: New file.
65274         * modules/unistdio/u8-vsprintf: New file.
65275         * modules/unistdio/u8-u8-asnprintf: New file.
65276         * modules/unistdio/u8-u8-asprintf: New file.
65277         * modules/unistdio/u8-u8-snprintf: New file.
65278         * modules/unistdio/u8-u8-sprintf: New file.
65279         * modules/unistdio/u8-u8-vasnprintf: New file.
65280         * modules/unistdio/u8-u8-vasprintf: New file.
65281         * modules/unistdio/u8-u8-vsnprintf: New file.
65282         * modules/unistdio/u8-u8-vsprintf: New file.
65283         * modules/unistdio/u16-asnprintf: New file.
65284         * modules/unistdio/u16-asprintf: New file.
65285         * modules/unistdio/u16-printf-parse: New file.
65286         * modules/unistdio/u16-snprintf: New file.
65287         * modules/unistdio/u16-sprintf: New file.
65288         * modules/unistdio/u16-vasnprintf: New file.
65289         * modules/unistdio/u16-vasprintf: New file.
65290         * modules/unistdio/u16-vsnprintf: New file.
65291         * modules/unistdio/u16-vsprintf: New file.
65292         * modules/unistdio/u16-u16-asnprintf: New file.
65293         * modules/unistdio/u16-u16-asprintf: New file.
65294         * modules/unistdio/u16-u16-snprintf: New file.
65295         * modules/unistdio/u16-u16-sprintf: New file.
65296         * modules/unistdio/u16-u16-vasnprintf: New file.
65297         * modules/unistdio/u16-u16-vasprintf: New file.
65298         * modules/unistdio/u16-u16-vsnprintf: New file.
65299         * modules/unistdio/u16-u16-vsprintf: New file.
65300         * modules/unistdio/u32-asnprintf: New file.
65301         * modules/unistdio/u32-asprintf: New file.
65302         * modules/unistdio/u32-printf-parse: New file.
65303         * modules/unistdio/u32-snprintf: New file.
65304         * modules/unistdio/u32-sprintf: New file.
65305         * modules/unistdio/u32-vasnprintf: New file.
65306         * modules/unistdio/u32-vasprintf: New file.
65307         * modules/unistdio/u32-vsnprintf: New file.
65308         * modules/unistdio/u32-vsprintf: New file.
65309         * modules/unistdio/u32-u32-asnprintf: New file.
65310         * modules/unistdio/u32-u32-asprintf: New file.
65311         * modules/unistdio/u32-u32-snprintf: New file.
65312         * modules/unistdio/u32-u32-sprintf: New file.
65313         * modules/unistdio/u32-u32-vasnprintf: New file.
65314         * modules/unistdio/u32-u32-vasprintf: New file.
65315         * modules/unistdio/u32-u32-vsnprintf: New file.
65316         * modules/unistdio/u32-u32-vsprintf: New file.
65317         * modules/unistdio/ulc-asnprintf-tests: New file.
65318         * modules/unistdio/ulc-vasnprintf-tests: New file.
65319         * modules/unistdio/ulc-vasprintf-tests: New file.
65320         * modules/unistdio/ulc-vsnprintf-tests: New file.
65321         * modules/unistdio/ulc-vsprintf-tests: New file.
65322         * modules/unistdio/u8-asnprintf-tests: New file.
65323         * modules/unistdio/u8-vasnprintf-tests: New file.
65324         * modules/unistdio/u8-vasprintf-tests: New file.
65325         * modules/unistdio/u8-vsnprintf-tests: New file.
65326         * modules/unistdio/u8-vsprintf-tests: New file.
65327         * modules/unistdio/u16-asnprintf-tests: New file.
65328         * modules/unistdio/u16-vasnprintf-tests: New file.
65329         * modules/unistdio/u16-vasprintf-tests: New file.
65330         * modules/unistdio/u16-vsnprintf-tests: New file.
65331         * modules/unistdio/u16-vsprintf-tests: New file.
65332         * modules/unistdio/u32-asnprintf-tests: New file.
65333         * modules/unistdio/u32-vasnprintf-tests: New file.
65334         * modules/unistdio/u32-vasprintf-tests: New file.
65335         * modules/unistdio/u32-vsnprintf-tests: New file.
65336         * modules/unistdio/u32-vsprintf-tests: New file.
65337         * MODULES.html.sh (Unicode string functions): Add the new modules.
65338
65339 2007-07-01  Bruno Haible  <bruno@clisp.org>
65340
65341         * lib/sprintf.c (sprintf): Limit the available length estimation,
65342         to avoid address wraparound.
65343         * lib/vsprintf.c (vsprintf): Likewise.
65344         * modules/sprintf-posix (Dependencies): Add stdint.
65345         * modules/vsprintf-posix (Dependencies): Likewise.
65346
65347 2007-07-01  Bruno Haible  <bruno@clisp.org>
65348
65349         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65350         Windows PATH as well. Conservative double-quoting. Comments.
65351
65352 2007-07-01  Bruno Haible  <bruno@clisp.org>
65353             Eric Blake  <ebb9@byu.net>
65354             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65355
65356         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65357         empty components in $PATH, denoting '.'.
65358
65359 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65360
65361         * gnulib-tool: Fix indentation.
65362         (func_create_megatestdir): Likewise.
65363         Report by Bruno Haible.
65364
65365 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65366
65367         Sync from Automake.
65368         * build-aux/gnupload: Fix shell portability issues with for loops.
65369         Report by Karl Berry.
65370
65371 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65372
65373         * build-aux/maint.mk (POURL): Use translationproject.org.
65374
65375 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65376             Bruno Haible  <bruno@clisp.org>
65377
65378         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65379         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65380         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65381         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65382         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65383
65384 2007-06-27  Bruno Haible  <bruno@clisp.org>
65385
65386         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65387         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65388
65389 2007-06-26  Karl Berry  <karl@gnu.org>
65390
65391         * MODULES.html.sh: remove xreadlink-with-size.
65392
65393 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65394
65395         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65396         method that I hope also handles the double-include problem noted
65397         by Bruno Haible in
65398         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65399
65400 2007-06-23  Bruno Haible  <bruno@clisp.org>
65401
65402         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65403         Don't let the 'mostlyclean' target fail if the last subdirectory could
65404         not be removed.
65405         Reported by Karl Berry.
65406
65407 2007-06-23  Bruno Haible  <bruno@clisp.org>
65408
65409         * gnulib-tool (echo): Add a speedier workaround for ksh.
65410         * tests/test-echo.sh: Likewise.
65411
65412 2007-06-23  Bruno Haible  <bruno@clisp.org>
65413
65414         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65415         * tests/test-echo.sh: Likewise.
65416
65417 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65418
65419         * gnulib-tool (IFS): Initialize early, so we don't set it to
65420         empty later.
65421         (self_abspathname): Rewrite algorithm to set it, reindent.
65422         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65423         (func_create_megatestdir): Merge some sed scripts.
65424
65425 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65426
65427         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65428         exposed by Sun Studio 11 cc on Solaris 8.
65429
65430 2007-06-22  Bruno Haible  <bruno@clisp.org>
65431
65432         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65433         backslashes.
65434         * tests/test-echo.sh: New file.
65435
65436 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65437
65438         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65439         simplify `sed_replace_build_aux' scripts, they are portable but
65440         echoing them with `echo' is not.
65441         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65442
65443 2007-06-21  Karl Berry  <karl@gnu.org>
65444
65445         * config/srclist.txt: guess we can't handle the licenses via
65446         srclist at the moment.
65447
65448 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65449
65450         * MODULES.html.sh: Add include_next.
65451         * modules/include_next: New file.
65452
65453 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65454
65455         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65456         INCLUDE_NEXT.
65457         (gl_CHECK_NEXT_HEADERS): New macro.
65458         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65459         the obsolescent gl_ABSOLUTE_HEADER.
65460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65461         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65462         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65463         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65464         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65465         * m4/math_h.m4 (gl_MATH_H): Likewise.
65466         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65467         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65468         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65469         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65470         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65471         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65472         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65473         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65474         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65475         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65476         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65477         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65478         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65479         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65480         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65481         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65482         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65483         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65484         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65485         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65486         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65487         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65488         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65489         * lib/float_.h: Likewise.
65490         * lib/inttypes_.h: Likewise.
65491         * lib/math_.h: Likewise.
65492         * lib/search_.h: Likewise.
65493         * lib/signal_.h: Likewise.
65494         * lib/stdint_.h: Likewise.
65495         * lib/stdio_.h: Likewise.
65496         * lib/stdlib_.h: Likewise.
65497         * lib/string_.h: Likewise.
65498         * lib/sys_stat_.h: Likewise.
65499         * lib/sys_time_.h: Likewise.
65500         * lib/time_.h: Likewise.
65501         * lib/unistd_.h: Likewise.
65502         * lib/wchar_.h: Likewise.
65503         * lib/wctype_.h: Likewise.
65504         * lib/dirent_.h: Likewise.
65505         * lib/iconv_.h: Likewise.
65506         * lib/locale_.h: Likewise.
65507         * lib/netinet_in_.h: Likewise.
65508         * lib/sys_select_.h: Likewise.
65509         * lib/sys_socket_.h: Likewise.
65510         * lib/sysexits_.h: Likewise.
65511         * modules/fcntl (Depends-on): Depend on include_next, not
65512         absolute_header.
65513         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65514         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65515         * modules/fchdir: Likewise.
65516         * modules/float: Likewise.
65517         * modules/iconv_open: Likewise.
65518         * modules/inttypes: Likewise.
65519         * modules/locale: Likewise.
65520         * modules/math: Likewise.
65521         * modules/netinet_in: Likewise.
65522         * modules/search: Likewise.
65523         * modules/signal: Likewise.
65524         * modules/stdint: Likewise.
65525         * modules/stdio: Likewise.
65526         * modules/stdlib: Likewise.
65527         * modules/string: Likewise.
65528         * modules/sys_select: Likewise.
65529         * modules/sys_socket: Likewise.
65530         * modules/sys_stat: Likewise.
65531         * modules/sys_time: Likewise.
65532         * modules/sysexits: Likewise.
65533         * modules/time: Likewise.
65534         * modules/unistd: Likewise.
65535         * modules/wchar: Likewise.
65536         * modules/wctype: Likewise.
65537         * modules/sys_stat: Change maintainer to "all".
65538         * modules/unistd: Likewise.
65539
65540 2007-06-20  Karl Berry  <karl@gnu.org>
65541
65542         * config/srclist.txt: track www changes in license files.
65543
65544 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65545
65546         * build-aux/bootstrap: Remove stray dot.
65547         Make sure build_aux settings are honored when linking
65548         gnulib_extra_files.
65549
65550 2007-06-19  Eric Blake  <ebb9@byu.net>
65551
65552         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65553         Allow compilation on cygwin.
65554
65555 2007-06-19  Jim Meyering  <jim@meyering.net>
65556
65557         xreadlink-with-size: Remove module.  No longer used.
65558         Ex-callers now use xreadlink or mreadlink-with-size.
65559         * modules/xreadlink-with-size: Remove module.
65560         * lib/xreadlink-with-size.c: Remove file.
65561         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65562         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65563         just before the function definition *is* accurate.
65564
65565         Eliminate one way canonicalize_filename_mode could exit.
65566         * lib/canonicalize.c (canonicalize_filename_mode):
65567         Use mreadlink_with_size, not xreadlink_with_size.
65568
65569 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65570
65571         Detect porting problems to FreeBSD/arm, which has time_t wider than
65572         long int.  Original problem reported for GNU diff by Xin Li in
65573         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65574         * modules/getdate (Depends-on): Add intprops, verify.
65575         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65576         is an integer type no wider than long int.
65577
65578 2007-06-18  Jim Meyering  <jim@meyering.net>
65579
65580         New module: mreadlink-with-size.
65581         * MODULES.html.sh: Add mreadlink-with-size.
65582         * modules/mreadlink-with-size: New module
65583         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65584         not xreadlink-with-size.
65585         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65586
65587 2007-06-16  Bruno Haible  <bruno@clisp.org>
65588
65589         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65590         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65591         Reported by Gary V. Vaughan <gary@gnu.org>.
65592
65593 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65594
65595         Revamp lchown so that it lives in unistd.h where it belongs.
65596         * lib/lchown.h: Remove.
65597         * lib/dirchownmod.c: Don't include lib/lchown.h.
65598         * lib/fchownat.c: Likewise.
65599         * lib/openat.c: Likewise.
65600         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65601         does not follow symlinks.
65602         (EOPNOTSUPP): Define if not defined.
65603         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65604         is defined to 0.
65605         (lchown): New decl.
65606         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65607         Do not check for lchown decl.
65608         Set REPLACE_LCHOWN.
65609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65610         REPLACE_LCHOWN.
65611         * modules/chown: Make it clear it follows symlinks.
65612         * modules/lchown: Make it clear it doesn't follow symlinks.
65613         (Files): Remove lib/lchown.h
65614         (Depends-on): Add unistd.
65615         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65616         (Include): Include <unistd.h>, not "lchown.h".
65617         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65618         REPLACE_LCHOWN.
65619
65620 2007-06-15  Jim Meyering  <jim@meyering.net>
65621
65622         Change license (GPL to LGPL) of fsusage and dependents.
65623         * modules/fsusage (License): Change to LGPL.
65624         * modules/full-read (License): Likewise.
65625         * modules/full-write (License): Likewise.
65626         * modules/safe-read (License): Likewise.
65627         * modules/safe-write (License): Likewise.
65628
65629 2007-06-14  Ben Pfaff  <blp@gnu.org>
65630
65631         Missing part of allocsa -> malloca transition.
65632         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65633         gl_MALLOCA.
65634
65635 2007-06-12  Bruno Haible  <bruno@clisp.org>
65636
65637         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65638         to ia64, x86_64, i386.
65639         Reported by Eric Blake.
65640
65641 2007-06-12  Bruno Haible  <bruno@clisp.org>
65642
65643         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65644         cross-compiling to x86_64.
65645
65646 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65647
65648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65649         glitch reported by Ralf Wildenhues in
65650         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65651
65652         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65653         Vin Shelton.
65654
65655 2007-06-11  Bruno Haible  <bruno@clisp.org>
65656
65657         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65658         replacement string.
65659         Reported by Eric Blake.
65660
65661 2007-06-10  Bruno Haible  <bruno@clisp.org>
65662
65663         Prepare vasnprintf code for use with Unicode strings.
65664         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
65665         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
65666         TYPE_U32_STRING.
65667         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
65668         a_u32_string variants.
65669         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65670         * lib/printf-args.c: Don't include config.h and the specification
65671         header if PRINTF_FETCHARGS is already defined.
65672         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65673         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
65674         TYPE_U16_STRING, TYPE_U32_STRING.
65675         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
65676         u16_directive, u16_directives, u32_directive, u32_directives): New
65677         types.
65678         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
65679         New declarations.
65680         * lib/printf-parse.c: Don't include config.h and the specification
65681         header if PRINTF_PARSE is already defined. Eliminate the set of
65682         parameters for WIDE_CHAR_VERSION; the user of this file must provide
65683         them now. Include c-ctype.h.
65684         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65685         directive and CHAR_T_ONLY_ASCII.
65686         * lib/vasnprintf.c: Don't include config.h and the specification header
65687         if VASNPRINTF is already defined.
65688         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65689         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65690         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65691         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65692         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65693         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65694         code accordingly.
65695         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65696         pad_ourselves also in this case, with the 'c' and 's' directives, and
65697         with a different notion of "width".
65698         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65699
65700 2007-06-10  Bruno Haible  <bruno@clisp.org>
65701
65702         * modules/unistr/u32-mbsnlen: New file.
65703         * lib/unistr/u32-mbsnlen.c: New file.
65704
65705         * modules/unistr/u16-mbsnlen: New file.
65706         * lib/unistr/u16-mbsnlen.c: New file.
65707
65708         * modules/unistr/u8-mbsnlen: New file.
65709         * lib/unistr/u8-mbsnlen.c: New file.
65710
65711         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65712         declarations.
65713
65714 2007-06-10  Bruno Haible  <bruno@clisp.org>
65715
65716         * lib/string_.h (mbsnlen): New declaration.
65717         * lib/mbsnlen.c: New file.
65718         * m4/mbsnlen.m4: New file.
65719         * modules/mbsnlen: New file.
65720         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65721         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65722         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65723
65724 2007-06-10  Bruno Haible  <bruno@clisp.org>
65725
65726         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65727
65728 2007-06-10  Bruno Haible  <bruno@clisp.org>
65729
65730         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65731         * lib/mbuiter.h: Likewise.
65732
65733 2007-06-10  Bruno Haible  <bruno@clisp.org>
65734
65735         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65736         declaration.
65737
65738 2007-06-10  Karl Berry  <karl@gnu.org>
65739
65740         * config/srclist.txt: remove gettext entries, Bruno prefers
65741         to update individually.
65742
65743 2007-06-10  Bruno Haible  <bruno@clisp.org>
65744
65745         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65746         'maxlen'. Ensure only length + width bytes are allocated, not
65747         length + 1 + width.
65748
65749 2007-06-09  Bruno Haible  <bruno@clisp.org>
65750
65751         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65752         (CHAR_T): Remove macro.
65753         (VASNPRINTF): Update.
65754
65755 2007-06-09  Bruno Haible  <bruno@clisp.org>
65756
65757         * MODULES.html.sh (Unicode string functions): Add the new modules.
65758
65759         * modules/uniconv/u32-conv-to-enc: New file.
65760         * lib/uniconv/u32-conv-to-enc.c: New file.
65761         * modules/uniconv/u32-conv-to-enc-tests: New file.
65762         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65763
65764         * modules/uniconv/u16-conv-to-enc: New file.
65765         * lib/uniconv/u16-conv-to-enc.c: New file.
65766         * lib/uniconv/u-conv-to-enc.h: New file.
65767         * modules/uniconv/u16-conv-to-enc-tests: New file.
65768         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65769
65770         * modules/uniconv/u8-conv-to-enc: New file.
65771         * lib/uniconv/u8-conv-to-enc.c: New file.
65772         * modules/uniconv/u8-conv-to-enc-tests: New file.
65773         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65774
65775         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65776         u32_conv_to_encoding): New declarations.
65777
65778 2007-06-09  Bruno Haible  <bruno@clisp.org>
65779
65780         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65781
65782 2007-06-09  Bruno Haible  <bruno@clisp.org>
65783
65784         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65785         * modules/malloca: Renamed from modules/allocsa, updated.
65786         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65787         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65788         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65789         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65790         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65791         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65792         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65793         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65794         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65795         * modules/c-strcasestr (Depends-on): Update.
65796         * lib/c-strcasestr.c: Update.
65797         * modules/c-strstr (Depends-on): Update.
65798         * lib/c-strstr.c: Update.
65799         * modules/canonicalize-lgpl (Depends-on): Update.
65800         * lib/canonicalize-lgpl.c: Update.
65801         * modules/clean-temp (Depends-on): Update.
65802         * lib/clean-temp.c: Update.
65803         * modules/csharpcomp (Depends-on): Update.
65804         * lib/csharpcomp.c: Update.
65805         * modules/csharpexec (Depends-on): Update.
65806         * lib/csharpexec.c: Update.
65807         * modules/javacomp (Depends-on): Update.
65808         * lib/javacomp.c: Update.
65809         * modules/javaexec (Depends-on): Update.
65810         * lib/javaexec.c: Update.
65811         * modules/mbscasestr (Depends-on): Update.
65812         * lib/mbscasestr.c: Update.
65813         * modules/mbsstr (Depends-on): Update.
65814         * lib/mbsstr.c: Update.
65815         * modules/setenv (Depends-on): Update.
65816         * lib/setenv.c: Update.
65817         * modules/strcasestr (Depends-on): Update.
65818         * lib/strcasestr.c: Update.
65819         * modules/striconveha (Depends-on): Update.
65820         * lib/striconveha.c: Update.
65821         * modules/relocatable-prog-wrapper (Files): Update.
65822         * lib/relocwrapper.c: Update.
65823         * build-aux/install-reloc: Update.
65824         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65825
65826 2007-06-08  Bruno Haible  <bruno@clisp.org>
65827
65828         Port to uClibc.
65829         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65830         * lib/fpurge.c (fpurge): Likewise.
65831         * lib/freading.c (freading): Likewise.
65832         * lib/fseeko.c (rpl_fseeko): Likewise.
65833         * lib/fseterr.c (fseterr): Likewise.
65834         * lib/fwriting.c (fwriting): Likewise.
65835         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65836
65837 2007-06-08  Bruno Haible  <bruno@clisp.org>
65838
65839         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65840         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65841         * modules/gettext (Files): Add m4/intlmacosx.m4.
65842
65843 2007-06-07  Bruno Haible  <bruno@clisp.org>
65844
65845         * modules/localename-tests: New file.
65846         * tests/test-localename.c: New file.
65847
65848         New module 'localename'.
65849         * lib/localename.h: New file.
65850         * lib/localename.c: New file, from GNU gettext.
65851         * m4/localename.m4: New file.
65852         * modules/localename: New file.
65853
65854 2007-06-07  Bruno Haible  <bruno@clisp.org>
65855
65856         Work around the lack of <wchar.h> on some builds of uClibc.
65857         * doc/headers/wchar.texi: Update.
65858         * lib/wchar_.h: Include <wchar.h> only if it exists.
65859         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65860         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65861         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65862         doesn't exist.
65863         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65864         * modules/mbfile (Depends-on): Add wchar.
65865         * modules/mbiter (Depends-on): Likewise.
65866         * modules/mbuiter (Depends-on): Likewise.
65867         Reported by Simon Josefsson.
65868
65869 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65870
65871         Work around problem reported by Steven M. Schweda in
65872         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65873         Tru64 5.1B with the Compaq compiler environment installed declares
65874         an 'isblank' function but does not define it in the C library.
65875         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65876         * lib/regex_internal.h (isblank): Likewise.
65877         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65878         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65879
65880 2007-06-05  Bruno Haible  <bruno@clisp.org>
65881
65882         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65883         ia64.
65884         * modules/printf-safe: New file.
65885         * modules/fprintf-posix (Depends-on): Add printf-safe.
65886         * modules/printf-posix (Depends-on): Likewise.
65887         * modules/snprintf-posix (Depends-on): Likewise.
65888         * modules/sprintf-posix (Depends-on): Likewise.
65889         * modules/vasnprintf-posix (Depends-on): Likewise.
65890         * modules/vasprintf-posix (Depends-on): Likewise.
65891         * modules/vfprintf-posix (Depends-on): Likewise.
65892         * modules/vprintf-posix (Depends-on): Likewise.
65893         * modules/vsnprintf-posix (Depends-on): Likewise.
65894         * modules/vsprintf-posix (Depends-on): Likewise.
65895         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65896         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65897         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65898         "no" on i386, x86_64, ia64.
65899         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65900         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65901         on i386, x86_64, ia64.
65902         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65903         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65904         on i386, x86_64, ia64.
65905         * tests/test-vasnprintf-posix.c: Include float.h.
65906         (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-vasprintf-posix.c: Include float.h.
65910         (LDBL80_WORDS): New macro.
65911         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65912         on i386, x86_64, ia64.
65913         * tests/test-snprintf-posix.c: Include float.h.
65914         * tests/test-sprintf-posix.c: Likewise.
65915         * tests/test-vsnprintf-posix.c: Likewise.
65916         * tests/test-vsprintf-posix.c: Likewise.
65917
65918 2007-06-05  Bruno Haible  <bruno@clisp.org>
65919
65920         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65921         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65922         non-IEEE numbers on i386, x86_64, ia64.
65923         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65924         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65925         * tests/test-isnanl.h: Include float.h.
65926         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65927
65928 2007-06-05  Bruno Haible  <bruno@clisp.org>
65929
65930         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65931         also the %a / %A. Handle the %a / %A code before this extra handling.
65932
65933 2007-06-05  Bruno Haible  <bruno@clisp.org>
65934
65935         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65936         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65937
65938 2007-06-05  Bruno Haible  <bruno@clisp.org>
65939
65940         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65941         typo in variable name.
65942
65943 2007-06-05  Eric Blake  <ebb9@byu.net>
65944
65945         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65946         Reported by Simon Josefsson.
65947
65948 2007-06-04  Bruno Haible  <bruno@clisp.org>
65949
65950         Avoid test failures on some PowerPC platforms.
65951         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65952         Define differently for PowerPC.
65953         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65954         Reported by Gary V. Vaughan <gary@gnu.org>.
65955
65956 2007-06-02  Bruno Haible  <bruno@clisp.org>
65957
65958         Fix test-stdint failure on FreeBSD/ia64.
65959         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65960         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65961         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65962         * doc/headers/stdint.texi: Update.
65963
65964 2007-06-01  Bruno Haible  <bruno@clisp.org>
65965
65966         * tests/test-binary-io.c (main): Pass a third argument to open().
65967         Reported by Gary V. Vaughan <gary@gnu.org>.
65968
65969 2007-06-01  Bruno Haible  <bruno@clisp.org>
65970
65971         * doc/functions/frexpl.texi: Update for mingw.
65972
65973 2007-06-01  Bruno Haible  <bruno@clisp.org>
65974
65975         * tests/test-lseek.c (main): Disable test of errno for invalid third
65976         argument.
65977         * doc/functions/lseek.texi: Update.
65978         Reported by Gary V. Vaughan <gary@gnu.org>.
65979
65980 2007-05-28  Bruno Haible  <bruno@clisp.org>
65981
65982         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65983
65984 2007-05-31  Eric Blake  <ebb9@byu.net>
65985
65986         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65987         cross compiling.
65988
65989 2007-05-30  Eric Blake  <ebb9@byu.net>
65990         and Bruno Haible  <bruno@clisp.org>
65991
65992         Work around mingw test failures exposed by m4-1.4.9b.
65993         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
65994         * tests/test-unistd.c: Disable uid_t and git_t tests for the
65995         moment.
65996
65997 2007-05-30  Bruno Haible  <bruno@clisp.org>
65998
65999         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66000         assuming that they are closed. Needed on HP-UX 11.
66001
66002 2007-05-29  Bruno Haible  <bruno@clisp.org>
66003
66004         Fix a problem with #include_next.
66005         * lib/dirent_.h: Split the double-inclusion guard.
66006         * lib/fcntl_.h: Likewise.
66007         * lib/float_.h: Likewise.
66008         * lib/iconv_.h: Likewise.
66009         * lib/inttypes_.h: Likewise.
66010         * lib/locale_.h: Likewise.
66011         * lib/math_.h: Likewise.
66012         * lib/netinet_in_.h: Likewise.
66013         * lib/search_.h: Likewise.
66014         * lib/signal_.h: Likewise.
66015         * lib/stdint_.h: Likewise.
66016         * lib/stdio_.h: Likewise.
66017         * lib/stdlib_.h: Likewise.
66018         * lib/string_.h: Likewise.
66019         * lib/sys_select_.h: Likewise.
66020         * lib/sys_socket_.h: Likewise.
66021         * lib/sys_stat_.h: Likewise.
66022         * lib/sys_time_.h: Likewise.
66023         * lib/sysexits_.h: Likewise.
66024         * lib/time_.h: Likewise.
66025         * lib/unistd_.h: Likewise.
66026         * lib/wchar_.h: Likewise.
66027         * lib/wctype_.h: Likewise.
66028
66029 2007-05-29  Bruno Haible  <bruno@clisp.org>
66030
66031         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66032         for the moment.
66033
66034 2007-05-29  Bruno Haible  <bruno@clisp.org>
66035
66036         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66037         invocation.
66038         Reported by Eric Blake.
66039
66040 2007-05-29  Bruno Haible  <bruno@clisp.org>
66041
66042         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66043         compiling case.
66044
66045 2007-05-29  Eric Blake  <ebb9@byu.net>
66046             Bruno Haible  <bruno@clisp.org>
66047
66048         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66049         cross compiles.
66050
66051 2007-05-28  Eric Blake  <ebb9@byu.net>
66052
66053         * modules/closein-tests (test_closein_LDADD): Support test on
66054         cygwin with libtool.
66055
66056 2007-05-28  Bruno Haible  <bruno@clisp.org>
66057
66058         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66059         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66060         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66061         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66062         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66063         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66064         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66065         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66066         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66067
66068 2007-05-28  Eric Blake  <ebb9@byu.net>
66069
66070         Unconditionally include <config.h> in unit tests.
66071         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66072         * tests/test-allocsa.c, tests/test-arcfour.c,
66073         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66074         tests/test-array_list.c, tests/test-array_oset.c,
66075         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66076         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66077         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66078         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66079         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66080         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66081         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66082         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66083         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66084         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66085         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66086         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66087         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66088         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66089         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66090         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66091         test-md5.c, test-memmem.c, test-printf-posix.c,
66092         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66093         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66094         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66095         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66096         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66097         test-vasnprintf-posix2.c, test-vasnprintf.c,
66098         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66099         test-vfprintf-posix.c, test-vprintf-posix.c,
66100         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66101         test-xvasprintf.c: Likewise.
66102
66103 2007-05-28  Bruno Haible  <bruno@clisp.org>
66104
66105         * gnulib-tool (func_import): Remember the --with-tests command-line
66106         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66107         Reported by Eric Blake.
66108
66109 2007-05-28  Bruno Haible  <bruno@clisp.org>
66110
66111         * modules/ftell-tests: New file.
66112         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66113         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66114
66115         * lib/ftell.c: New file.
66116         * modules/ftell: New file.
66117         * m4/ftell.m4: New file.
66118         * doc/functions/ftell.texi: Update.
66119         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66120         REPLACE_FTELL.
66121         * lib/stdio_.h (rpl_ftell): New declaration.
66122         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66123         REPLACE_FTELL.
66124
66125 2007-05-28  Eric Blake  <ebb9@byu.net>
66126
66127         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66128
66129 2007-05-28  Bruno Haible  <bruno@clisp.org>
66130
66131         * modules/fseek-tests: New file.
66132         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66133         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66134
66135         * lib/fseek.c: New file.
66136         * modules/fseek: New file.
66137         * m4/fseek.m4: New file.
66138         * doc/functions/fseek.texi: Update.
66139         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66140         REPLACE_FSEEK.
66141         * lib/stdio_.h (rpl_fseek): New declaration.
66142         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66143         REPLACE_FSEEK.
66144
66145 2007-05-28  Bruno Haible  <bruno@clisp.org>
66146
66147         * lib/stdio_.h (fflush): More comments.
66148
66149 2007-05-28  Bruno Haible  <bruno@clisp.org>
66150
66151         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66152         runtime test.
66153
66154 2007-05-28  Eric Blake  <ebb9@byu.net>
66155
66156         Improve lseek module.
66157         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66158         * lib/unistd_.h (lseek): Scale back link warning message.
66159         * tests/test-lseek.c: Beef up test.
66160         * tests/test-lseek.sh: Exercise more facets of lseek.
66161         Reported by Bruno Haible.
66162
66163 2007-05-28  Bruno Haible  <bruno@clisp.org>
66164
66165         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66166         to define.
66167
66168 2007-05-27  Bruno Haible  <bruno@clisp.org>
66169
66170         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66171
66172 2007-05-27  Bruno Haible  <bruno@clisp.org>
66173
66174         * modules/openmp: New file.
66175         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66176         Noah Misch.
66177
66178 2007-05-26  Bruno Haible  <bruno@clisp.org>
66179
66180         * modules/chdir-long (Depends-on): Add fchdir.
66181         * modules/chdir-safer (Depends-on): Likewise.
66182         * modules/fts (Depends-on): Likewise.
66183         * modules/fts-lgpl (Depends-on): Likewise.
66184         * modules/openat (Depends-on): Likewise.
66185         * modules/savewd (Depends-on): Likewise.
66186
66187 2007-05-24  Eric Blake  <ebb9@byu.net>
66188
66189         Fix lseek on mingw.
66190         * modules/lseek: New module.
66191         * m4/lseek.m4: New file.
66192         * lib/lseek.c: New file.
66193         * modules/lseek-tests: New file.
66194         * tests/test-lseek.c: New file.
66195         * tests/test-lseek.sh: New file.
66196         * MODULES.html.sh: Document lseek module.
66197         * modules/fflush (Depends-on): Add lseek, fseeko.
66198         * modules/fseeko (Depends-on): Likewise.
66199         * modules/ftello (Depends-on): Likewise.
66200         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66201         broken.
66202         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66203         broken.
66204         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66205         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66206         * lib/ftello.c (rpl_ftello): Likewise.
66207         * tests/test-fseeko.c (main): Test this.
66208         * tests/test-fseeko.sh: Likewise.
66209         * tests/test-ftello.c (main): Likewise.
66210         * tests/test-ftello.sh: Likewise.
66211         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66212         implies replacing fseek.
66213         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66214         HAVE_FTELLO.
66215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66216         * modules/unistd (Makefile.am): Likewise.
66217         * lib/unistd_.h (lseek): Declare a replacement.
66218         * doc/functions/lseek.texi (lseek): Document this fix.
66219         * doc/functions/fseek.texi (fseek): Likewise.
66220         * doc/functions/ftell.texi (ftell): Likewise.
66221
66222 2007-05-24  Bruno Haible  <bruno@clisp.org>
66223
66224         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66225         in the printed representation of a NaN.
66226         * tests/test-vasprintf-posix.c (test_function): Likewise.
66227         * tests/test-snprintf-posix.h (test_function): Likewise.
66228         * tests/test-sprintf-posix.h (test_function): Likewise.
66229         Reported by Eric Blake.
66230
66231 2007-05-23  Eric Blake  <ebb9@byu.net>
66232
66233         Fix fseeko/ftello on cygwin 1.5.24.
66234         * doc/functions/fseeko.texi (fseeko): Document the fix.
66235         * doc/functions/ftello.texi (ftello): Document the fix.
66236         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66237         * doc/functions/stdout.text (stdout): New file.
66238         * doc/functions/stderr.text (stderr): New file.
66239         * doc/gnulib.texi (Function Substitutes): Use new files.
66240         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66241         prior to 1.7.0.
66242         * tests/test-ftello.c (main): Likewise for ftello.
66243         * tests/test-fseeko.sh: New file.
66244         * tests/test-ftello.sh: New file.
66245         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66246         with seekable stdin.
66247         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66248         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66249         (gl_REPLACE_FSEEKO): New macro.
66250         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66251         * modules/fseeko (Files): Distribute fseeko.c.
66252         * modules/ftello (Files): Distribute ftello.c.
66253         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66254         mode.
66255         * lib/ftello.c (rpl_ftello): New file.
66256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66257         fseeko, ftello.
66258         (gl_STDIN_LARGE_OFFSET): New macro.
66259         * modules/stdio (Makefile.am): Perform the replacement.
66260         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66261
66262 2007-05-23  Bruno Haible  <bruno@clisp.org>
66263
66264         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66265         GNULIB_POSIXCHECK is defined.
66266
66267 2007-05-21  Bruno Haible  <bruno@clisp.org>
66268
66269         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66270         Check also the output for NaN arguments. When cross-compiling, guess
66271         no on IRIX.
66272         * lib/vasnprintf.c: Update comments.
66273         * tests/test-vasnprintf-posix.c (strisnan): New function.
66274         (test_function): Use it.
66275         * tests/test-vasprintf-posix.c (strisnan): New function.
66276         (test_function): Use it.
66277         * tests/test-snprintf-posix.h (strisnan): New function.
66278         (test_function): Use it.
66279         * tests/test-sprintf-posix.h (strisnan): New function.
66280         (test_function): Use it.
66281         Reported by Eric Blake.
66282
66283 2007-05-20  Bruno Haible  <bruno@clisp.org>
66284
66285         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66286         numbers that fails on BeOS.
66287         * doc/functions/frexpl.texi: Update.
66288
66289 2007-05-20  Jim Meyering  <jim@meyering.net>
66290
66291         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66292         forced upon us by glibc-2.6.
66293
66294 2007-05-20  Bruno Haible  <bruno@clisp.org>
66295
66296         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66297         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66298         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66299         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66300         NEED_PRINTF_INFINITE.
66301         (is_infinitel): New function.
66302         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66303         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66304         gl_PREREQ_VASNPRINTF_INFINITE.
66305         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66306         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66307         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66308         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66309         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66310         gl_PREREQ_VASNPRINTF_INFINITE.
66311         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66312         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66313         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66314         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66315         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66316         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66317         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66318         * doc/functions/fprintf.texi: Update.
66319         * doc/functions/printf.texi: Update.
66320         * doc/functions/snprintf.texi: Update.
66321         * doc/functions/sprintf.texi: Update.
66322         * doc/functions/vfprintf.texi: Update.
66323         * doc/functions/vprintf.texi: Update.
66324         * doc/functions/vsnprintf.texi: Update.
66325         * doc/functions/vsprintf.texi: Update.
66326
66327 2007-05-20  Bruno Haible  <bruno@clisp.org>
66328
66329         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66330         was not found in libc.
66331         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66332
66333 2007-05-20  Bruno Haible  <bruno@clisp.org>
66334
66335         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66336         printed as "-nan" instead of "nan".
66337         * tests/test-vasprintf-posix.c (test_function): Likewise.
66338         * tests/test-snprintf-posix.h (test_function): Likewise.
66339         * tests/test-sprintf-posix.h (test_function): Likewise.
66340         Needed for HP-UX 11.
66341
66342 2007-05-20  Jim Meyering  <jim@meyering.net>
66343
66344         Fix buggy test for the fchownat-deref bug.
66345         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66346         symlink required for the run-test.  Without it, this test would
66347         always declare that fchownat doesn't work, and client code would
66348         unnecessarily use the replacement function with fixed libc.
66349         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66350         Reported by Greg Schafer.
66351
66352 2007-05-19  Bruno Haible  <bruno@clisp.org>
66353
66354         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66355         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66356         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66357         Needed for IRIX 6.5 and Solaris 2.5.1.
66358
66359 2007-05-19  Bruno Haible  <bruno@clisp.org>
66360
66361         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66362         (test_function): Skip tests involving -0.0 on platforms where
66363         -0.0 = 0.0.
66364         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66365         (test_function): Skip tests involving -0.0 on platforms where
66366         -0.0 = 0.0.
66367         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66368         (test_function): Skip tests involving -0.0 on platforms where
66369         -0.0 = 0.0.
66370         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66371         (test_function): Skip tests involving -0.0 on platforms where
66372         -0.0 = 0.0.
66373         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66374         tests.
66375         * tests/test-printf-posix.h (test_function): Likewise.
66376         * tests/test-printf-posix.output: Remove all -0.0 related results.
66377         Needed for IRIX 6.5.
66378
66379 2007-05-19  Bruno Haible  <bruno@clisp.org>
66380
66381         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66382         printed as "nan0x7fffffff" instead of "nan".
66383         * tests/test-vasprintf-posix.c (test_function): Likewise.
66384         * tests/test-snprintf-posix.h (test_function): Likewise.
66385         * tests/test-sprintf-posix.h (test_function): Likewise.
66386         * tests/test-fprintf-posix.h (NaN): Remove macro.
66387         (test_function): Remove all NaN related tests.
66388         * tests/test-printf-posix.h (NaN): Remove macro.
66389         (test_function): Remove all NaN related tests.
66390         * tests/test-printf-posix.output: Remove all NaN related results.
66391         Needed for IRIX 6.5.
66392
66393 2007-05-19  Bruno Haible  <bruno@clisp.org>
66394
66395         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66396         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66397
66398 2007-05-19  Bruno Haible  <bruno@clisp.org>
66399
66400         * lib/float_.h: New file.
66401         * m4/float_h.m4: New file.
66402         * modules/float: New file.
66403         * modules/isnanl (Dependencies): Add float.
66404         * modules/isnanl-nolibm (Dependencies): Likewise.
66405         * modules/mathl (Dependencies): Likewise.
66406         * modules/printf-frexpl (Dependencies): Likewise.
66407         * modules/signbit (Dependencies): Likewise.
66408         * modules/vasnprintf (Dependencies): Likewise.
66409         * doc/headers/float.texi: Update.
66410
66411 2007-05-19  Jim Meyering  <jim@meyering.net>
66412
66413         * lib/utimens.c (gl_futimens): Rename from futimens,
66414         now that glibc-2.6 declares futimens.
66415         * lib/utimens.h: Likewise.
66416
66417 2007-05-19  Bruno Haible  <bruno@clisp.org>
66418
66419         Avoid test failures on mingw.
66420         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66421         * tests/test-printf-posix.sh: Likewise.
66422         * tests/test-vfprintf-posix.sh: Likewise.
66423         * tests/test-vprintf-posix.sh: Likewise.
66424
66425 2007-05-19  Bruno Haible  <bruno@clisp.org>
66426
66427         Fix *printf result for NaN, Inf, -0.0 on mingw.
66428         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66429         * lib/vasnprintf.c: Include math.h and isnan.h.
66430         (is_infinite_or_zero): New function.
66431         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66432         values in the %f, %F, %e, %E, %g, %G directives.
66433         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66434         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66435         gl_PRINTF_INFINITE and test its result. Invoke
66436         gl_PREREQ_VASNPRINTF_INFINITE.
66437         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66438         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66439         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66440         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66441         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66442         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66443         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66444         * doc/functions/fprintf.texi: Update.
66445         * doc/functions/printf.texi: Update.
66446         * doc/functions/snprintf.texi: Update.
66447         * doc/functions/sprintf.texi: Update.
66448         * doc/functions/vfprintf.texi: Update.
66449         * doc/functions/vprintf.texi: Update.
66450         * doc/functions/vsnprintf.texi: Update.
66451         * doc/functions/vsprintf.texi: Update.
66452
66453 2007-05-19  Bruno Haible  <bruno@clisp.org>
66454
66455         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66456         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66457         Instead of multiplying with 10^k, set extra_zeroes to k.
66458         (scale10_round_long_double): Remove function.
66459
66460 2007-05-18  Bruno Haible  <bruno@clisp.org>
66461
66462         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66463         introduced on 2007-05-06.
66464
66465 2007-05-18  Bruno Haible  <bruno@clisp.org>
66466
66467         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66468         %g directives.
66469         * tests/test-vasprintf-posix.c (test_function): Likewise.
66470         * tests/test-snprintf-posix.h (test_function): Likewise.
66471         * tests/test-sprintf-posix.h (test_function): Likewise.
66472
66473 2007-05-18  Bruno Haible  <bruno@clisp.org>
66474
66475         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66476         (strmatch): New function.
66477         (test_function): Test the %f directive on numbers of various exponents.
66478         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66479         (strmatch): New function.
66480         (test_function): Test the %f directive on numbers of various exponents.
66481         * tests/test-snprintf-posix.h (strmatch): New function.
66482         (test_function): Test the %f directive on numbers of various exponents.
66483         * tests/test-sprintf-posix.h (strmatch): New function.
66484         (test_function): Test the %f directive on numbers of various exponents.
66485         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66486         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66487         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66488         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66489
66490 2007-05-18  Bruno Haible  <bruno@clisp.org>
66491
66492         Add support for 'long double' number output.
66493         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66494         * lib/vasnprintf.c: Include math.h and float+.h.
66495         (mp_limb_t): New type.
66496         (GMP_LIMB_BITS): New macro.
66497         (mp_twolimb_t): New type.
66498         (GMP_TWOLIMB_BITS): New macro.
66499         (mpn_t): New type.
66500         (multiply, divide, convert_to_decimal, decode_long_double,
66501         scale10_round_long_double, scale10_round_decimal_long_double,
66502         floorlog10l): New functions.
66503         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66504         for the %f, %F, %e, %E, %g, %G directives.
66505         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66506         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66507         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66508         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66509         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66510         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66511         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66512         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66513         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66514         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66515         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66516         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66517         * modules/snprintf-posix (Depends-on): Likewise.
66518         * modules/sprintf-posix (Depends-on): Likewise.
66519         * modules/vasnprintf-posix (Depends-on): Likewise.
66520         * modules/vasprintf-posix (Depends-on): Likewise.
66521         * modules/vfprintf-posix (Depends-on): Likewise.
66522         * modules/vsnprintf-posix (Depends-on): Likewise.
66523         * modules/vsprintf-posix (Depends-on): Likewise.
66524         * modules/vasnprintf (Files): Add lib/float+.h.
66525         * doc/functions/fprintf.texi: Update.
66526         * doc/functions/printf.texi: Update.
66527         * doc/functions/snprintf.texi: Update.
66528         * doc/functions/sprintf.texi: Update.
66529         * doc/functions/vfprintf.texi: Update.
66530         * doc/functions/vprintf.texi: Update.
66531         * doc/functions/vsnprintf.texi: Update.
66532         * doc/functions/vsprintf.texi: Update.
66533
66534 2007-05-18  Bruno Haible  <bruno@clisp.org>
66535
66536         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66537
66538 2007-05-18  Bruno Haible  <bruno@clisp.org>
66539
66540         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66541         for printing 64-bit integers. Needed for mingw.
66542
66543 2007-05-18  Bruno Haible  <bruno@clisp.org>
66544
66545         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66546         gl_FUNC_FREXPL_WORKS.
66547         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66548
66549 2007-05-18  Bruno Haible  <bruno@clisp.org>
66550
66551         * modules/frexpl-nolibm-tests: New file.
66552
66553         * modules/frexpl-nolibm: New file.
66554         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66555
66556 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66557
66558         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66559         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66560         GCC 4.2, which otherwise issues a lot of warnings.
66561         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66562         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66563         Likewise.
66564         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66565         * modules/iconv_open (iconv.h): Likewise.
66566         * modules/locale (locale.h): Likewise.
66567         * modules/netinet_in (netinet/in.h): Likewise.
66568         * modules/sys_select (sys_select.h): Likewise.
66569         * modules/sys_socket (sys/socket.h): Likewise.
66570         * modules/sys_stat (sys/stat.h): Likewise.
66571         * modules/sysexits (sysexits.h): Likewise.
66572         * modules/unistd (unistd.h): Likewise.
66573
66574 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66575
66576         * modules/closein-tests (Makefile.am): Distribute
66577         `test-closein.sh'.
66578
66579 2007-05-17  Bruno Haible  <bruno@clisp.org>
66580
66581         * tests/test-printf-posix.output: Renamed from
66582         tests/test-fprintf-posix.out.
66583         * modules/fprintf-posix-tests: Update.
66584         * modules/printf-posix-tests: Update.
66585         * modules/vfprintf-posix-tests: Update.
66586         * modules/vprintf-posix-tests: Update.
66587         * tests/test-fprintf-posix.sh: Update.
66588         * tests/test-printf-posix.sh: Update.
66589         * tests/test-vfprintf-posix.sh: Update.
66590         * tests/test-vprintf-posix.sh: Update.
66591         Reported by Ralf Wildenhues.
66592
66593 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66594
66595         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66596         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66597         GCC 4.2, which otherwise issues a lot of warnings.
66598         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66599         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66600         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66601         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66602         it should no longer be needed.
66603         * lib/string_.h: Likewise.
66604         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66605         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66606         * modules/inttypes (inttypes.h): Likewise.
66607         * modules/math (math.h): Likewise.
66608         * modules/search (search.h): Likewise.
66609         * modules/signal (signal.h): Likewise.
66610         * modules/stdint (stdint.h): Likewise.
66611         * modules/stdio (stdio.h): Likewise.
66612         * modules/stdlib (stdlib.h): Likewise.
66613         * modules/string (string.h): Likewise.
66614         * modules/sys_time (sys/time.h): Likewise.
66615         * modules/time (time.h): Likewise.
66616         * modules/wchar (wchar.h): Likewise.
66617         * modules/wctype (wtype.h): Likewise.
66618
66619 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66620
66621         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66622
66623 2007-05-13  Bruno Haible  <bruno@clisp.org>
66624
66625         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66626         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66627         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66628         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66629         (gl_PREREQ_STRTOK_R): Don't require it here.
66630
66631 2007-05-13  Bruno Haible  <bruno@clisp.org>
66632
66633         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66634         when used in C++ mode.
66635
66636 2007-05-12  Bruno Haible  <bruno@clisp.org>
66637
66638         * lib/linebuffer.h: Tweak doc.
66639         * lib/linebuffer.c: Likewise.
66640
66641 2007-05-12  James Youngman  <jay@gnu.org>
66642
66643         * lib/linebuffer.c (readlinebuffer_delim): New function,
66644         like readlinebuffer, but use a caller-specified delimiter.
66645         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66646         as the delimiter.
66647         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66648
66649 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66650
66651         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66652         * modules/openat (Files): Remove openat-die.c.
66653         (Depends-on): Add openat-die.
66654         * modules/openat-die: New module.
66655
66656 2007-05-06  Bruno Haible  <bruno@clisp.org>
66657
66658         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66659         Update with info about Cygwin.
66660         * doc/functions/fprintf.texi: Update.
66661         * doc/functions/printf.texi: Update.
66662         * doc/functions/snprintf.texi: Update.
66663         * doc/functions/sprintf.texi: Update.
66664         * doc/functions/vfprintf.texi: Update.
66665         * doc/functions/vprintf.texi: Update.
66666         * doc/functions/vsnprintf.texi: Update.
66667         * doc/functions/vsprintf.texi: Update.
66668         Reported by Eric Blake.
66669
66670 2007-05-06  Bruno Haible  <bruno@clisp.org>
66671
66672         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
66673         padding ourselves for the floating-point directives.
66674         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
66675         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
66676         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66677         gl_PRINTF_FLAG_ZERO and test its result. Invoke
66678         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
66679         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66680         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66681         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66682         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66683         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66684         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66685         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66686         * tests/test-snprintf-posix.h (test_function): Also check the width
66687         and some flags in the %f directive.
66688         * tests/test-sprintf-posix.h (test_function): Likewise.
66689         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66690         * tests/test-vasprintf-posix.c (test_function): Likewise.
66691         * doc/functions/fprintf.texi: Update.
66692         * doc/functions/printf.texi: Update.
66693         * doc/functions/snprintf.texi: Update.
66694         * doc/functions/sprintf.texi: Update.
66695         * doc/functions/vfprintf.texi: Update.
66696         * doc/functions/vprintf.texi: Update.
66697         * doc/functions/vsnprintf.texi: Update.
66698         * doc/functions/vsprintf.texi: Update.
66699
66700 2007-05-06  Bruno Haible  <bruno@clisp.org>
66701
66702         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66703         pass the ' flag character to sprintf or snprintf.
66704         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66706         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66707         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66708         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66709         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66710         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66711         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66712         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66713         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66714         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66715         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66716         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66717         flag.
66718         * tests/test-sprintf-posix.h (test_function): Likewise.
66719         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66720         * tests/test-vasprintf-posix.c (test_function): Likewise.
66721         * doc/functions/fprintf.texi: Update.
66722         * doc/functions/printf.texi: Update.
66723         * doc/functions/snprintf.texi: Update.
66724         * doc/functions/sprintf.texi: Update.
66725         * doc/functions/vfprintf.texi: Update.
66726         * doc/functions/vprintf.texi: Update.
66727         * doc/functions/vsnprintf.texi: Update.
66728         * doc/functions/vsprintf.texi: Update.
66729
66730 2007-05-01  Bruno Haible  <bruno@clisp.org>
66731
66732         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66733
66734 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66735
66736         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66737         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66738
66739 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66740
66741         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66742         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66743         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66744
66745 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66746
66747         * lib/argp-help.c (struct hol_entry): New member `ord'.
66748         (HOL_ENTRY_PTRCMP): Use ord for comparison
66749         (hol_sort): Initialize ord.
66750
66751 2007-05-01  Bruno Haible  <bruno@clisp.org>
66752
66753         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66754         Reported by Eric Blake.
66755         * doc/gnulib.texi (Function Substitutes): Update.
66756
66757 2007-05-01  Bruno Haible  <bruno@clisp.org>
66758
66759         * doc/functions.texi: Remove file, now redundant through
66760         doc/functions/*.texi.
66761
66762 2007-05-01  Bruno Haible  <bruno@clisp.org>
66763
66764         * modules/argp (Depends-on): Add sleep.
66765
66766 2007-05-01  Bruno Haible  <bruno@clisp.org>
66767
66768         * modules/sleep-tests: New file.
66769         * tests/test-sleep.c: New file.
66770
66771         * modules/sleep: New file.
66772         * lib/sleep.c: New file.
66773         * m4/sleep.m4: New file.
66774         * lib/unistd_.h (sleep): New declaration.
66775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66776         HAVE_SLEEP.
66777         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66778         * doc/functions/sleep.texi: Document the sleep module.
66779
66780 2007-05-01  Bruno Haible  <bruno@clisp.org>
66781
66782         * lib/sigprocmask.h: Remove file.
66783         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66784         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66785         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66786         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66787         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66788         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66789         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66790         HAVE_SIGSET_T as a shell variable.
66791         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66792         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66793         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66794         (Depends-on): Add signal. Remove verify.
66795         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66796         (Include): Mention <signal.h> instead of sigprocmask.h.
66797         * NEWS: Mention the change.
66798         * lib/fatal-signal.c: Don't include sigprocmask.h.
66799
66800 2007-05-01  Bruno Haible  <bruno@clisp.org>
66801
66802         * modules/signal: New file.
66803         * lib/signal_.h: New file.
66804         * m4/signal_h.m4: New file.
66805
66806 2007-05-01  Bruno Haible  <bruno@clisp.org>
66807
66808         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66809         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66810         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66811         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66812
66813 2007-05-01  Bruno Haible  <bruno@clisp.org>
66814
66815         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66816         configure time.
66817         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66818         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66819         * modules/sys_stat (Makefile.am): Substitute their values into
66820         sys/stat.h.
66821
66822 2007-05-01  Bruno Haible  <bruno@clisp.org>
66823
66824         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66825         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66826         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66827
66828 2007-05-01  Bruno Haible  <bruno@clisp.org>
66829
66830         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66831         'assert' module here.
66832
66833 2007-05-01  Bruno Haible  <bruno@clisp.org>
66834
66835         * doc/functions/*.texi: New files.
66836         * doc/functions/google-ranking.txt: New file.
66837         * doc/gnulib.texi (Function Substitutes): New chapter.
66838         (ctime, inet_ntoa): Remove sections.
66839         * doc/ctime.texi: Remove file.
66840         * doc/inet_ntoa.texi: Remove file.
66841         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66842         dependencies.
66843         (%.info): New rule, specifying a --reference-limit.
66844
66845 2007-05-01  Bruno Haible  <bruno@clisp.org>
66846
66847         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66848
66849 2007-05-01  Bruno Haible  <bruno@clisp.org>
66850
66851         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66852         the portability of 'mkdir' to mingw systems.
66853
66854 2007-05-01  Bruno Haible  <bruno@clisp.org>
66855
66856         * doc/headers/google-ranking.txt: New file.
66857
66858 2007-04-30  Eric Blake  <ebb9@byu.net>
66859
66860         Prefer fseeko to fseek.
66861         * modules/getpass (Depends-on): Add fseeko.
66862         * lib/getpass.c (getpass): Use fseeko, not fseek.
66863
66864 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66865
66866         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66867         assumes the sorting is stable, while most qsort implementations
66868         are not.  Use argument addresses to ensure they never compare as
66869         equal.
66870
66871         * tests/test-argp-2.sh (usage-indent test): Fix output
66872         (func_compare): Restore diff options
66873         * tests/test-argp.c: Restore #include "progname.h"
66874
66875 2007-04-29  Bruno Haible  <bruno@clisp.org>
66876
66877         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66878         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66879         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66880         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66881         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66882         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66883         (TESTS, check_PROGRAMS): Add test-snprintf.
66884         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66885         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66886         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66887         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66888         assertions that fail on HP-UX, OSF/1, or IRIX.
66889         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66890
66891 2007-04-29  Bruno Haible  <bruno@clisp.org>
66892
66893         * MODULES.html.sh (posix_functions): Remove 'contents'.
66894
66895 2007-04-29  Karl Berry  <karl@gnu.org>
66896
66897         * config/srclist.txt (gendocs_template_min): new entry.
66898
66899 2007-04-29  Bruno Haible  <bruno@clisp.org>
66900
66901         Work around fpurge bug on BSD systems.
66902         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66903         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66904         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66905         fpurge to rpl_fpurge if the system already has this function.
66906         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66907         the case where the system already has this function. Correct invariants
66908         on BSD systems.
66909         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66910         BSD systems.
66911
66912 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66913
66914         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66915         proposed by Sven Verdoolaege.
66916
66917         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66918         options.
66919         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66920         (usage and help tests): Update
66921
66922 2007-04-29  Bruno Haible  <bruno@clisp.org>
66923
66924         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66925         Print more information in case of failure. Disable a test on BeOS.
66926
66927 2007-04-29  Bruno Haible  <bruno@clisp.org>
66928
66929         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66930         This helps debugging on systems on which no gdb is available.
66931
66932 2007-04-29  Bruno Haible  <bruno@clisp.org>
66933
66934         * lib/freading.h: Improve comments.
66935         * lib/fwriting.h: Likewise.
66936         * tests/test-freading.c (main): Don't check freading immediately after
66937         repositioning. Needed for glibc.
66938
66939 2007-04-29  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/freading.c (freading): Trivial simplification.
66942
66943 2007-04-28  Bruno Haible  <bruno@clisp.org>
66944
66945         * tests/test-fwriting.c (main): Also test the interaction between
66946         fflush and fwriting.
66947         * modules/fwriting-tests (Depends-on): Add fflush.
66948
66949         * tests/test-freading.c (main): Also test the interaction between
66950         fflush and freading.
66951         * modules/freading-tests (Depends-on): Add fflush.
66952
66953 2007-04-28  Bruno Haible  <bruno@clisp.org>
66954
66955         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66956         fseeko and ftello.
66957         Suggested by Eric Blake.
66958
66959 2007-04-28  Jim Meyering  <jim@meyering.net>
66960
66961         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66962         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66963         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66964
66965 2007-04-27  Eric Blake  <ebb9@byu.net>
66966
66967         * doc/headers/assert.texi (assert.h): Document assert module use.
66968
66969 2007-04-27  Bruno Haible  <bruno@clisp.org>
66970
66971         * doc/headers/*.texi: New files.
66972         * doc/gnulib.texi (Header File Substitutes): New chapter.
66973         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66974         dependencies.
66975         (standards.info ,standards.html, standards.dvi): Update dependencies.
66976         (mostlyclean, clean): New targets.
66977
66978 2007-04-27  Bruno Haible  <bruno@clisp.org>
66979
66980         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66981         * modules/sysexits (Files, Makefile.am): Update.
66982
66983         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66984         * modules/sys_socket (Files, Makefile.am): Update.
66985
66986         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66987         * modules/sys_stat (Files, Makefile.am): Update.
66988
66989 2007-04-27  Eric Blake  <ebb9@byu.net>
66990
66991         * lib/freading.h: Improve comments.
66992         * lib/fwriting.h: Likewise.
66993         * lib/fflush.c: Likewise.
66994
66995         Fix closein for mingw.
66996         * modules/closein-tests: Add tests for closein.
66997         * tests/test-closein.c: New file.
66998         * tests/test-closein.sh: Likewise.
66999         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67000         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67001
67002 2007-04-27  Bruno Haible  <bruno@clisp.org>
67003
67004         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67005         version is < 6.
67006         * lib/math_.h [__DECC]: Likewise.
67007         * lib/stdio_.h [__DECC]: Likewise.
67008         * lib/stdlib_.h [__DECC]: Likewise.
67009         * lib/string_.h [__DECC]: Likewise.
67010         * lib/time_.h [__DECC]: Likewise.
67011         * lib/wchar_.h [__DECC]: Likewise.
67012         * lib/wctype_.h [__DECC]: Likewise.
67013
67014 2007-04-27  Bruno Haible  <bruno@clisp.org>
67015
67016         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67017
67018 2007-04-27  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/fflush.c: Add comments.
67021         * modules/fpurge-tests (Depends-on): Add fflush.
67022         * modules/freadable-tests (Depends-on): Likewise.
67023         * modules/fwritable-tests (Depends-on): Likewise.
67024
67025 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67026
67027         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67028         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67029         Report by Bruno Haible <bruno@clisp.org>.
67030
67031 2007-04-26  Eric Blake  <ebb9@byu.net>
67032
67033         Fix fflush on mingw.
67034         * modules/fflush (Depends-on): Add freading.
67035         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67036         but unread data.
67037
67038 2007-04-26  Eric Blake  <ebb9@byu.net>
67039         and Bruno Haible  <bruno@clisp.org>
67040
67041         Implement freading and fwriting.
67042         * lib/freading.c: New file.
67043         * lib/freading.h: Likewise.
67044         * m4/freading.m4: Likewise.
67045         * modules/freading: Likewise.
67046         * modules/freading-tests: Likewise.
67047         * tests/test-freading.c: Likewise.
67048         * lib/fwriting.c: New file.
67049         * lib/fwriting.h: Likewise.
67050         * m4/fwriting.m4: Likewise.
67051         * modules/fwriting: Likewise.
67052         * modules/fwriting-tests: Likewise.
67053         * tests/test-fwriting.c: Likewise.
67054         * MODULES.html.sh (File stream based Input/Output): Mention them.
67055
67056 2007-04-26  Bruno Haible  <bruno@clisp.org>
67057
67058         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67059         'long' when we assume it.
67060         Suggested by Eric Blake.
67061
67062 2007-04-26  Bruno Haible  <bruno@clisp.org>
67063
67064         Ensure fseeko, ftello are declared on glibc systems.
67065         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67066         * modules/fseeko (configure.ac-early): Likewise.
67067         * modules/ftello (configure.ac-early): Likewise.
67068         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67069         AC_FUNC_FSEEKO for this.
67070         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67071         (gl_CHECK_FSEEKO): Remove macro.
67072
67073 2007-04-26  Bruno Haible  <bruno@clisp.org>
67074
67075         * tests/test-fflush.c (main): Also check the ftell result after
67076         fflush and fseek/fseeko.
67077         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67078         file descriptor position cache in the stream.
67079         * lib/fseeko.c (rpl_fseeko): Likewise.
67080
67081 2007-04-26  Bruno Haible  <bruno@clisp.org>
67082
67083         * modules/fflush-tests (Depends-on): Add fseeko.
67084
67085 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67086             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67087
67088         * lib/argz_.h: ensure error_t definition is obtained in same
67089         mechanism system argz.h would have.
67090         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67091         argz facilities are known bad.  Err on the side of caution if
67092         cross-compiling.
67093
67094 2007-04-25  Eric Blake  <ebb9@byu.net>
67095
67096         * lib/fpurge.c (includes): Use stdlib.h for free.
67097         * tests/test-fflush.c (main): Also test fflush-fseeko.
67098
67099 2007-04-25  Bruno Haible  <bruno@clisp.org>
67100
67101         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67102         * lib/fseeko.c: New file.
67103         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67104         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67105         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67106         gl_FUNC_FSEEKO.
67107         (gl_FUNC_FSEEKO): Invoke it.
67108         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67109         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67110         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67111
67112 2007-04-25  Bruno Haible  <bruno@clisp.org>
67113
67114         * modules/fflush (Depends-on): Add ftello.
67115
67116 2007-04-25  Bruno Haible  <bruno@clisp.org>
67117
67118         * modules/ftello-tests: New file.
67119         * tests/test-ftello.c: New file.
67120
67121         * modules/ftello: New file.
67122         * m4/ftello.m4: New file.
67123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67124         HAVE_FTELLO.
67125         * lib/stdio_.h (ftello): New declaration.
67126         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67127         HAVE_FTELLO.
67128
67129 2007-04-25  Bruno Haible  <bruno@clisp.org>
67130
67131         * modules/fseeko-tests: New file.
67132         * tests/test-fseeko.c: New file.
67133
67134         * modules/fseeko: New file.
67135         * m4/fseeko.m4: New file.
67136         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67137         HAVE_FSEEKO.
67138         * lib/stdio_.h (fseeko): New declaration.
67139         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67140         HAVE_FSEEKO.
67141
67142 2007-04-25  Bruno Haible  <bruno@clisp.org>
67143
67144         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67145
67146 2007-04-25  Bruno Haible  <bruno@clisp.org>
67147
67148         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67149         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67150         * tests/test-unistd.c: Likewise.
67151         * tests/test-fcntl.c: Likewise.
67152
67153 2007-04-23  Eric Blake  <ebb9@byu.net>
67154
67155         * lib/fflush.c: Fix missing include.
67156         Reported by Bruno Haible.
67157
67158 2007-04-23  Bruno Haible  <bruno@clisp.org>
67159
67160         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67161         Reported by Eric Blake.
67162
67163 2007-04-23  Bruno Haible  <bruno@clisp.org>
67164
67165         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67166
67167 2007-04-23  Bruno Haible  <bruno@clisp.org>
67168
67169         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67170
67171 2007-04-23  Bruno Haible  <bruno@clisp.org>
67172
67173         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67174         Needed on HP-UX 11.
67175
67176 2007-04-16  Eric Blake  <ebb9@byu.net>
67177
67178         Make fflush rely on fpurge.
67179         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67180         open coding all variants.
67181         * modules/fflush (Depends-on): Add fpurge and unistd.
67182         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67183         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67184
67185         Fix --with-tests compilation on cygwin.
67186         * modules/argmatch-tests (Makefile.am): List gnulib library first
67187         in LDADD.
67188         * modules/argp-tests (Makefile.am): Likewise.
67189         * modules/array-list-tests (Makefile.am): Likewise.
67190         * modules/array-oset-tests (Makefile.am): Likewise.
67191         * modules/avltree-list-tests (Makefile.am): Likewise.
67192         * modules/avltree-oset-tests (Makefile.am): Likewise.
67193         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67194         * modules/carray-list-tests (Makefile.am): Likewise.
67195         * modules/dirname-tests (Makefile.am): Likewise.
67196         * modules/frexp-tests (Makefile.am): Likewise.
67197         * modules/isnanl-tests (Makefile.am): Likewise.
67198         * modules/linked-list-tests (Makefile.am): Likewise.
67199         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67200         * modules/lock-tests (Makefile.am): Likewise.
67201         * modules/rbtree-list-tests (Makefile.am): Likewise.
67202         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67203         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67204         * modules/tls-tests (Makefile.am): Likewise.
67205         * modules/tsearch-tests (Makefile.am): Likewise.
67206         * modules/xvasprintf-tests (Makefile.am): Likewise.
67207
67208         Fix fpurge for cygwin.
67209         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67210         value.
67211         * modules/fpurge-tests (Depends-on): Clean up trash.
67212
67213 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67214
67215         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67216
67217         * m4/autobuild.m4: Re-indent.
67218
67219 2007-04-13  Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/fpurge-tests: New file.
67222         * tests/test-fpurge.c: New file.
67223
67224         * modules/fpurge: New file.
67225         * lib/fpurge.h: New file.
67226         * lib/fpurge.c: New file.
67227         * m4/fpurge.m4: New file.
67228
67229 2007-04-13  Bruno Haible  <bruno@clisp.org>
67230
67231         * modules/fbufmode-tests: New file.
67232         * tests/test-fbufmode.c: New file.
67233
67234         * modules/fbufmode: New file.
67235         * lib/fbufmode.h: New file.
67236         * lib/fbufmode.c: New file.
67237         * m4/fbufmode.m4: New file.
67238
67239 2007-04-13  Bruno Haible  <bruno@clisp.org>
67240
67241         * modules/fwritable-tests: New file.
67242         * tests/test-fwritable.c: New file.
67243
67244         * modules/fwritable: New file.
67245         * lib/fwritable.h: New file.
67246         * lib/fwritable.c: New file.
67247         * m4/fwritable.m4: New file.
67248
67249 2007-04-13  Bruno Haible  <bruno@clisp.org>
67250
67251         * modules/freadable-tests: New file.
67252         * tests/test-freadable.c: New file.
67253
67254         * modules/freadable: New file.
67255         * lib/freadable.h: New file.
67256         * lib/freadable.c: New file.
67257         * m4/freadable.m4: New file.
67258
67259 2007-04-13  Bruno Haible  <bruno@clisp.org>
67260
67261         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67262         MOSTLYCLEANFILES.
67263
67264 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67265
67266         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67267         gzip bootstrap.conf to avoid dragging in i18n machinery.
67268         (gnulib_tool_option): Use it.
67269
67270 2007-04-13  Bruno Haible  <bruno@clisp.org>
67271
67272         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67273         %F directives.
67274         * tests/test-vasprintf-posix.c (test_function): Likewise.
67275         * tests/test-snprintf-posix.h (test_function): Likewise.
67276         * tests/test-sprintf-posix.h (test_function): Likewise.
67277         * tests/test-fprintf-posix.h (test_function): Likewise.
67278         * tests/test-printf-posix.h (test_function): Likewise.
67279         * tests/test-fprintf-posix.out: Likewise.
67280
67281 2007-04-13  Bruno Haible  <bruno@clisp.org>
67282
67283         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67284         * modules/tls-tests (configure.ac): Likewise.
67285         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67286
67287 2007-04-13  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/tls.c (glthread_tls_get): Fix return type.
67290         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67291
67292 2007-04-12  Eric Blake  <ebb9@byu.net>
67293
67294         * modules/gettime (Depends-on): Remove gettime.
67295         Reported by Dmitry V. Levin.
67296
67297 2007-04-12  Bruno Haible  <bruno@clisp.org>
67298
67299         * modules/fflush (Include): Mention <stdio.h>.
67300         * modules/strtoimax (Include): Mention <inttypes.h>.
67301         * modules/strtoumax (Include): Likewise.
67302
67303 2007-04-12  Eric Blake  <ebb9@byu.net>
67304
67305         * .cvsignore: New file.
67306         * .gitignore: Likewise.
67307
67308 2007-04-12  Bruno Haible  <bruno@clisp.org>
67309
67310         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67311         not before, since $(LDADD) often contains libgnu.a.
67312         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67313         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67314         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67315         Needed on Cygwin.
67316
67317 2007-04-12  Eric Blake  <ebb9@byu.net>
67318
67319         Work around glibc's failure to flush stdin on fclose.
67320         * lib/closein.c (close_stdin): Flush stdin before closing.
67321
67322         Work around glibc's failure to reset seekable stdin on exit.
67323         * modules/closein: New module.
67324         * lib/closein.c: New file.
67325         * lib/closein.h: Likewise.
67326         * m4/closein.m4: Likewise.
67327         * MODULES.html.sh (File stream based Input/Output): Document it.
67328
67329 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67330
67331         * gnulib-tool: Rename generated 'autobuild' script to
67332         'do-autobuild' in --create-megatestdir output.
67333
67334         * doc/gnulib.texi (Build robot for gnulib): Fix.
67335
67336 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67337
67338         * modules/sysexits (Depends-on): Add absolute-header.
67339
67340 2007-04-12  Eric Blake  <ebb9@byu.net>
67341
67342         No need to preserve errno on success.
67343         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67344         Reported by Bruno Haible.
67345
67346 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67347
67348         * MODULES.html.sh (Support for maintaining and releasing
67349         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67350
67351 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67352
67353         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67354
67355 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67356
67357         * modules/autobuild: New module.
67358
67359         * m4/autobuild.m4: New file.
67360
67361 2007-04-11  Bruno Haible  <bruno@clisp.org>
67362
67363         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67364         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67365         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67366         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67367         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67368         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67369         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67370         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67371         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67372         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67373         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
67374         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67375         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67376         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
67377         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67378         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67379         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
67380         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67381         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67382         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67383         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67384         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
67386         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67387         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67388         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
67389         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67390         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67391         Reported by Eric Blake.
67392
67393 2007-04-11  Bruno Haible  <bruno@clisp.org>
67394
67395         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67396
67397 2007-04-10  Bruno Haible  <bruno@clisp.org>
67398
67399         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67400         for NaN and Infinity. Needed on FreeBSD 6.1.
67401         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67402         regarding results for "%010a" of Infinity and NaN.
67403         * tests/test-vasprintf-posix.c (test_function): Likewise.
67404         * tests/test-snprintf-posix.h (test_function): Likewise.
67405         * tests/test-sprintf-posix.h (test_function): Likewise.
67406         * tests/test-fprintf-posix.h (test_function): Likewise.
67407         * tests/test-printf-posix.h (test_function): Likewise.
67408         * tests/test-fprintf-posix.out: Likewise.
67409
67410 2007-04-10  Bruno Haible  <bruno@clisp.org>
67411
67412         * modules/locale-tests: New file.
67413         * tests/test-locale.c: New file.
67414
67415         * modules/locale: New file.
67416         * lib/locale_.h: New file.
67417         * m4/locale_h.m4: New file.
67418
67419 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67420             Bruno Haible  <bruno@clisp.org>
67421
67422         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67423         be determined, test for availability of the copysignf, copysign,
67424         copysignl functions.
67425         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67426         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67427         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67428
67429 2007-04-09  Eric Blake  <ebb9@byu.net>
67430
67431         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67432         * modules/stdio (Makefile.am): Support fflush.
67433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67434         * modules/fflush: New file.
67435         * lib/fflush.c: Likewise.
67436         * m4/fflush.m4: Likewise.
67437         * modules/fflush-tests: New test.
67438         * tests/test-fflush.c: Likewise.
67439         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67440
67441 2007-04-06  Bruno Haible  <bruno@clisp.org>
67442
67443         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67444         (VASNPRINTF): Use signbit for faster determination whether to print a
67445         minus sign.
67446         * modules/vasnprintf (Files): Remove lib/float+.h.
67447         * modules/fprintf-posix (Depends-on): Add signbit.
67448         * modules/snprintf-posix (Depends-on): Likewise.
67449         * modules/sprintf-posix (Depends-on): Likewise.
67450         * modules/vasnprintf-posix (Depends-on): Likewise.
67451         * modules/vasprintf-posix (Depends-on): Likewise.
67452         * modules/vfprintf-posix (Depends-on): Likewise.
67453         * modules/vsnprintf-posix (Depends-on): Likewise.
67454         * modules/vsprintf-posix (Depends-on): Likewise.
67455
67456 2007-04-06  Bruno Haible  <bruno@clisp.org>
67457
67458         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67459         * tests/test-frexpl.c (main): Likewise.
67460         * tests/test-ldexpl.c (main): Likewise.
67461         * modules/frexp-tests (Depends-on): Add signbit.
67462         * modules/frexpl-tests (Depdends-on): Likewise.
67463         * modules/ldexpl-tests (Depdends-on): Likewise.
67464
67465 2007-04-06  Bruno Haible  <bruno@clisp.org>
67466
67467         * modules/signbit-tests: New file.
67468         * tests/test-signbit.c: New file.
67469
67470         * modules/signbit: New file.
67471         * lib/signbitf.c: New file.
67472         * lib/signbitd.c: New file.
67473         * lib/signbitl.c: New file.
67474         * m4/signbit.m4: New file.
67475         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67476         (signbit): New macro.
67477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67478         REPLACE_SIGNBIT.
67479         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67480         REPLACE_FREXPL into math.h.
67481
67482 2007-04-06  Bruno Haible  <bruno@clisp.org>
67483
67484         * modules/isnanf-nolibm-tests: New file.
67485         * tests/test-isnanf.c: New file.
67486
67487         * modules/isnanf-nolibm: New file.
67488         * lib/isnanf.h: New file.
67489         * lib/isnanf.c: New file.
67490         * lib/isnan.c: Consider the USE_FLOAT macro.
67491         * m4/isnanf.m4: New file.
67492
67493 2007-04-06  Bruno Haible  <bruno@clisp.org>
67494
67495         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67496         (Link): New section.
67497
67498         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67499
67500 2007-04-06  Bruno Haible  <bruno@clisp.org>
67501
67502         Assume the 'long double' type.
67503         * m4/longdouble.m4: Remove file.
67504         * config/srclist.txt: Don't mention longdouble.m4.
67505         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67506         * lib/float+.h: Likewise.
67507         * lib/frexp.c: Likewise.
67508         * lib/printf-args.h: Likewise.
67509         * lib/printf-args.c: Likewise.
67510         * lib/printf-frexp.c: Likewise.
67511         * lib/printf-parse.c: Likewise.
67512         * lib/vasnprintf.c: Likewise.
67513         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67514         * m4/intl.m4: Likewise.
67515         * m4/isnanl.m4: Likewise.
67516         * m4/printf.m4: Likewise.
67517         * m4/printf-frexpl.m4: Likewise.
67518         * m4/vasnprintf.m4: Likewise.
67519         * modules/allocsa (Files): Remove m4/longdouble.m4.
67520         * modules/gettext (Files): Likewise.
67521         * modules/relocatable-prog-wrapper (Files): Likewise.
67522         * modules/vasnprintf (Files): Likewise.
67523         * modules/isnanl (Files): Likewise.
67524         (Include): Simplify.
67525         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67526         (Include): Simplify.
67527         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67528         (Include): Simplify.
67529         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67530         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67531         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67532         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67533         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67534         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67535         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67536         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67537         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67538         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67539         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67540         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67541         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67542         * tests/test-isnanl.c: Likewise.
67543         * tests/test-snprintf-posix.h: Likewise.
67544         * tests/test-sprintf-posix.h: Likewise.
67545         * tests/test-vasnprintf-posix.c: Likewise.
67546         * tests/test-vasnprintf-posix2.c: Likewise.
67547         * tests/test-vasprintf-posix.c: Likewise.
67548
67549 2007-04-06  Bruno Haible  <bruno@clisp.org>
67550
67551         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67552         * lib/math_.h [__DECC]: Include the overridden include file through
67553         #include_next, outside the double-inclusion guard.
67554         * lib/stdio_.h [__DECC]: Likewise.
67555         * lib/stdlib_.h [__DECC]: Likewise.
67556         * lib/string_.h [__DECC]: Likewise.
67557         * lib/time_.h [__DECC]: Likewise.
67558         * lib/wchar_.h [__DECC]: Likewise.
67559         * lib/wctype_.h [__DECC]: Likewise.
67560         * lib/inttypes_.h [__DECC]: Likewise.
67561         Reported by Albert Chin <china@thewrittenword.com> in
67562         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67563
67564 2007-04-04  Eric Blake  <ebb9@byu.net>
67565
67566         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67567         1.5.x.
67568
67569 2007-04-04  Bruno Haible  <bruno@clisp.org>
67570
67571         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67572         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67573
67574 2007-04-04  Bruno Haible  <bruno@clisp.org>
67575
67576         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67577         results for "%010a" of Infinity and NaN.
67578         * tests/test-vasprintf-posix.c (test_function): Likewise.
67579         * tests/test-snprintf-posix.h (test_function): Likewise.
67580         * tests/test-sprintf-posix.h (test_function): Likewise.
67581         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67582         * tests/test-printf-posix.h (test_function): Likewise.
67583         * tests/test-fprintf-posix.out: Update.
67584         Needed for FreeBSD 6.1.
67585
67586 2007-04-04  Bruno Haible  <bruno@clisp.org>
67587
67588         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67589         directly used by the gnulib modules nor by gnulib-tool.
67590
67591 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67592
67593         * DEPENDENCIES: Give overall description of version dependency
67594         desirability.  Use more-typical names for apps.
67595         Add shell, coreutils, diffutils, grep, tar, gzip.
67596
67597 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67598
67599         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67600
67601 2007-04-04  Karl Berry  <karl@gnu.org>
67602
67603         * MODULES.html.sh (func_module): missing '.
67604
67605 2007-04-03  Bruno Haible  <bruno@clisp.org>
67606
67607         * modules/argmatch-tests (Makefile.am): New variable
67608         test_argmatch_LDADD.
67609         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67610         * modules/array-list-tests (Makefile.am): New variable
67611         test_array_list_LDADD.
67612         * modules/array-oset-tests (Makefile.am): New variable
67613         test_array_oset_LDADD.
67614         * modules/avltree-list-tests (Makefile.am): New variable
67615         test_avltree_list_LDADD.
67616         * modules/avltree-oset-tests (Makefile.am): New variable
67617         test_avltree_oset_LDADD.
67618         * modules/avltreehash-list-tests (Makefile.am): New variable
67619         test_avltreehash_list_LDADD.
67620         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67621         test_canonicalize_lgpl_LDADD.
67622         * modules/carray-list-tests (Makefile.am): New variable
67623         test_carray_list_LDADD.
67624         * modules/dirname-tests (Makefile.am): New variable
67625         test_dirname_LDADD.
67626         * modules/linked-list-tests (Makefile.am): New variable
67627         test_linked_list_LDADD.
67628         * modules/linkedhash-list-tests (Makefile.am): New variable
67629         test_linkedhash_list_LDADD.
67630         * modules/rbtree-list-tests (Makefile.am): New variable
67631         test_rbtree_list_LDADD.
67632         * modules/rbtree-oset-tests (Makefile.am): New variable
67633         test_rbtree_oset_LDADD.
67634         * modules/rbtreehash-list-tests (Makefile.am): New variable
67635         test_rbtreehash_list_LDADD.
67636         * modules/xvasprintf-tests (Makefile.am): New variable
67637         test_xvasprintf_LDADD.
67638         Reported by Eric Blake.
67639
67640 2007-04-03  Eric Blake  <ebb9@byu.net>
67641
67642         * DEPENDENCIES: Weaken m4 requirements.
67643
67644 2007-04-03  Bruno Haible  <bruno@clisp.org>
67645
67646         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67647         * modules/isnanl-tests (configure.ac): Likewise.
67648
67649 2007-04-03  Ben Pfaff  <blp@gnu.org>
67650
67651         * modules/iconv_open: Add $(srcdir)/ to source directory
67652         references in Makefile fragments that call gperf, to fix VPATH
67653         builds.
67654
67655 2007-04-03  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67658         * lib/ldexpl.c: Undo last change.
67659
67660 2007-04-03  Bruno Haible  <bruno@clisp.org>
67661
67662         * modules/printf-frexpl (Depends-on): Undo last change.
67663         (Files): Add m4/ldexpl.m4.
67664
67665 2007-04-03  Bruno Haible  <bruno@clisp.org>
67666
67667         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
67668         * modules/isnanl (Link): New section.
67669
67670         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
67671         * modules/frexp (Link): New section.
67672
67673         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
67674         * modules/frexpl (Link): New section.
67675
67676         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
67677         * modules/ldexpl (Link): New section.
67678
67679 2007-04-03  Bruno Haible  <bruno@clisp.org>
67680
67681         * modules/TEMPLATE-EXTENDED: New file.
67682         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
67683
67684 2007-04-03  Bruno Haible  <bruno@clisp.org>
67685
67686         * DEPENDENCIES: New file.
67687         Suggested by Simon Josefsson.
67688
67689 2007-04-03  Bruno Haible  <bruno@clisp.org>
67690
67691         * doc/gnulib.texi: Escape @.
67692
67693 2007-04-03  James Youngman  <jay@gnu.org>
67694         and Paul Eggert  <eggert@cs.ucla.edu>
67695
67696         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67697         birthtime on all systems that have birthtime, not just those which
67698         use st_birthtimensec rather than st_birthtim.  Putting zero in
67699         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67700         that the birth time is not available for files on an NFS mount.
67701
67702 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67703
67704         * modules/memxor: Move back from crypto/, suggested by Bruno.
67705         * modules/crypto/hmac-sha1: Fix memxor dependency.
67706
67707         * modules/crypto/gc: Moved from ../.
67708
67709 2007-04-02  Eric Blake  <ebb9@byu.net>
67710
67711         * lib/ldexpl.c (includes): Avoid libm.
67712
67713         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67714
67715 2007-04-02  Bruno Haible  <bruno@clisp.org>
67716
67717         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67718         on IRIX.
67719
67720 2007-04-02  Bruno Haible  <bruno@clisp.org>
67721
67722         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67723         x86 or x86_64 platforms running MacOS X.
67724         Reported by Ryan Schmidt <@ryandesign.com>.
67725
67726 2007-04-02  Bruno Haible  <bruno@clisp.org>
67727
67728         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67729         i386.
67730
67731 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67732
67733         * modules/crypto/arcfour: Moved from ../.
67734         * modules/crypto/arcfour-tests: Moved from ../.
67735         * modules/crypto/arctwo: Moved from ../.
67736         * modules/crypto/arctwo-tests: Moved from ../.
67737         * modules/crypto/des: Moved from ../.
67738         * modules/crypto/des-tests: Moved from ../.
67739         * modules/crypto/gc-arcfour: Moved from ../.
67740         * modules/crypto/gc-arcfour-tests: Moved from ../.
67741         * modules/crypto/gc-arctwo: Moved from ../.
67742         * modules/crypto/gc-arctwo-tests: Moved from ../.
67743         * modules/crypto/gc-des: Moved from ../.
67744         * modules/crypto/gc-des-tests: Moved from ../.
67745         * modules/crypto/gc-hmac-md5: Moved from ../.
67746         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67747         * modules/crypto/gc-hmac-sha1: Moved from ../.
67748         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67749         * modules/crypto/gc-md2: Moved from ../.
67750         * modules/crypto/gc-md2-tests: Moved from ../.
67751         * modules/crypto/gc-md4: Moved from ../.
67752         * modules/crypto/gc-md4-tests: Moved from ../.
67753         * modules/crypto/gc-md5: Moved from ../.
67754         * modules/crypto/gc-md5-tests: Moved from ../.
67755         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67756         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67757         * modules/crypto/gc-random: Moved from ../.
67758         * modules/crypto/gc-rijndael: Moved from ../.
67759         * modules/crypto/gc-rijndael-tests: Moved from ../.
67760         * modules/crypto/gc-sha1: Moved from ../.
67761         * modules/crypto/gc-sha1-tests: Moved from ../.
67762         * modules/crypto/gc-tests: Moved from ../.
67763         * modules/crypto/hmac-md5: Moved from ../.
67764         * modules/crypto/hmac-md5-tests: Moved from ../.
67765         * modules/crypto/hmac-sha1: Moved from ../.
67766         * modules/crypto/hmac-sha1-tests: Moved from ../.
67767         * modules/crypto/md2: Moved from ../.
67768         * modules/crypto/md2-tests: Moved from ../.
67769         * modules/crypto/md4: Moved from ../.
67770         * modules/crypto/md4-tests: Moved from ../.
67771         * modules/crypto/md5: Moved from ../.
67772         * modules/crypto/md5-tests: Moved from ../.
67773         * modules/crypto/memxor: Moved from ../.
67774         * modules/crypto/rijndael: Moved from ../.
67775         * modules/crypto/rijndael-tests: Moved from ../.
67776         * modules/crypto/sha1: Moved from ../.
67777
67778 2007-03-30  James Youngman  <jay@gnu.org>
67779
67780         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67781         rename() to change the ctime of a file (because ctime is unaffected
67782         by rename on jfs2 on AIX 5.1).
67783         (main): Start by doing cleanup, in case a previous run failed leaving
67784         test files behind.
67785
67786 2007-03-31  Bruno Haible  <bruno@clisp.org>
67787
67788         Support old proprietary implementations of iconv.
67789         * modules/iconv_open: New file.
67790         * lib/iconv_.h: New file.
67791         * m4/iconv_h.m4: New file.
67792         * lib/iconv_open.c: New file.
67793         * lib/iconv_open-aix.gperf: New file.
67794         * lib/iconv_open-hpux.gperf: New file.
67795         * lib/iconv_open-irix.gperf: New file.
67796         * lib/iconv_open-osf.gperf: New file.
67797         * m4/iconv_open.m4: New file.
67798         * modules/linebreak (Depends-on): Add iconv_open.
67799         * modules/striconv (Depends-on): Likewise.
67800         * modules/striconveh (Depends-on): Likewise.
67801         * modules/unicodeio (Depends-on): Likewise.
67802         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67803         (iconv_t)(-1).
67804         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67805         conversion if cd is (iconv_t)(-1).
67806         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67807         is not possible.
67808
67809 2007-03-31  Bruno Haible  <bruno@clisp.org>
67810
67811         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67812         work on Solaris either. Protect also second use of "autodetect_jp".
67813
67814 2007-03-31  Bruno Haible  <bruno@clisp.org>
67815
67816         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67817         the function is not present.
67818
67819 2007-03-31  Bruno Haible  <bruno@clisp.org>
67820
67821         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67822         the function is not present.
67823
67824 2007-03-31  Bruno Haible  <bruno@clisp.org>
67825
67826         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67827         a bug in HP-UX iconv_open().
67828
67829 2007-03-31  Bruno Haible  <bruno@clisp.org>
67830
67831         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67832         (Mathematics <math.h>): New section, add fpieee.
67833         (Input/output <stdio.h>): Add fseterr.
67834         (Mathematics <math.h>): New section, add printf-frexp.
67835         (Container data structures): Add sublist.
67836         (Core language properties): Add fpucw, inline.
67837         (Functions for greatest-width integer types <inttypes.h>): Add
67838         imaxabs, imaxdiv, inttypes.
67839         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67840         isnanl-nolibm, ldexp.
67841         (Mathematics <math.h>): New section, add printf-frexpl.
67842         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67843         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67844         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67845         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67846         (Unicode string functions): Add unistr/u*-mbtoucr.
67847         (Java): Add javacomp-script, javaexec-script.
67848         (C#): Add csharpcomp-script, csharpexec-script.
67849         (Support for building libraries and executables): Add havelib,
67850         relocatable-*.
67851         (Support for maintaining and releasing projects): Renamed from
67852         'Support for maintaining and release projects'. Add announce-gen.
67853
67854 2007-03-31  Bruno Haible  <bruno@clisp.org>
67855
67856         * README: Talk primarily about git.
67857         (git and CVS): Renamed from CVS.
67858         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67859         gnulib is available through git.
67860         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67861
67862 2007-03-30  Bruno Haible  <bruno@clisp.org>
67863
67864         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67865         * lib/poll_.h: Likewise.
67866         * lib/stat_.h: Likewise.
67867         * lib/sys_time_.h: Likewise.
67868         * lib/sysexit_.h: Likewise.
67869         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67870         * lib/stdbool_.h: Likewise.
67871         * lib/byteswap_.h: Add double-inclusion guard.
67872
67873 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67874
67875         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67876
67877 2007-03-30  Karl Berry  <karl@gnu.org>
67878
67879         * config/srclist-update: double space after USA in the license
67880         substitution, since that's how it's usually (?) written.
67881
67882 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67883
67884         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67885         reported by Bruno Haible.
67886
67887 2007-03-29  Bruno Haible  <bruno@clisp.org>
67888
67889         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67890         a bug in AIX iconv().
67891
67892 2007-03-29  Bruno Haible  <bruno@clisp.org>
67893
67894         * modules/ldexpl-tests: New file.
67895         * tests/test-ldexpl.c: New file.
67896
67897 2007-03-29  Bruno Haible  <bruno@clisp.org>
67898
67899         * lib/ldexpl.c: Include fpucw.h.
67900         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67901         multiplication.
67902         * modules/ldexpl (Depends-on): Add fpucw.
67903
67904 2007-03-29  Bruno Haible  <bruno@clisp.org>
67905
67906         * modules/ldexpl: New file.
67907         * m4/ldexpl.m4: New file.
67908         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67909         set.
67910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67911         REPLACE_LDEXPL.
67912         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67913         REPLACE_LDEXPL.
67914         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67915         gl_FUNC_LDEXPL_WORKS.
67916         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67917         * modules/mathl (Files): Remove lib/ldexpl.c.
67918         (Depends-on): Add ldexpl.
67919
67920 2007-03-29  Bruno Haible  <bruno@clisp.org>
67921
67922         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67923
67924 2007-03-29  Bruno Haible  <bruno@clisp.org>
67925
67926         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67927         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67928         and possibly also HP-UX.
67929         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67930         work on AIX, IRIX, HP-UX, OSF/1.
67931         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67932         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67933         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67934         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67935         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67936         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67937
67938 2007-03-29  Bruno Haible  <bruno@clisp.org>
67939
67940         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67941
67942 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67943
67944         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67945         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67946
67947 2007-03-29  Eric Blake  <ebb9@byu.net>
67948
67949         * lib/acl-internal.h: Remove redundant include.
67950         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67951         Cygwin when a file is locked.
67952
67953 2007-03-29  Bruno Haible  <bruno@clisp.org>
67954
67955         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67956         file.
67957         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67958
67959 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67960
67961         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67962         try to remove a parent directory if the child couldn't be removed
67963         (except for the first rmdir, which could fail because the child
67964         doesn't exist).  Problem reported by Jeff Blaine in
67965         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67966
67967 2007-03-28  Bruno Haible  <bruno@clisp.org>
67968
67969         * lib/striconveh.c (utf8conv_carefully): New function.
67970         (mem_cd_iconveh_internal): Invoke it.
67971
67972 2007-03-28  Bruno Haible  <bruno@clisp.org>
67973
67974         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67975         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67976         input.
67977         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67978         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67979         unistr/u8-uctomb.
67980
67981 2007-03-28  Bruno Haible  <bruno@clisp.org>
67982
67983         * modules/unistr/u8-mbtoucr: New file.
67984         * lib/unistr/u8-mbtoucr.c: New file.
67985         * modules/unistr/u16-mbtoucr: New file.
67986         * lib/unistr/u16-mbtoucr.c: New file.
67987         * modules/unistr/u16-mbtoucr: New file.
67988         * lib/unistr/u16-mbtoucr.c: New file.
67989         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67990
67991 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67992             Bruno Haible  <bruno@clisp.org>
67993
67994         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
67995         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
67996         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
67997
67998         * m4/stdio_h.m4: Add stubs for vasprintf too.
67999
68000         * modules/stdio: Support vasprintf in sed command.
68001
68002         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68003         vasprintf.h.  Add stdio module indicator.
68004
68005         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68006         vasprintf.h.
68007
68008         * lib/vasprintf.h: File removed.
68009
68010         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68011         * lib/vasprintf.c: Ditto.
68012         * lib/xvasprintf.c: Ditto.
68013         * tests/test-vasprintf-posix.c: Ditto.
68014         * tests/test-vasprintf.c: Ditto.
68015
68016 2007-03-27  Bruno Haible  <bruno@clisp.org>
68017
68018         Make vasnprintf multithread-safe.
68019         * lib/vasnprintf.c (decimal_point_char): New function.
68020         (VASNPRINTF): Use it.
68021         Suggested by Simon Josefsson.
68022
68023 2007-03-27  Eric Blake  <ebb9@byu.net>
68024
68025         Support sub-second birthtime on cygwin.
68026         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68027         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68028         (get_stat_birthtime): Also work with st_birthtim.
68029
68030 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68031
68032         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68033         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68034         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68035         (get_stat_birthtime_ns): Simplify compile-time tests.
68036         (get_stat_birthtime): Change the API to look like
68037         get_stat_mtime etc., except return a negative tv_nsec on error.
68038         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68039         Don't check for "spare" fields.
68040         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68041         or for struct stat.st_birthtime, as these tests aren't used.
68042         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68043
68044 2007-03-27  Bruno Haible  <bruno@clisp.org>
68045
68046         * lib/stat-time.h: Include <sys/stat.h>.
68047
68048 2007-03-27  James Youngman  <jay@gnu.org>
68049
68050         * lib/stat-time.h (get_stat_birthtime): New function for
68051           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68052         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68053           and its variants.
68054         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68055         * modules/stat-time-test: New file.
68056         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68057
68058 2007-03-26  Bruno Haible  <bruno@clisp.org>
68059
68060         Better support of signalling NaNs.
68061         * lib/atanl.c: Include isnanl.h.
68062         (atanl): Perform test for NaN at the beginning of the function and
68063         through a call to isnanl.
68064         * lib/cosl.c: Include isnanl.h.
68065         (cosl): Perform test for NaN at the beginning of the function and
68066         through a call to isnanl.
68067         * lib/ldexpl.c: Include isnanl.h.
68068         (ldexpl): Perform test for NaN through a call to isnanl.
68069         * lib/logl.c: Include isnanl.h.
68070         (logl): Perform test for NaN at the beginning of the function and
68071         through a call to isnanl.
68072         * lib/sinl.c: Include isnanl.h.
68073         (sinl): Perform test for NaN at the beginning of the function and
68074         through a call to isnanl.
68075         * lib/sqrtl.c: Include isnanl.h.
68076         (sqrtl): Perform test for NaN at the beginning of the function and
68077         through a call to isnanl.
68078         * lib/tanl.c: Include isnanl.h.
68079         (tanl): Perform test for NaN at the beginning of the function and
68080         through a call to isnanl.
68081         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68082         * modules/mathl (Depends-on): Add isnanl.
68083
68084 2007-03-26  Eric Blake  <ebb9@byu.net>
68085
68086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68087         regression in logic sense of previous patch.
68088
68089 2007-03-26  Bruno Haible  <bruno@clisp.org>
68090
68091         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68092         unportable shell command "if ! ...".
68093         Reported by Ralf Wildenhues.
68094
68095 2007-03-25  Bruno Haible  <bruno@clisp.org>
68096
68097         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68098         <sysexits.h> file, and only add EX_CONFIG.
68099         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68100         absolute file name and whether it is sufficient. Substitute also
68101         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68102         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68103         ABSOLUTE_SYSEXITS_H into sysexits.h.
68104
68105 2007-03-25  Bruno Haible  <bruno@clisp.org>
68106
68107         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68108         hints is NULL.
68109
68110 2007-03-25  Bruno Haible  <bruno@clisp.org>
68111
68112         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68113         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68114
68115 2007-03-25  Bruno Haible  <bruno@clisp.org>
68116
68117         * lib/vasnprintf.c: Include langinfo.h.
68118         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68119         multithread-safe.
68120         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68121         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68122         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68123         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68124         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68125         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68126         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68127         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68128         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68129         Reported by Simon Josefsson.
68130
68131 2007-03-25  Bruno Haible  <bruno@clisp.org>
68132
68133         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68134         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68135         * modules/vasnprintf (Depends-on): Add stdint.
68136
68137 2007-03-25  Bruno Haible  <bruno@clisp.org>
68138
68139         * modules/fpieee: New file.
68140         * m4/fpieee.m4: New file.
68141         * modules/isnan-nolibm (Depends-on): Add fpieee.
68142         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68143         * modules/isnanl (Depends-on): Add fpieee.
68144
68145 2007-03-25  Bruno Haible  <bruno@clisp.org>
68146
68147         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68148
68149 2007-03-25  Bruno Haible  <bruno@clisp.org>
68150
68151         Avoid test failures on IRIX 6.5.
68152         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68153         (main): Use it.
68154         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68155         macros.
68156         (main): Use them.
68157
68158 2007-03-25  Bruno Haible  <bruno@clisp.org>
68159
68160         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68161         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68162         exists but doesn't work.
68163         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68164         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68166         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68167         math.h.
68168
68169 2007-03-25  Bruno Haible  <bruno@clisp.org>
68170
68171         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68172         returns inf. Needed on IRIX 6.5.
68173
68174 2007-03-25  Bruno Haible  <bruno@clisp.org>
68175
68176         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68177         (main): Use isnanl instead of x != x idiom.
68178         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68179
68180         * tests/test-frexp.c: Include isnan.h.
68181         (main): Use isnan instead of x != x idiom.
68182         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68183
68184 2007-03-25  Bruno Haible  <bruno@clisp.org>
68185
68186         * tests/test-frexp.c (NaN): New function/macro.
68187         (main): Use it instead of 0.0 / 0.0.
68188         * tests/test-isnan.c (NaN): New function/macro.
68189         (main): Use it instead of 0.0 / 0.0.
68190         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68191         (test_function): Use it instead of 0.0 / 0.0.
68192         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68193         (test_function): Use it instead of 0.0 / 0.0.
68194         * tests/test-snprintf-posix.h (NaN): New function/macro.
68195         (test_function): Use it instead of 0.0 / 0.0.
68196         * tests/test-sprintf-posix.h (NaN): New function/macro.
68197         (test_function): Use it instead of 0.0 / 0.0.
68198         * tests/test-fprintf-posix.h (NaN): New function/macro.
68199         (test_function): Use it instead of 0.0 / 0.0.
68200         * tests/test-printf-posix.h (NaN): New function/macro.
68201         (test_function): Use it instead of 0.0 / 0.0.
68202
68203         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68204
68205 2007-03-25  Bruno Haible  <bruno@clisp.org>
68206
68207         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68208
68209 2007-03-25  Bruno Haible  <bruno@clisp.org>
68210
68211         * lib/regexec.c (merge_state_with_log): Make static.
68212
68213 2007-03-25  Bruno Haible  <bruno@clisp.org>
68214
68215         * lib/trigl.c (kernel_rem_pio2): Make static.
68216
68217 2007-03-25  Bruno Haible  <bruno@clisp.org>
68218
68219         * lib/sincosl.c (sincosl_table): Make static.
68220
68221 2007-03-25  Bruno Haible  <bruno@clisp.org>
68222
68223         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68224         if the compiler does not support C99.
68225
68226 2007-03-25  Bruno Haible  <bruno@clisp.org>
68227
68228         * modules/time (Makefile.am): Ensure all rule action lines start with a
68229         tab.
68230
68231 2007-03-24  Bruno Haible  <bruno@clisp.org>
68232
68233         * modules/tsearch-tests: New file.
68234         * tests/test-tsearch.sh: New file.
68235         * tests/test-tsearch.c: New file, mostly copied from glibc.
68236
68237         * modules/search-tests: New file.
68238         * tests/test-search.c: New file.
68239
68240         * modules/search: New file.
68241         * lib/search_.h: New file, incorporating lib/tsearch.h.
68242         * m4/search_h.m4: New file.
68243         * lib/tsearch.h: Remove file.
68244         * lib/tsearch.c: Include search.h instead of tsearch.h.
68245         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68246         HAVE_TSEARCH.
68247         * modules/tsearch (Files): Remove lib/tsearch.h.
68248         (Depends-on): Add search.
68249         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68250         (Include): Change tsearch.h into search.h.
68251
68252 2007-03-24  Bruno Haible  <bruno@clisp.org>
68253
68254         * modules/fpucw: New file.
68255         * lib/fpucw.h: New file.
68256         * lib/frexp.c: Include fpucw.h.
68257         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68258         (FUNC): Use them.
68259         * lib/printf-frexp.c: Include fpucw.h.
68260         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68261         (FUNC): Use them.
68262         * lib/vasnprintf.c: Include fpucw.h.
68263         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68264         'long double' calculations.
68265         * tests/test-frexpl.c: Include fpucw.h.
68266         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68267         * tests/test-printf-frexpl.c: Include fpucw.h.
68268         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68269         * modules/frexpl (Depends-on): Add fpucw.
68270         * modules/printf-frexpl (Depends-on): Likewise.
68271         * modules/fprintf-posix (Depends-on): Likewise.
68272         * modules/snprintf-posix (Depends-on): Likewise.
68273         * modules/sprintf-posix (Depends-on): Likewise.
68274         * modules/vasnprintf-posix (Depends-on): Likewise.
68275         * modules/vasprintf-posix (Depends-on): Likewise.
68276         * modules/vfprintf-posix (Depends-on): Likewise.
68277         * modules/vsnprintf-posix (Depends-on): Likewise.
68278         * modules/vsprintf-posix (Depends-on): Likewise.
68279         * modules/frexpl-tests (Depends-on): Likewise.
68280         * modules/printf-frexpl-tests (Depends-on): Likewise.
68281
68282 2007-03-24  Bruno Haible  <bruno@clisp.org>
68283
68284         * lib/float+.h: New file.
68285         * lib/isnan.c: Include float+.h.
68286         (SIZE): New macro.
68287         (FUNC): Compare only SIZE bytes of the value.
68288         * lib/vasnprintf.c: Include float+.h.
68289         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68290         SIZEOF_LDBL or SIZEOF_DBL bytes.
68291         * modules/isnan-nolibm (Files): Add lib/float+.h.
68292         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68293         * modules/isnanl (Files): Add lib/float+.h.
68294         * modules/vasnprintf (Files): Add lib/float+.h.
68295
68296 2007-03-24  Bruno Haible  <bruno@clisp.org>
68297
68298         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68299         include isnanl-nolibm.h.
68300
68301 2007-03-24  Bruno Haible  <bruno@clisp.org>
68302
68303         * tests/test-read-file.c (main): Don't produce spurious output for
68304         expected situations. Make the test fail if it encountered unexpected
68305         results.
68306
68307 2007-03-24  Bruno Haible  <bruno@clisp.org>
68308
68309         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68310         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68311
68312 2007-03-24  Bruno Haible  <bruno@clisp.org>
68313
68314         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68315
68316 2007-03-24  Bruno Haible  <bruno@clisp.org>
68317
68318         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68319         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68320
68321         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68322         * modules/utf8-ucs4: Turn into a symbolic link to module
68323         unistr/u8-mbtouc.
68324
68325         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68326         utf8-ucs4-unsafe.
68327         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68328         unistr/u8-mbtouc-unsafe.
68329
68330         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68331         * modules/utf16-ucs4: Turn into a symbolic link to module
68332         unistr/u16-mbtouc.
68333
68334         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68335         utf16-ucs4-unsafe.
68336         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68337         unistr/u16-mbtouc-unsafe.
68338
68339         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68340         * modules/ucs4-utf8: Turn into a symbolic link to module
68341         unistr/u8-ubtomb.
68342
68343         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68344         * modules/ucs4-utf16: Turn into a symbolic link to module
68345         unistr/u16-ubtomb.
68346
68347 2007-03-24  Bruno Haible  <bruno@clisp.org>
68348
68349         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68350         Enable the function only if HAVE_INLINE.
68351         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68352         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68353         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68354         Enable the function only if HAVE_INLINE.
68355         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68356         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68357         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68358         Enable the function only if HAVE_INLINE.
68359         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68360         Enable the function only if HAVE_INLINE.
68361         * modules/utf8-ucs4: Update.
68362         * modules/utf8-ucs4-unsafe: Update.
68363         * modules/utf16-ucs4: Update.
68364         * modules/utf16-ucs4-unsafe: Update.
68365         * modules/ucs4-utf8: Update.
68366         * modules/ucs4-utf16: Update.
68367
68368 2007-03-24  Bruno Haible  <bruno@clisp.org>
68369
68370         * lib/utf8-ucs4.h: Remove file.
68371         * lib/utf8-ucs4-unsafe.h: Remove file.
68372         * lib/utf16-ucs4.h: Remove file.
68373         * lib/utf16-ucs4-unsafe.h: Remove file.
68374         * lib/ucs4-utf8.h: Remove file.
68375         * lib/ucs4-utf16.h: Remove file.
68376         * lib/unistr.h: Include their previous contents.
68377         * m4/utf-ucs4.m4: Remove file.
68378         * m4/ucs4-utf.m4: Remove file.
68379         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68380         (Depends-on): Add unistr/base.
68381         (configure.ac): Remove gl_UTF_UCS4.
68382         (Makefile.am): Update.
68383         (Include): Change to unistr.h.
68384         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68385         (Depends-on): Add unistr/base.
68386         (configure.ac): Remove gl_UTF_UCS4.
68387         (Makefile.am): Update.
68388         (Include): Change to unistr.h.
68389         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68390         (Depends-on): Add unistr/base.
68391         (configure.ac): Remove gl_UTF_UCS4.
68392         (Makefile.am): Update.
68393         (Include): Change to unistr.h.
68394         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68395         (Depends-on): Add unistr/base.
68396         (configure.ac): Remove gl_UTF_UCS4.
68397         (Makefile.am): Update.
68398         (Include): Change to unistr.h.
68399         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68400         (Depends-on): Add unistr/base.
68401         (configure.ac): Remove gl_UCS4_UTF.
68402         (Makefile.am): Update.
68403         (Include): Change to unistr.h.
68404         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68405         (Depends-on): Add unistr/base.
68406         (configure.ac): Remove gl_UCS4_UTF.
68407         (Makefile.am): Update.
68408         (Include): Change to unistr.h.
68409         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68410         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68411         utf8-ucs4-unsafe.h.
68412         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68413         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68414         utf16-ucs4-unsafe.h.
68415         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68416         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68417         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68418         * lib/unistr/u8-strchr.c: Likewise.
68419         * lib/unistr/u8-strrchr.c: Likewise.
68420         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68421         * lib/unistr/u16-strchr.c: Likewise.
68422         * lib/unistr/u16-strrchr.c: Likewise.
68423         * lib/striconveh.c: Update.
68424         * lib/linebreak.c: Update.
68425
68426 2007-03-24  Bruno Haible  <bruno@clisp.org>
68427
68428         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68429         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68430
68431 2007-03-22  Bruno Haible  <bruno@clisp.org>
68432
68433         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68434
68435 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68436
68437         * MODULES.html.sh (File system functions): New module write-any-file.
68438         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68439         * m4/write-any-file.m4: New files.
68440
68441 2007-03-23  Eric Blake  <ebb9@byu.net>
68442
68443         * gnulib-tool: Rearrange space-tab sequences, since some editors
68444         like to eat them.
68445
68446 2007-03-23  Eric Blake  <ebb9@byu.net>
68447
68448         * lib/version-etc.c (version_etc_va): Update license wording to
68449         be more concise.  Recommended by Richard Stallman.
68450
68451 2007-03-22  Bruno Haible  <bruno@clisp.org>
68452
68453         * lib/poll.c (MSG_PEEK): New fallback definition.
68454
68455 2007-03-22  Bruno Haible  <bruno@clisp.org>
68456
68457         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68458         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68459         (main): Update.
68460         Fixes a compilation error on BeOS.
68461
68462 2007-03-22  Bruno Haible  <bruno@clisp.org>
68463
68464         * modules/frexpl-tests: New file.
68465         * tests/test-frexpl.c: New file.
68466
68467         * modules/frexpl: New file.
68468         * m4/frexpl.m4: New file.
68469         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68470         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68472         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68473         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68474         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68475
68476 2007-03-22  Bruno Haible  <bruno@clisp.org>
68477
68478         * lib/frexpl.c: Share code with lib/frexp.c.
68479         * modules/mathl (Files): Add lib/frexp.c.
68480         (Depends-on): Add isnanl-nolibm.
68481
68482 2007-03-22  Bruno Haible  <bruno@clisp.org>
68483
68484         * modules/printf-frexp (Files): Add m4/frexp.m4.
68485         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68486         only if the found frexp function actually works.
68487
68488 2007-03-22  Bruno Haible  <bruno@clisp.org>
68489
68490         * lib/frexp.c: Remove older implementation that uses divisions.
68491
68492 2007-03-21  Bruno Haible  <bruno@clisp.org>
68493
68494         * modules/frexp-tests: New file.
68495         * tests/test-frexp.c: New file.
68496
68497         * modules/frexp: New file.
68498         * lib/frexp.c: New file.
68499         * m4/frexp.m4: New file.
68500         * lib/math_.h (frexp): New declaration.
68501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68502         REPLACE_FREXP.
68503         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68504
68505 2007-03-21  Bruno Haible  <bruno@clisp.org>
68506
68507         * modules/isnanl-tests: New file.
68508         * tests/test-isnanl.c: New file.
68509
68510         * modules/isnanl: New file.
68511         * lib/isnanl.h: New file.
68512         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68513         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68514         gl_FUNC_ISNANL_WORKS.
68515         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68516         New macros.
68517
68518 2007-03-21  Bruno Haible  <bruno@clisp.org>
68519
68520         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68521         lib/isnanl.h.
68522         (Include): Update.
68523         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68524         * lib/vasnprintf.c: Update.
68525         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68526         tests/test-isnanl.h, remove tests/test-isnanl.c.
68527         (Makefile.am): Update.
68528         * tests/test-isnanl-nolibm.c: New file.
68529         * tests/test-isnanl.h: New file.
68530         * tests/test-isnanl.c: Remove file.
68531
68532 2007-03-21  Jim Meyering  <jim@meyering.net>
68533
68534         When trying to open ".", treat ESTALE like EACCES.
68535         * lib/savewd.c (savewd_save): Resort to forking not just upon
68536         failure with EACCES, but also when errno is ESTALE.
68537
68538 2007-03-20  Bruno Haible  <bruno@clisp.org>
68539
68540         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68541         Needed on AIX 5.1. Reported by Matthew Woehlke.
68542
68543 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         Suggestions by Bruno Haible:
68546         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68547         our own.
68548         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68549         * modules/acl (Depends-on): Add gettext.
68550
68551 2007-03-19  Bruno Haible  <bruno@clisp.org>
68552
68553         * modules/iconvme: Remove file.
68554         * lib/iconvme.h: Remove file.
68555         * lib/iconvme.c: Remove file.
68556         * m4/iconvme.m4: Remove file.
68557
68558 2007-03-19  Bruno Haible  <bruno@clisp.org>
68559
68560         * doc/relocatable-maint.texi: Break long shell script line.
68561         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68562
68563 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68564
68565         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68566         handle file_has_acl.
68567         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68568         * lib/acl.c: Move header inclusions and related macro defns into
68569         lib/acl-internal.h.
68570         (S_ISLNK): Remove defn, since that's now done for us.
68571         (file_has_acl): Move to lib/file-has-acl.c.
68572         Call acl_trivial if available.  This is the crucial part of the fix.
68573         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68574         shared within the library.  Rewrite a bit, partly to make it compatible
68575         with the GNU coding style.
68576         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68577         Remove unnecessary double-quotes.
68578         Don't test for acl_to_text; the build will catch that.
68579         Replace acl_entries if it doesn't exist and it is needed.
68580         Check for -lsec and acl_trivial (as used on Solaris 10).
68581         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68582         lib/file-has-acl.c.
68583         (Depends-on): Add sys_stat, for S_ISLNK.
68584
68585 2007-03-19  Ben Pfaff  <blp@gnu.org>
68586
68587         * doc/gnulib.texi: Fix typos.
68588         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68589
68590 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68591
68592         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68593         If size is zero here, buf must be zero.
68594
68595 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68596
68597         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68598         <bruno@clisp.org>.
68599
68600 2007-03-18  Bruno Haible  <bruno@clisp.org>
68601
68602         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68603         Suggested by Eric Blake.
68604
68605 2007-03-18  Ben Pfaff  <blp@gnu.org>
68606
68607         * doc/relocatable.texi: Recommend using as prefix a directory
68608         that does not exist and will never be created.  Based on
68609         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68610         and others.
68611
68612 2007-03-17  Bruno Haible  <bruno@clisp.org>
68613
68614         * lib/fchownat.c: Include lchown.h.
68615
68616 2007-03-17  Bruno Haible  <bruno@clisp.org>
68617
68618         Fix endless loop when the given allocated size was > INT_MAX.
68619         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68620         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68621         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68622         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68623         * lib/sprintf.c (sprintf): Likewise.
68624
68625 2007-03-17  Bruno Haible  <bruno@clisp.org>
68626
68627         * tests/test-argp-2.sh (func_compare): Output a context diff.
68628
68629 2007-03-17  Bruno Haible  <bruno@clisp.org>
68630
68631         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68632         locale's decimal-point character.
68633
68634 2007-03-17  Bruno Haible  <bruno@clisp.org>
68635
68636         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68637         before comparing it. Needed because on some platforms (e.g. x86) a
68638         'long double' occupies less bytes than sizeof (long double).
68639
68640 2007-03-17  Bruno Haible  <bruno@clisp.org>
68641
68642         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68643         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68644         * tests/test-getaddrinfo.c (simple): Likewise.
68645         * tests/test-read-file.c (main): Likewise.
68646
68647 2007-03-17  Bruno Haible  <bruno@clisp.org>
68648
68649         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68650
68651 2007-03-17  Bruno Haible  <bruno@clisp.org>
68652
68653         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68654         unused variable.
68655
68656 2007-03-17  Bruno Haible  <bruno@clisp.org>
68657
68658         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68659         * tests/test-c-strncasecmp.c: Likewise.
68660
68661 2007-03-17  Bruno Haible  <bruno@clisp.org>
68662
68663         * modules/stdlib (Depends-on): Add unistd.
68664         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
68665         Needed for MacOS X 10.3.
68666
68667 2007-03-17  Bruno Haible  <bruno@clisp.org>
68668
68669         * lib/unistr/u-strdup.h: Include <stdlib.h>.
68670
68671 2007-03-17  Bruno Haible  <bruno@clisp.org>
68672
68673         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
68674
68675 2007-03-17  Bruno Haible  <bruno@clisp.org>
68676
68677         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
68678         to reflect files copied from gnulib (with or without modifications).
68679         Suggested by Jim Meyering.
68680
68681 2007-03-17  Eric Blake  <ebb9@byu.net>
68682
68683         * NEWS: Document stdlib change from 2007-02-18.
68684
68685 2007-03-17  Jim Meyering  <jim@meyering.net>
68686
68687         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68688         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68689         someone uses a name containing shell meta-characters.
68690         Reported by Alfred M. Szmidt.
68691
68692         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68693
68694 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68695
68696         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68697         and copy gettext configuration files only if configure.ac contains
68698         a use of AM_GNU_GETTEXT_VERSION.
68699
68700 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68701
68702         * build-aux/bootstrap (gnulib_name): New variable.
68703         (gnulib_tool_options): Use it.
68704
68705 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68706
68707         * tests/test-des.c: Use new namespace.
68708
68709 2007-03-15  Bruno Haible  <bruno@clisp.org>
68710
68711         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68712         Reported by James Youngman <jay@gnu.org>.
68713
68714 2007-03-15  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68717         declared prototype. Needed with cc on OSF/1 5.1.
68718
68719 2007-03-15  Bruno Haible  <bruno@clisp.org>
68720
68721         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68722         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68723         (struct gl_list_implementation): Add dispose_fn argument to the
68724         'create_empty', 'create' methods.
68725         (struct gl_list_impl_base): Add field 'dispose_fn'.
68726         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68727         argument.
68728         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68729         dispose_fn argument.
68730         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68731         dispose_fn on the dropped values.
68732         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68733         dispose_fn argument.
68734         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68735         dropped values.
68736         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68737         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68738         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68739         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68740         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68741         argument.
68742         (gl_tree_list_free): Call dispose_fn on the dropped values.
68743         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68744         the dropped values.
68745         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68746         Add dispose_fn argument.
68747         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68748         Call dispose_fn on the dropped values.
68749         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68750         Add dispose_fn argument.
68751         (gl_sublist_create): Initialize the 'dispose_fn' field.
68752         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68753         * tests/test-array_list.c (main): Update.
68754         * tests/test-carray_list.c (main): Update.
68755         * tests/test-avltree_list.c (main): Update.
68756         * tests/test-rbtree_list.c (main): Update.
68757         * tests/test-avltreehash_list.c (main): Update.
68758         * tests/test-rbtreehash_list.c (main): Update.
68759         * tests/test-linked_list.c (main): Update.
68760         * tests/test-linkedhash_list.c (main): Update.
68761         * tests/test-array_oset.c (main): Update.
68762
68763 2007-03-15  Bruno Haible  <bruno@clisp.org>
68764
68765         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68766         (gl_oset_create_empty): Add dispose_fn argument.
68767         (struct gl_oset_implementation): Add dispose_fn argument to
68768         'create_empty' method.
68769         (struct gl_oset_impl_base): Add dispose_fn field.
68770         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68771         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68772         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68773         values.
68774         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68775         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68776         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68777         dropped value.
68778         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68779         dropped value.
68780         * tests/test-array_oset.c (main): Update.
68781         * tests/test-avltree_oset.c (main): Update.
68782         * tests/test-rbtree_oset.c (main): Update.
68783         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68784
68785 2007-03-13  Bruno Haible  <bruno@clisp.org>
68786
68787         * tests/test-stdbool.c (i): Update after last patch.
68788
68789 2007-03-12  Bruno Haible  <bruno@clisp.org>
68790
68791         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68792         the iswprint macro. Needed on Solaris 2.5.1.
68793
68794 2007-03-12  Bruno Haible  <bruno@clisp.org>
68795
68796         * tests/test-printf-frexp.c (main): Declare x as volatile.
68797
68798 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68799
68800         * doc/gnulib.texi (Build robot for gnulib): New section.
68801
68802 2007-03-12  Jim Meyering  <jim@meyering.net>
68803
68804         * build-aux/bootstrap: New file.
68805         * build-aux/bootstrap.conf: New file, from coreutils.
68806
68807 2007-03-11  Bruno Haible  <bruno@clisp.org>
68808
68809         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68810
68811 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68812
68813         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68814         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68815         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68816
68817 2007-03-11  Bruno Haible  <bruno@clisp.org>
68818
68819         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68820         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68821
68822 2007-03-11  Bruno Haible  <bruno@clisp.org>
68823
68824         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68825         formula. Needed for SunPRO C 5.0.
68826
68827 2007-03-11  Bruno Haible  <bruno@clisp.org>
68828
68829         * modules/long-options (Depends-on): Add getopt.
68830
68831 2007-03-11  Bruno Haible  <bruno@clisp.org>
68832
68833         * modules/modechange (Depends-on): Add stdbool.
68834
68835 2007-03-11  Bruno Haible  <bruno@clisp.org>
68836
68837         * modules/i-ring (Depends-on): Add stdbool.
68838
68839 2007-03-11  Bruno Haible  <bruno@clisp.org>
68840
68841         * modules/gc-des (Depends-on): Add stdbool.
68842
68843 2007-03-11  Bruno Haible  <bruno@clisp.org>
68844
68845         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68846
68847 2007-03-11  Bruno Haible  <bruno@clisp.org>
68848
68849         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68850
68851 2007-03-11  Bruno Haible  <bruno@clisp.org>
68852
68853         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68854
68855 2007-03-11  Bruno Haible  <bruno@clisp.org>
68856
68857         * lib/vasnprintf.c (sprintf): Undefine.
68858
68859 2007-03-11  Bruno Haible  <bruno@clisp.org>
68860
68861         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68862         initializers in SunPRO C and Compaq C compilers.
68863
68864 2007-03-11  Bruno Haible  <bruno@clisp.org>
68865
68866         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68867         decrementing code ANSI C compliant.
68868
68869 2007-03-11  Bruno Haible  <bruno@clisp.org>
68870
68871         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68872         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68873
68874 2007-03-11  Bruno Haible  <bruno@clisp.org>
68875
68876         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68877         <stdbool.h> substitute doesn't pass.
68878
68879 2007-03-11  Bruno Haible  <bruno@clisp.org>
68880
68881         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68882
68883 2007-03-11  Bruno Haible  <bruno@clisp.org>
68884
68885         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68886         script, for submission to autobuild.josefsson.org.
68887
68888 2007-03-10  Bruno Haible  <bruno@clisp.org>
68889
68890         * modules/canonicalize-lgpl-tests: New file.
68891         * tests/test-canonicalize-lgpl.sh: New file.
68892         * tests/test-canonicalize-lgpl.c: New file.
68893
68894         * modules/c-strcase-tests: New file.
68895         * tests/test-c-strcase.sh: New file.
68896         * tests/test-c-strcasecmp.c: New file.
68897         * tests/test-c-strncasecmp.c: New file.
68898
68899         * modules/atexit-tests: New file.
68900         * tests/test-atexit.sh: New file.
68901         * tests/test-atexit.c: New file.
68902
68903 2007-03-10  Bruno Haible  <bruno@clisp.org>
68904
68905         * tests/test-binary-io.sh: Use temporary filenames that are not so
68906         likely to clash with those of other tests (in a parallel make).
68907         * tests/test-binary-io.c: Likewise.
68908
68909 2007-03-10  Bruno Haible  <bruno@clisp.org>
68910
68911         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68912         fallback; use #error instead.
68913         Suggested by Simon Josefsson.
68914
68915 2007-03-10  Bruno Haible  <bruno@clisp.org>
68916
68917         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68918         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68919         first and the last.
68920
68921 2007-03-10  Bruno Haible  <bruno@clisp.org>
68922
68923         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68924
68925 2007-03-10  Bruno Haible  <bruno@clisp.org>
68926
68927         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68928         "make distcheck".
68929         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68930         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68931         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68932
68933 2007-03-10  Bruno Haible  <bruno@clisp.org>
68934
68935         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68936         variable.
68937         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68938         variable.
68939
68940 2007-03-09  Eric Blake  <ebb9@byu.net>
68941         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68942
68943         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68944         types are not being provided by gnulib.
68945         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68946         types are supported.
68947
68948 2007-03-10  Bruno Haible  <bruno@clisp.org>
68949
68950         * lib/stdio_.h (__attribute__): New macro.
68951         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68952         vsprintf): Specify __attribute__ __format__ for GCC.
68953         Suggested by Eric Blake.
68954
68955 2007-03-09  Bruno Haible  <bruno@clisp.org>
68956
68957         * modules/printf-posix-tests: New file.
68958         * tests/test-printf-posix.sh: New file.
68959         * tests/test-printf-posix.c: New file.
68960
68961         * modules/printf-posix: New file.
68962         * lib/printf.c: New file.
68963         * m4/printf-posix-rpl.m4: New file.
68964         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68965         REPLACE_PRINTF.
68966         * lib/stdio_.h (printf): New declaration.
68967         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68968         ____strfmon____): New macros.
68969         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68970         REPLACE_PRINTF.
68971
68972 2007-03-09  Bruno Haible  <bruno@clisp.org>
68973
68974         * tests/test-vasnprintf-posix2.sh: New file.
68975         * tests/test-vasnprintf-posix2.c: New file.
68976         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68977         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68978         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68979
68980         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68981         a locale dependent decimal point, rather than always '.'.
68982
68983 2007-03-09  Eric Blake  <ebb9@byu.net>
68984
68985         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68986         spite of platforms like Tandem/NSK that define it to -1.
68987
68988 2007-03-08  Bruno Haible  <bruno@clisp.org>
68989
68990         * modules/vprintf-posix-tests: New file.
68991         * tests/test-vprintf-posix.sh: New file.
68992         * tests/test-vprintf-posix.c: New file.
68993         * tests/test-printf-posix.h: New file.
68994
68995         * modules/vprintf-posix: New file.
68996         * lib/vprintf.c: New file.
68997         * m4/vprintf-posix.m4: New file.
68998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
68999         REPLACE_VPRINTF.
69000         * lib/stdio_.h (vprintf): New declaration.
69001         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69002         REPLACE_VPRINTF.
69003
69004 2007-03-08  Bruno Haible  <bruno@clisp.org>
69005
69006         * modules/fprintf-posix-tests: New file.
69007         * tests/test-fprintf-posix.sh: New file.
69008         * tests/test-fprintf-posix.c: New file.
69009
69010         * modules/fprintf-posix: New file.
69011         * lib/fprintf.c: New file.
69012         * m4/fprintf-posix.m4: New file.
69013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69014         REPLACE_FPRINTF.
69015         * lib/stdio_.h (fprintf): New declaration.
69016         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69017         REPLACE_FPRINTF.
69018
69019 2007-03-08  Bruno Haible  <bruno@clisp.org>
69020
69021         * modules/vfprintf-posix-tests: New file.
69022         * tests/test-vfprintf-posix.sh: New file.
69023         * tests/test-vfprintf-posix.c: New file.
69024         * tests/test-fprintf-posix.h: New file.
69025         * tests/test-fprintf-posix.out: New file.
69026
69027         * modules/vfprintf-posix: New file.
69028         * lib/vfprintf.c: New file.
69029         * m4/vfprintf-posix.m4: New file.
69030         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69031         REPLACE_VFPRINTF.
69032         * lib/stdio_.h (vfprintf): New declaration.
69033         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69034         REPLACE_VFPRINTF.
69035
69036 2007-03-08  Bruno Haible  <bruno@clisp.org>
69037
69038         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69039
69040 2007-03-08  Bruno Haible  <bruno@clisp.org>
69041
69042         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69043         instead of 'expr' invocations.
69044         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69045         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69046         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69047         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69048         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69049         Suggested by Paul Eggert.
69050
69051 2007-03-08  Bruno Haible  <bruno@clisp.org>
69052
69053         * modules/fseterr-tests: New file.
69054         * tests/test-fseterr.c: New file.
69055
69056         * modules/fseterr: New file.
69057         * lib/fseterr.h: New file.
69058         * lib/fseterr.c: New file.
69059
69060 2007-03-08  Bruno Haible  <bruno@clisp.org>
69061
69062         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69063         * lib/getopt_.h: Likewise.
69064         * lib/mbswidth.h: Likewise.
69065         * lib/setenv.h: Likewise.
69066         * lib/vasnprintf.h: Likewise.
69067         * lib/vasprintf.h: Likewise.
69068         * lib/verror.h: Likewise.
69069         * lib/xsetenv.h: Likewise.
69070         * lib/xvasprintf.h: Likewise.
69071
69072 2007-03-08  Jim Meyering  <jim@meyering.net>
69073
69074         * users.txt: Add parted.
69075
69076         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69077
69078 2007-03-07  Bruno Haible  <bruno@clisp.org>
69079
69080         * m4/printf.m4: Make the shell script snippets copy&pastable.
69081
69082 2007-03-02  Bruno Haible  <bruno@clisp.org>
69083
69084         * lib/netinet_in_.h: New file.
69085         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69086         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69087         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69088         (Depends-on): Add absolute-header.
69089         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69090         into netinet/in.h.
69091
69092 2007-03-03  Bruno Haible  <bruno@clisp.org>
69093
69094         * lib/sys_select_.h: New file.
69095         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69096         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69097         * modules/sys_select (Files): Add lib/sys_select_.h.
69098         (Depends-on): Add absolute-header.
69099         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69100         into sys/select.h.
69101
69102 2007-03-02  Bruno Haible  <bruno@clisp.org>
69103
69104         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69105         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69106         values.
69107         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69108         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69109         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69110         * modules/sys_socket (Depends-on): Add absolute-header.
69111         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69112         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69113         (Include): Remove requirement of inclusion of <sys/types.h>.
69114
69115 2007-03-02  Bruno Haible  <bruno@clisp.org>
69116
69117         * lib/byteswap_.h (bswap_32): Fix formula.
69118
69119 2007-03-06  Bruno Haible  <bruno@clisp.org>
69120
69121         * modules/sprintf-posix-tests: New file.
69122         * tests/test-sprintf-posix.c: New file.
69123
69124         * modules/sprintf-posix: New file.
69125         * lib/sprintf.c: New file.
69126         * m4/sprintf-posix.m4: New file.
69127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69128         REPLACE_SPRINTF.
69129         * lib/stdio_.h (sprintf): New declaration.
69130         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69131         REPLACE_SPRINTF.
69132
69133 2007-03-06  Bruno Haible  <bruno@clisp.org>
69134
69135         * modules/vsprintf-posix-tests: New file.
69136         * tests/test-vsprintf-posix.c: New file.
69137         * tests/test-sprintf-posix.h: New file.
69138
69139         * modules/vsprintf-posix: New file.
69140         * lib/vsprintf.c: New file.
69141         * m4/vsprintf-posix.m4: New file.
69142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69143         REPLACE_VSPRINTF.
69144         * lib/stdio_.h (vsprintf): New declaration.
69145         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69146         REPLACE_VSPRINTF.
69147
69148 2007-03-06  Bruno Haible  <bruno@clisp.org>
69149
69150         * modules/vsnprintf (Depend-on): Remove minmax.
69151
69152 2007-03-06  Bruno Haible  <bruno@clisp.org>
69153
69154         * modules/snprintf-posix-tests: New file.
69155         * tests/test-snprintf-posix.c: New file.
69156
69157         * modules/snprintf-posix: New file.
69158         * m4/snprintf-posix.m4: New file.
69159         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69160         gl_FUNC_SNPRINTF.
69161         (gl_FUNC_SNPRINTF): Invoke it.
69162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69163         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69164         is set.
69165         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69166
69167 2007-03-06  Bruno Haible  <bruno@clisp.org>
69168
69169         * modules/vsnprintf-posix-tests: New file.
69170         * tests/test-vsnprintf-posix.c: New file.
69171         * tests/test-snprintf-posix.h: New file.
69172
69173         * modules/vsnprintf-posix: New file.
69174         * m4/vsnprintf-posix.m4: New file.
69175         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69176         gl_FUNC_VSNPRINTF.
69177         (gl_FUNC_VSNPRINTF): Invoke it.
69178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69179         * lib/stdio_.h (vsnprintf): Define as a replacement if
69180         REPLACE_VSNPRINTF is set.
69181         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69182
69183 2007-03-06  Bruno Haible  <bruno@clisp.org>
69184
69185         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69186         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69187
69188 2007-03-06  Bruno Haible  <bruno@clisp.org>
69189
69190         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69191         (asinl): Declare also if HAVE_DECL_ASINL is set.
69192         (atanl): Declare also if HAVE_DECL_ATANL is set.
69193         (ceill): Declare also if HAVE_DECL_CEILL is set.
69194         (cosl): Declare also if HAVE_DECL_COSL is set.
69195         (expl): Declare also if HAVE_DECL_EXPL is set.
69196         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69197         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69198         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69199         (logl): Declare also if HAVE_DECL_LOGL is set.
69200         (sinl): Declare also if HAVE_DECL_SINL is set.
69201         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69202         (tanl): Declare also if HAVE_DECL_TANL is set.
69203         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69205         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69206         declaration of frexpl, ldexpl.
69207         * modules/printf-frexpl (Depends-on): Add math.
69208         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69209
69210 2007-03-05  Bruno Haible  <bruno@clisp.org>
69211
69212         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69213         frexpl and ldexpl are declared.
69214         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69215
69216 2007-03-05  Bruno Haible  <bruno@clisp.org>
69217
69218         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69219         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69220
69221 2007-03-05  Bruno Haible  <bruno@clisp.org>
69222
69223         * lib/stdio_.h: Include <stddef.h>.
69224
69225 2007-03-05  Bruno Haible  <bruno@clisp.org>
69226
69227         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69228
69229 2007-03-05  Bruno Haible  <bruno@clisp.org>
69230
69231         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69232         NetBSD 4, from Ralf Wildenhues.
69233
69234 2007-03-04  Bruno Haible  <bruno@clisp.org>
69235
69236         * lib/vasprintf.h: Update #if logic for the case when the functions
69237         exist but are overridden.
69238
69239 2007-03-04  Bruno Haible  <bruno@clisp.org>
69240
69241         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69242         implementations: glibc-2.4 and MacOS X 10.3.
69243         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69244         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69245         * tests/test-vasprintf-posix.c (test_function): Likewise.
69246
69247 2007-03-04  Bruno Haible  <bruno@clisp.org>
69248
69249         * modules/vasprintf-posix-tests: New file.
69250         * tests/test-vasprintf-posix.c: New file.
69251
69252         * modules/vasprintf-posix: New file.
69253         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69254         defined.
69255         * m4/vasprintf-posix.m4: New file.
69256         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69257         gl_FUNC_VASPRINTF.
69258         (gl_FUNC_VASPRINTF): Invoke it.
69259         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69260         here.
69261         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69262
69263 2007-03-04  Bruno Haible  <bruno@clisp.org>
69264
69265         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69266         REPLACE_GETTIMEOFDAY.
69267         * modules/sys_time (Makefile.am): Likewise.
69268         * m4/sys_time_h.m4: Likewise.
69269         * m4/gettimeofday.m4: Likewise.
69270
69271 2007-03-04  Bruno Haible  <bruno@clisp.org>
69272
69273         * modules/vasnprintf-posix-tests: New file.
69274         * tests/test-vasnprintf-posix.c: New file.
69275
69276         * modules/vasnprintf-posix: New file.
69277         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69278         printf-frexpl.h.
69279         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69280         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69281         REPLACE_VASNPRINTF is defined.
69282         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69283         gl_FUNC_VASNPRINTF.
69284         (gl_FUNC_VASNPRINTF): Invoke it.
69285         * m4/vasnprintf-posix.m4: New file.
69286         * m4/printf.m4: New file.
69287
69288 2007-03-04  Bruno Haible  <bruno@clisp.org>
69289
69290         Compile progreloc.c only if --enable-relocatable is specified.
69291         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69292         if --enable-relocatable was specified.
69293         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69294         lib_SOURCES.
69295
69296 2007-03-04  Jim Meyering  <jim@meyering.net>
69297
69298         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69299         Use it consistently, rather than enumerating errno constants.
69300
69301 2007-03-04  Bruno Haible  <bruno@clisp.org>
69302
69303         * modules/xvasprintf-tests: New file.
69304         * tests/test-xvasprintf.c: New file.
69305
69306         * modules/vasprintf-tests: New file.
69307         * tests/test-vasprintf.c: New file.
69308
69309         * modules/vasnprintf-tests: New file.
69310         * tests/test-vasnprintf.c: New file.
69311
69312         * modules/vsnprintf-tests: New file.
69313         * tests/test-vsnprintf.c: New file.
69314
69315         * modules/snprintf-tests: New file.
69316         * tests/test-snprintf.c: New file.
69317
69318 2007-03-04  Bruno Haible  <bruno@clisp.org>
69319
69320         Compile relocatable.c only if --enable-relocatable is specified.
69321         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69322         gl_RELOCATABLE_LIBRARY.
69323         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69324         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69325         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69326         gl_RELOCATABLE_LIBRARY.
69327         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69328         (Makefile.am): Remove lib_SOURCES.
69329         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69330         gl_RELOCATABLE_LIBRARY.
69331         (Makefile.am): Remove lib_SOURCES.
69332         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69333         always.
69334         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69335         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69336
69337 2007-03-04  Bruno Haible  <bruno@clisp.org>
69338
69339         * modules/argmatch-tests: New file.
69340         * tests/test-argmatch.c: New file.
69341
69342         * tests/test-allocsa.c (main): Halve the number of loop runs.
69343
69344         * modules/alloca-opt-tests: New file.
69345         * tests/test-alloca-opt.c: New file.
69346
69347 2007-03-04  Jim Meyering  <jim@meyering.net>
69348
69349         Work around difference between Linux ACLs and Solaris 10 ZFS.
69350         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69351         for EINVAL.
69352
69353 2007-03-03  Bruno Haible  <bruno@clisp.org>
69354
69355         * modules/relocatable-prog (Depends-on): Add back progreloc's
69356         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69357
69358 2007-03-03  Bruno Haible  <bruno@clisp.org>
69359
69360         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69361         * modules/relocatable-lib: New file.
69362
69363 2007-03-03  Bruno Haible  <bruno@clisp.org>
69364
69365         * modules/relocatable-prog: Renamed from modules/relocatable.
69366         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69367
69368 2007-03-03  Bruno Haible  <bruno@clisp.org>
69369
69370         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69371         m4/relocatable-lib.m4.
69372         (Depends-on): Remove 'relocatable'.
69373         (configure.ac): Add gl_RELOCATABLE_NOP.
69374
69375 2007-03-03  Bruno Haible  <bruno@clisp.org>
69376
69377         * modules/relocatable-prog-wrapper: New file.
69378         * modules/relocatable (Depends-on): Add it. Remove all other
69379         dependencies except progname.
69380         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69381
69382         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69383         (gl_FUNC_STRERROR): Nop.
69384         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69385
69386         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69387         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69388
69389         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69390         (gl_FUNC_READLINK): Update.
69391
69392         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69393
69394 2007-03-03  Bruno Haible  <bruno@clisp.org>
69395
69396         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69397         * modules/xreadlink (Depends-on): Add unistd.
69398         * modules/xreadlink-with-size (Depends-on): Likewise.
69399
69400 2007-03-03  Bruno Haible  <bruno@clisp.org>
69401
69402         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69403         extracted from gt_FUNC_SETENV.
69404         (gt_FUNC_SETENV): Remove macro.
69405         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69406         remove gt_FUNC_SETENV.
69407
69408 2007-03-03  Bruno Haible  <bruno@clisp.org>
69409
69410         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69411         ENABLE_RELOCATABLE here.
69412         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69413
69414 2007-03-03  Bruno Haible  <bruno@clisp.org>
69415
69416         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69417         * tests/test-rbtreehash_list.c: Include progname.h.
69418         (main): Call set_program_name.
69419
69420         * modules/rbtree-oset-tests (Depends-on): Add progname.
69421         * tests/test-rbtree_oset.c: Include progname.h.
69422         (main): Call set_program_name.
69423
69424         * modules/rbtree-list-tests (Depends-on): Add progname.
69425         * tests/test-rbtree_list.c: Include progname.h.
69426         (main): Call set_program_name.
69427
69428         * modules/linked-list-tests (Depends-on): Add progname.
69429         * tests/test-linked_list.c: Include progname.h.
69430         (main): Call set_program_name.
69431
69432 2007-03-03  Bruno Haible  <bruno@clisp.org>
69433
69434         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69435         All uses of __restrict changed to _Restrict_.
69436         * lib/glob_.h (__restrict): Remove macro.
69437
69438 2007-03-02  Bruno Haible  <bruno@clisp.org>
69439
69440         * modules/gettext (configure.ac): Require gettext infrastructure
69441         from version 0.16.1.
69442
69443 2007-03-02  Bruno Haible  <bruno@clisp.org>
69444
69445         * modules/linkedhash-list-tests (Depends-on): Add progname.
69446         * tests/test-linkedhash_list.c: Include progname.h.
69447         (main): Call set_program_name.
69448
69449         * modules/carray-list-tests (Depends-on): Add progname.
69450         * tests/test-carray_list.c: Include progname.h.
69451         (main): Call set_program_name.
69452
69453         * modules/avltreehash-list-tests (Depends-on): Add progname.
69454         * tests/test-avltreehash_list.c: Include progname.h.
69455         (main): Call set_program_name.
69456
69457         * modules/avltree-oset-tests (Depends-on): Add progname.
69458         * tests/test-avltree_oset.c: Include progname.h.
69459         (main): Call set_program_name.
69460
69461         * modules/avltree-list-tests (Depends-on): Add progname.
69462         * tests/test-avltree_list.c: Include progname.h.
69463         (main): Call set_program_name.
69464
69465         * modules/array-oset-tests (Depends-on): Add progname.
69466         * tests/test-array_oset.c: Include progname.h.
69467         (main): Call set_program_name.
69468
69469         * modules/array-list-tests (Depends-on): Add progname.
69470         * tests/test-array_list.c: Include progname.h.
69471         (main): Call set_program_name.
69472
69473         * modules/argp-tests (Depends-on): Add progname.
69474         * tests/test-argp.c: Include argp.h first. Include progname.h.
69475         (main): Call set_program_name.
69476
69477 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69478
69479         * doc/gnulib-tool.texi (Initial import): Reword description of
69480         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69481         limited effect even if defined after the first system include.
69482
69483 2007-03-01  Bruno Haible  <bruno@clisp.org>
69484
69485         * build-aux/config.libpath: Update to libtool-1.5.22.
69486         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69487
69488 2007-03-01  Bruno Haible  <bruno@clisp.org>
69489
69490         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69491         foo_CFLAGS.
69492         Reported by Ralf Wildenhues.
69493
69494 2007-03-01  Bruno Haible  <bruno@clisp.org>
69495
69496         * build-aux/install-reloc: Remove object files left over by some
69497         compilers.
69498         Reported by Ralf Wildenhues.
69499
69500 2007-03-01  Bruno Haible  <bruno@clisp.org>
69501
69502         * build-aux/install-reloc: Break long lines.
69503
69504 2007-03-01  Bruno Haible  <bruno@clisp.org>
69505
69506         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69507         Reported by Ralf Wildenhues.
69508
69509 2007-03-01  Bruno Haible  <bruno@clisp.org>
69510
69511         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69512         include ordering constraints.
69513
69514 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69515
69516         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69517         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69518         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69519         as another example.
69520         * lib/time_.h: Fix misspelling.
69521         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69522         Require gl_HEADER_TIME_H_DEFAULTS.
69523         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69524         * m4/time_r.m4 (gl_TIME_R): Likewise.
69525         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69526
69527 2007-03-01  Bruno Haible  <bruno@clisp.org>
69528
69529         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69530         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69531
69532 2007-03-01  Jim Meyering  <jim@meyering.net>
69533
69534         * modules/xreadlink (Maintainer): Add my name.
69535         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69536
69537 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69538             Bruno Haible  <bruno@clisp.org>
69539
69540         * build-aux/install-reloc: Compile also c-ctype.c.
69541         * build-aux/relocatable.sh.in: New file.
69542         * doc/relocatable.texi: New file.
69543         * doc/relocatable-maint.texi: New file.
69544         * doc/gnulib.texi: Include relocatable-maint.texi.
69545         * lib/progreloc.c: Include unistd.h unconditionally.
69546         * lib/relocwrapper.c: Include unistd.h unconditionally.
69547         Include c-ctype.h.
69548         (add_dotbin): Use c_tolower.
69549         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69550         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69551         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69552         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69553         to m4/relocatable-lib.m4.
69554         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69555         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69556         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69557         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69558         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69559         * modules/relocatable: New file.
69560         * modules/relocatable-lib: New file.
69561         * modules/relocatable-script: New file.
69562
69563 2007-02-28  Bruno Haible  <bruno@clisp.org>
69564
69565         Import --enable-relocatable infrastructure.
69566         * build-aux/config.libpath: New file, from GNU gettext.
69567         * build-aux/install-reloc: New file, from GNU gettext.
69568         * build-aux/reloc-ldflags: New file, from GNU gettext.
69569         * lib/relocatable.h: New file, from GNU gettext.
69570         * lib/relocatable.c: New file, from GNU gettext.
69571         * lib/relocwrapper.c: New file, from GNU gettext.
69572         * m4/relocatable.m4: New file, from GNU gettext.
69573
69574 2007-02-28  Bruno Haible  <bruno@clisp.org>
69575
69576         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69577
69578         * modules/xreadlink: New file, from GNU gettext with modifications.
69579         * lib/xreadlink.c: New file, from GNU gettext.
69580         * lib/xreadlink.h: Add comments.
69581         (xreadlink): New declaration.
69582
69583         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69584         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69585         lib/xreadlink-with-size.c.
69586         (configure.ac): Remove gl_XREADLINK invocation.
69587         (Makefile.am): Augment lib_SOURCES.
69588         * m4/xreadlink.m4: Remove file.
69589         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69590         (xreadlink_with_size): Renamed from xreadink.
69591         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69592         * modules/canonicalize (Depends-on): Replace xreadlink with
69593         xreadlink-with-size.
69594         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69595
69596 2007-02-25  Jim Meyering  <jim@meyering.net>
69597
69598         * build-aux/announce-gen: When complaining about excess arguments,
69599         list them.
69600
69601 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69602
69603         * README: Document signed integer overflow situation more
69604         accurately.
69605
69606 2007-02-25  Bruno Haible  <bruno@clisp.org>
69607
69608         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69609         'a' or 'A' conversion.
69610
69611 2007-02-25  Bruno Haible  <bruno@clisp.org>
69612
69613         * modules/filename: Renamed from modules/pathname.
69614         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69615         lib/concatpath.c with lib/concat-filename.c.
69616         (Makefile.am): Update.
69617         (Include): Replace pathname.h with filename.h.
69618         * lib/filename.h: Renamed from lib/pathname.h.
69619         (concatenated_filename): Renamed from concatenated_pathname.
69620         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69621         (concatenated_filename): Renamed from concatenated_pathname.
69622         * lib/findprog.c: Include filename.h instead of pathname.h.
69623         (find_in_path): Update.
69624         * lib/javacomp.c: Include filename.h instead of pathname.h.
69625         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69626         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69627         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69628         is_oldgcj_14_13_usable, is_javac_usable): Update.
69629         * lib/javaexec.c: Include filename.h instead of pathname.h.
69630         (execute_java_class): Update.
69631         * modules/findprog: Update.
69632         * modules/javacomp: Update.
69633         * modules/javaexec: Update.
69634         * MODULES.html.sh (File system functions): Add 'filename', remove
69635         'pathname'.
69636
69637 2007-02-25  Bruno Haible  <bruno@clisp.org>
69638
69639         * modules/printf-frexpl-tests: New file.
69640         * tests/test-printf-frexpl.c: New file.
69641
69642         * modules/printf-frexpl: New file.
69643         * lib/printf-frexpl.h: New file.
69644         * lib/printf-frexpl.c: New file.
69645         * m4/printf-frexpl.m4: New file.
69646
69647 2007-02-25  Bruno Haible  <bruno@clisp.org>
69648
69649         * modules/printf-frexp-tests: New file.
69650         * tests/test-printf-frexp.c: New file.
69651
69652         * modules/printf-frexp: New file.
69653         * lib/printf-frexp.h: New file.
69654         * lib/printf-frexp.c: New file.
69655         * m4/printf-frexp.m4: New file.
69656
69657 2007-02-25  Bruno Haible  <bruno@clisp.org>
69658
69659         Assume automake >= 1.10 for the tests.
69660         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69661         * modules/arctwo-tests: Likewise.
69662         * modules/argp-tests: Likewise.
69663         * modules/avltree-list-tests: Likewise.
69664         * modules/avltree-oset-tests: Likewise.
69665         * modules/avltreehash-list-tests: Likewise.
69666         * modules/carray-list-tests: Likewise.
69667         * modules/crc-tests: Likewise.
69668         * modules/des-tests: Likewise.
69669         * modules/gc-arcfour-tests: Likewise.
69670         * modules/gc-arctwo-tests: Likewise.
69671         * modules/gc-des-tests: Likewise.
69672         * modules/gc-hmac-md5-tests: Likewise.
69673         * modules/gc-hmac-sha1-tests: Likewise.
69674         * modules/gc-md2-tests: Likewise.
69675         * modules/gc-md4-tests: Likewise.
69676         * modules/gc-md5-tests: Likewise.
69677         * modules/gc-pbkdf2-sha1-tests: Likewise.
69678         * modules/gc-rijndael-tests: Likewise.
69679         * modules/gc-sha1-tests: Likewise.
69680         * modules/gc-tests: Likewise.
69681         * modules/getaddrinfo-tests: Likewise.
69682         * modules/hmac-md5-tests: Likewise.
69683         * modules/hmac-sha1-tests: Likewise.
69684         * modules/linked-list-tests: Likewise.
69685         * modules/linkedhash-list-tests: Likewise.
69686         * modules/lock-tests: Likewise.
69687         * modules/md2-tests: Likewise.
69688         * modules/md4-tests: Likewise.
69689         * modules/md5-tests: Likewise.
69690         * modules/rbtree-list-tests: Likewise.
69691         * modules/rbtree-oset-tests: Likewise.
69692         * modules/rbtreehash-list-tests: Likewise.
69693         * modules/read-file-tests: Likewise.
69694         * modules/rijndael-tests: Likewise.
69695         * modules/stdint-tests: Likewise.
69696         * modules/tls-tests: Likewise.
69697
69698 2007-02-24  Bruno Haible  <bruno@clisp.org>
69699
69700         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69701         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69702         function; instead check whether isnan with a double argument links.
69703         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69704         function; instead check whether isnan with a 'long double' argument
69705         links.
69706         Reported by Eric Blake <ebb9@byu.net>.
69707
69708 2007-02-24  Bruno Haible  <bruno@clisp.org>
69709
69710         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69711         defined.
69712         * lib/isnanl.c: Remove all code. Just include isnan.c.
69713         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69714
69715 2007-02-25  Jim Meyering  <jim@meyering.net>
69716
69717         Avoid conflicting types for 'unsetenv' on FreeBSD.
69718         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69719         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69720         in stdlib.h.
69721
69722 2007-02-24  Bruno Haible  <bruno@clisp.org>
69723
69724         * modules/isnanl-nolibm-tests: New file.
69725         * tests/test-isnanl.c: New file.
69726
69727         * modules/isnanl-nolibm: New file.
69728         * lib/isnanl.h: New file.
69729         * lib/isnanl.c: New file.
69730         * m4/isnanl.m4: New file.
69731
69732 2007-02-24  Bruno Haible  <bruno@clisp.org>
69733
69734         * modules/isnan-nolibm-tests: New file.
69735         * tests/test-isnan.c: New file.
69736
69737         * modules/isnan-nolibm: New file.
69738         * lib/isnan.h: New file.
69739         * lib/isnan.c: New file.
69740         * m4/isnan.m4: New file.
69741
69742 2007-02-24  Bruno Haible  <bruno@clisp.org>
69743
69744         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69745         assume that an exponent fits in 20 bits.
69746
69747 2007-02-24  Jim Meyering  <jim@meyering.net>
69748
69749         * m4/regex.m4: Update the description of the configure-time option,
69750         --without-included-regex, to state accurately what the defaults are,
69751         and perhaps to give people an idea why using this option is risky.
69752
69753 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69754
69755         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69756         loops on small arguments.  This attempts to avoid the problem
69757         Bruno Haible reported for AIX 4.3.2 in
69758         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69759
69760 2007-02-23  Bruno Haible  <bruno@clisp.org>
69761
69762         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69763         Needed for help2man.
69764
69765 2007-02-23  Karl Berry  <karl@gnu.org>
69766
69767         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69768         exists, foo.h should be cvs-ignored, not committed.
69769
69770 2007-02-23  Eric Blake  <ebb9@byu.net>
69771
69772         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69773         * lib/stat-time.h (includes): Likewise.
69774         * lib/utimecmp.c (includes): Likewise.
69775         * lib/utimens.h (includes): Likewise.
69776         * lib/getdate.y (includes): Also include "timespec.h" for use
69777         internal to the module.
69778         * modules/utimens (Depends-on): Revert yesterday's patch.
69779         * modules/nanosleep (Depends-on): Add missing dependency.
69780
69781 2007-02-22  Bruno Haible  <bruno@clisp.org>
69782
69783         * lib/glob.c: Don't include getlogin_r.h.
69784
69785 2007-02-22  Jim Meyering  <jim@meyering.net>
69786
69787         * modules/utimens (Depends-on): Add timespec, required for
69788         utimens.h's inclusion of timespec.h.
69789
69790 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69791
69792         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69793         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69794         Schwab in
69795         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69796         I'll try to think of a better way to fix the Solaris problem.
69797
69798         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69799         like glibc; on Solaris 10, it fails with errno == EINVAL.
69800         POSIX says the behavior is unspecified if the first argument is NULL,
69801         so play it safe and never pass NULL to the system getcwd.
69802
69803 2007-02-21  Jim Meyering  <jim@meyering.net>
69804
69805         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69806         of gettimeofday.  It would conflict with the one now always
69807         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69808         an IRIX 6.5 build failure.
69809
69810 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69811
69812         Minor fixups to port to Solaris 10 with Sun C 5.8.
69813         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69814         * modules/getcwd (Depends-on): Add dirfd.
69815         * lib/putenv.c (putenv): #undef it.
69816         (rpl_putenv): New decl.
69817         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69818
69819 2007-02-20  Bruno Haible  <bruno@clisp.org>
69820
69821         * modules/stdio-tests: New file.
69822         * tests/test-stdio.c: New file.
69823
69824         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69825         (Depends-on): Add stdio.
69826         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69827         (Include): Use <stdio.h> instead of vsnprintf.h.
69828         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69829         HAVE_DECL_VSNPRINTF.
69830         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69831
69832         * modules/snprintf (Files): Remove lib/snprintf.h.
69833         (Depends-on): Add stdio.
69834         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69835         (Include): Use <stdio.h> instead of snprintf.h.
69836         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69837         HAVE_DECL_SNPRINTF.
69838         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69839         * lib/getaddrinfo.c: Likewise.
69840
69841         * modules/stdio: New file.
69842         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69843         * lib/snprintf.h: Remove file.
69844         * lib/vsnprintf.h: Remove file.
69845         * lib/.cppi-disable: Remove snprintf.h.
69846         * m4/stdio_h.m4: New file.
69847         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69848
69849 2007-02-20  Jim Meyering  <jim@meyering.net>
69850
69851         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69852         used by e.g., mingw.  From Bruno Haible.
69853
69854 2007-02-19  Bruno Haible  <bruno@clisp.org>
69855
69856         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69857         warnings.
69858         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69859
69860 2007-02-19  Bruno Haible  <bruno@clisp.org>
69861
69862         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69863         from mingw users.
69864
69865 2007-02-19  Bruno Haible  <bruno@clisp.org>
69866
69867         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69868         warnings.
69869         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69870
69871 2007-02-19  Jim Meyering  <jim@meyering.net>
69872
69873         Don't use FD after a successful "fdopendir (fd)".
69874         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69875         Reset it by calling dirfd on the just-obtained DIR*.
69876
69877         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69878         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69879
69880 2007-02-18  Bruno Haible  <bruno@clisp.org>
69881
69882         * lib/readlink.c: Include <unistd.h>.
69883         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69884         HAVE_READLINK.
69885         * modules/readlink (Depends-on): Add unistd.
69886         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69887         (Include): Add <unistd.h>.
69888
69889         * lib/getlogin_r.h: Remove file.
69890         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69891         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69892         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69893         HAVE_DECL_GETLOGIN_R.
69894         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69895         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69896         (Include): Use <unistd.h> instead of getlogin_r.h.
69897
69898         * lib/getcwd.h: Remove file.
69899         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69900         * lib/xgetcwd.c: Likewise.
69901         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69902         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69903         * modules/getcwd (Files): Remove lib/getcwd.h.
69904         (Depends-on): Add unistd.
69905         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69906         (Include): Use <unistd.h> instad of getcwd.h.
69907
69908         * lib/ftruncate.c: Include <unistd.h> first.
69909         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69910         Set HAVE_FTRUNCATE.
69911         * modules/ftruncate (Depends-on): Add unistd.
69912         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69913
69914         * lib/fchdir.c: Include <unistd.h> first.
69915         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69916         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69917         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69918         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69919         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69920
69921         * lib/dup2.c: Include <unistd.h> first.
69922         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69923         HAVE_DUP2.
69924         * modules/dup2 (Depends-on): Add unistd.
69925         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69926
69927         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69928         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69929         REPLACE_CHOWN. Don't define chown as a macro here.
69930         * modules/chown (Depends-on): Add unistd.
69931         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69932
69933         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69934         Add definition for GL_LINK_WARNING.
69935         (chown, dup2): New declarations.
69936         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69937         link warning.
69938         (ftruncate): New declaration.
69939         (getcwd): New declaration, taken from old getcwd.h.
69940         (getlogin_r): New declaration, taken from old getlogin_r.h.
69941         (readlink): New declaration.
69942         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69943         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69944         (gl_PREREQ_UNISTD): Remove macro.
69945         (gl_UNISTD_MODULE_INDICATOR): New macro.
69946         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69947         many new variables. Don't set UNISTD_H.
69948         * modules/unistd (Description): Change.
69949         (Depends-on): Add link-warning.
69950         (configure.ac): Update.
69951         (Makefile.am): Create unistd.h always. Substitute many new variables
69952         into it.
69953
69954 2007-02-18  Bruno Haible  <bruno@clisp.org>
69955
69956         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69957         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69958         HAVE_GETSUBOPT.
69959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69960         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69961         * lib/getsubopt.h: Remove file.
69962         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69963         (Depends-on): Add stdlib.
69964         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69965         (Includes): Use <stdlib.h> instead of getsubopt.h.
69966         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69967         Set HAVE_GETSUBOPT.
69968         * lib/getsubopt.c: Don't include getsubopt.h.
69969
69970 2007-02-18  Bruno Haible  <bruno@clisp.org>
69971
69972         * modules/fchdir (Depends-on): Add dup2.
69973
69974 2007-02-18  Bruno Haible  <bruno@clisp.org>
69975
69976         * lib/stdlib_.h: Handle glibc's special invocation convention
69977         specially.
69978
69979 2007-02-18  Bruno Haible  <bruno@clisp.org>
69980
69981         * modules/stdlib-tests: New file.
69982         * tests/test-stdlib.c: New file.
69983
69984         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69985         (Depends-on): Add stdlib.
69986         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69987         (Includes): Use <stdlib.h> instead of mkstemp.h.
69988         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69989         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69990         * lib/mkstemp.c: Don't include mkstemp.h.
69991         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69992         * lib/stdlib--.h: Don't include mkstemp.h.
69993
69994         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
69995         (Depends-on): Add stdlib.
69996         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69997         (Includes): Use <stdlib.h> instead of mkdtemp.h.
69998         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69999         HAVE_MKDTEMP.
70000         * lib/mkdtemp.c: Don't include mkdtemp.h.
70001         * lib/clean-temp.c: Don't include mkdtemp.h.
70002
70003         * modules/exit (Files): Remove lib/exit.h.
70004         (Depends-on): Add stdlib.
70005         (Makefile.am): Remove lib_SOURCES.
70006         (Include): Use <stdlib.h> instead of exit.h.
70007         * lib/argmatch.c: Don't include exit.h.
70008         * lib/execute.c: Likewise.
70009         * lib/pagealign_alloc.c: Likewise.
70010         * lib/pipe.c: Likewise.
70011         * lib/wait-process.c: Likewise.
70012         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70013         * lib/exitfail.c: Likewise.
70014         * lib/savewd.c: Likewise.
70015         * lib/xsetenv.c: Likewise.
70016
70017         * modules/stdlib: New file.
70018         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70019         and extra comments about mkstemp().
70020         * lib/exit.h: Remove file.
70021         * lib/mkdtemp.h: Remove file.
70022         * lib/mkstemp.h: Remove file.
70023         * m4/stdlib_h.m4: New file.
70024         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70025
70026 2007-02-18  Bruno Haible  <bruno@clisp.org>
70027
70028         * modules/math-tests: New file.
70029         * tests/test-math.c: New file.
70030
70031         * modules/math: New file.
70032         * modules/mathl (Files): Remove lib/mathl.h.
70033         (Depends-on): Add math.
70034         (Makefile.am): Don't mention mathl.h.
70035         (Include): Use <math.h> instead of mathl.h.
70036         * lib/math_.h: New file.
70037         * lib/mathl.h: Remove file.
70038         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70039         mathl.h.
70040         * lib/asinl.c: Likewise.
70041         * lib/atanl.c: Likewise.
70042         * lib/ceill.c: Likewise.
70043         * lib/cosl.c: Likewise.
70044         * lib/expl.c: Likewise.
70045         * lib/floorl.c: Likewise.
70046         * lib/frexpl.c: Likewise.
70047         * lib/ldexpl.c: Likewise.
70048         * lib/logl.c: Likewise.
70049         * lib/sincosl.c: Likewise.
70050         * lib/sinl.c: Likewise.
70051         * lib/sqrtl.c: Likewise.
70052         * lib/tanl.c: Likewise.
70053         * lib/trigl.c: Likewise.
70054         * m4/math_h.m4: New file.
70055         * MODULES.html.sh (Mathematics): Add math.
70056
70057 2007-02-17  Bruno Haible  <bruno@clisp.org>
70058
70059         * modules/wctype-tests: New file.
70060         * tests/test-wctype.c: New file.
70061
70062         * modules/wchar-tests: New file.
70063         * tests/test-wchar.c: New file.
70064
70065         * modules/unistd-tests: New file.
70066         * tests/test-unistd.c: New file.
70067
70068         * modules/time-tests: New file.
70069         * tests/test-time.c: New file.
70070
70071         * modules/sysexits-tests: New file.
70072         * tests/test-sysexits.c: New file.
70073
70074         * modules/sys_time-tests: New file.
70075         * tests/test-sys_time.c: New file.
70076
70077         * modules/sys_stat-tests: New file.
70078         * tests/test-sys_stat.c: New file.
70079
70080         * modules/sys_socket-tests: New file.
70081         * tests/test-sys_socket.c: New file.
70082
70083         * modules/sys_select-tests: New file.
70084         * tests/test-sys_select.c: New file.
70085
70086         * modules/string-tests: New file.
70087         * tests/test-string.c: New file.
70088
70089         * modules/stdbool-tests: New file.
70090         * tests/test-stdbool.c: New file.
70091
70092         * modules/netinet_in-tests: New file.
70093         * tests/test-netinet_in.c: New file.
70094
70095         * modules/inttypes-tests: New file.
70096         * tests/test-inttypes.c: New file.
70097
70098         * modules/fcntl-tests: New file.
70099         * tests/test-fcntl.c: New file.
70100
70101         * modules/byteswap-tests: New file.
70102         * tests/test-byteswap.c: New file.
70103
70104         * modules/arpa_inet-tests: New file.
70105         * tests/test-arpa_inet.c: New file.
70106
70107 2007-02-17  Bruno Haible  <bruno@clisp.org>
70108
70109         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70110         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70111         if the corresponding module is not enabled. Emit link warnings if
70112         the function is used nevertheless.
70113         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70114         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70115         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70116         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70117         * modules/inttypes (Depends-on): Add link-warning.
70118         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70119         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70120         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70121         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70122         * modules/imaxdiv (configure.ac): Likewise.
70123         * modules/strtoimax (configure.ac): Likewise.
70124         * modules/strtoumax (configure.ac): Likewise.
70125
70126 2007-02-17  Bruno Haible  <bruno@clisp.org>
70127
70128         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70129         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70130         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70131         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70132
70133 2007-02-17  Bruno Haible  <bruno@clisp.org>
70134
70135         * modules/link-warning: New file.
70136         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70137         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70138         * modules/string (Depends-on): Add link-warning.
70139         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70140         string.h.
70141         * MODULES.html.sh (Support for building libraries and executables): Add
70142         link-warning.
70143
70144 2007-02-17  Bruno Haible  <bruno@clisp.org>
70145
70146         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70147         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70148         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70149         long lines.
70150
70151 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70152             Bruno Haible  <bruno@clisp.org>
70153
70154         * modules/tmpfile: New file.
70155         * lib/tmpfile.c: New file.
70156         * m4/tmpfile.m4: New file.
70157         * MODULES.html.sh (func_all_modules): New section "Input/output".
70158
70159 2007-02-15  Bruno Haible  <bruno@clisp.org>
70160
70161         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70162         (supports_delete_on_close): New function.
70163         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70164
70165 2007-02-14  Bruno Haible  <bruno@clisp.org>
70166
70167         * modules/mbspcasecmp-tests: New file.
70168         * tests/test-mbspcasecmp.sh: New file.
70169         * tests/test-mbspcasecmp.c: New file.
70170
70171         New module mbspcasecmp.
70172         * modules/mbspcasecmp: New file.
70173         * lib/mbspcasecmp.c: New file.
70174         * lib/string_.h (strncasecmp): Change warning message.
70175         (mbspcasecmp): New declaration.
70176         * m4/mbspcasecmp.m4: New file.
70177         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70178         GNULIB_MBSPCASECMP.
70179         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70180         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70181
70182 2007-02-14  Bruno Haible  <bruno@clisp.org>
70183
70184         * modules/mbsncasecmp-tests: New file.
70185         * tests/test-mbsncasecmp.sh: New file.
70186         * tests/test-mbsncasecmp.c: New file.
70187
70188         New module mbsncasecmp.
70189         * modules/mbsncasecmp: New file.
70190         * lib/mbsncasecmp.c: New file.
70191         * lib/string_.h (mbsncasecmp): New declaration.
70192         * m4/mbsncasecmp.m4: New file.
70193         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70194         GNULIB_MBSNCASECMP.
70195         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70196         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70197
70198 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70199
70200         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70201         Verify that it doesn't overlap with our flags.
70202         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70203         do not have the desired effect in multibyte locales; instead, use
70204         mbscasecmp.
70205         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70206         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70207         we don't require GNU fnmatch ourselves (if our users require it, they
70208         should do so explicitly).
70209
70210         Fix regex code so it doesn't rely on strcasecmp.
70211         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70212         Otherwise, include gnulib's langinfo.h.
70213         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70214         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70215         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70216         * modules/regex (FILES): Remove m4/codeset.m4.
70217         (Depends-on): Add localcharset.  Remove strcase.
70218
70219 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70220
70221         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70222         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70223
70224 2007-02-13  Bruno Haible  <bruno@clisp.org>
70225
70226         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70227         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70228
70229 2007-02-12  Bruno Haible  <bruno@clisp.org>
70230
70231         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70232         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70233         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70234         time warning rather than a link error.
70235
70236 2007-02-12  Bruno Haible  <bruno@clisp.org>
70237
70238         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70239         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70240         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70241
70242 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70243
70244         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70245         args, not 2.
70246
70247 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70248
70249         New module 'time', so that apps can include <time.h> as per
70250         POSIX and GNU instead of separate include files like time_r.h
70251         and timegm.h.  This implementation tries out a simpler approach
70252         for replacing decls in standard include files (as compared to
70253         the string module), somewhat as an experiment.
70254
70255         * config/srclist.txt: Comment out mktime.c for now.
70256         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70257         since it doesn't apply any more.  Use generic wording instead.
70258         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70259         'time'.
70260         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70261         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70262         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70263         Don't include <sys/types.h>; no longer needed since we assume C89.
70264         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70265         * lib/strftime.c: Likewise.
70266         * lib/time_r.c: Likewise.
70267         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70268         * lib/nanosleep.c: Include <time.h> first, to check interface.
70269         * lib/strptime.c: Likewise.
70270         * lib/time_r.c: Likewise.
70271         * lib/timegm.c: Likewise.
70272         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70273         needed.
70274         * lib/timegm.c: Don't include timegm.h; no longer needed.
70275         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70276         time.h now handles any problems in that area.
70277         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70278         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70279         that time.h defines struct timespec.
70280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70281         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70282         handles that.
70283         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70284         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70285         needed.  Set REPLACE_LOCALTIME.
70286         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70287         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70288         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70289         nanosleep; time_h.m4 now does that.  Don't require
70290         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70291         module handles this now.
70292         * modules/getdate (Depends-on): Remove timespec.  Add time.
70293         * modules/nanosleep (Depends-on): Likewise.
70294         * modules/stat-time (Depends-on): Likewise.
70295         * modules/nanosleep (Include): Include time.h, not timespec.h.
70296         * modules/strptime (Files): Remove lib/strptime.h.
70297         (Depends-on): Add extensions, time.
70298         (Include): Include time.h, not strptime.h.
70299         * modules/time_r (Files): Remove lib/time_r.h.
70300         (Depends-on): Add time.
70301         (Include): Include time.h, not time_r.h.
70302         * modules/timegm: Likewise.
70303         * modules/timespec (Description): Now does timespec-related decls
70304         of our own, instead of struct timespec itself.
70305         (Depends-on): Add time; remove extensions.
70306         (Maintainer): Add self.
70307         * modules/utimecmp (Depends-on): Add time; remove timespec.
70308         * modules/utimens (Depends-on): Likewise.
70309         * modules/xnanosleep (Depends-on): Likewise.
70310
70311 2007-02-11  Bruno Haible  <bruno@clisp.org>
70312
70313         * lib/c-strstr.c: Include allocsa.h.
70314         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70315         * lib/c-strcasestr.c: Include allocsa.h.
70316         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70317         * lib/strcasestr.c: Include allocsa.h.
70318         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70319         * lib/mbsstr.c: Include allocsa.h.
70320         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70321         allocsa/freesa instead of malloc/free.
70322         * lib/mbscasestr.c: Include allocsa.h.
70323         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70324         allocsa/freesa instead of malloc/free.
70325         * modules/c-strstr (Depends-on): Add allocsa.
70326         * modules/c-strcasestr (Depends-on): Likewise.
70327         * modules/strcasestr (Depends-on): Likewise.
70328         * modules/mbsstr (Depends-on): Likewise.
70329         * modules/mbscasestr (Depends-on): Likewise.
70330
70331 2007-02-11  Bruno Haible  <bruno@clisp.org>
70332
70333         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70334
70335         * modules/mbsspn-tests: New file.
70336         * tests/test-mbsspn.sh: New file.
70337         * tests/test-mbsspn.c: New file.
70338
70339 2007-02-11  Bruno Haible  <bruno@clisp.org>
70340
70341         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70342
70343         * modules/mbspbrk-tests: New file.
70344         * tests/test-mbspbrk.sh: New file.
70345         * tests/test-mbspbrk.c: New file.
70346
70347 2007-02-11  Bruno Haible  <bruno@clisp.org>
70348
70349         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70350         unneeded cast.
70351
70352         * modules/mbscspn-tests: New file.
70353         * tests/test-mbscspn.sh: New file.
70354         * tests/test-mbscspn.c: New file.
70355
70356 2007-02-11  Bruno Haible  <bruno@clisp.org>
70357
70358         * modules/mbscasecmp-tests: New file.
70359         * tests/test-mbscasecmp.sh: New file.
70360         * tests/test-mbscasecmp.c: New file.
70361
70362 2007-02-11  Bruno Haible  <bruno@clisp.org>
70363
70364         Ensure O(n) worst-case complexity of mbscasestr.
70365         * lib/mbscasestr.c: Include stdbool.h.
70366         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70367         functions.
70368         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70369         the bookkeeping indicates that it's worth it.
70370         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70371
70372         * modules/mbscasestr-tests: New file.
70373         * tests/test-mbscasestr1.c: New file.
70374         * tests/test-mbscasestr2.sh: New file.
70375         * tests/test-mbscasestr2.c: New file.
70376         * tests/test-mbscasestr3.sh: New file.
70377         * tests/test-mbscasestr3.c: New file.
70378         * tests/test-mbscasestr4.sh: New file.
70379         * tests/test-mbscasestr4.c: New file.
70380         * m4/locale-tr.m4: New file.
70381
70382 2007-02-11  Bruno Haible  <bruno@clisp.org>
70383
70384         Ensure O(n) worst-case complexity of mbsstr.
70385         * lib/mbsstr.c: Include stdbool.h.
70386         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70387         functions.
70388         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70389         bookkeeping indicates that it's worth it.
70390         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70391
70392         * modules/mbsstr-tests: New file.
70393         * tests/test-mbsstr1.c: New file.
70394         * tests/test-mbsstr2.sh: New file.
70395         * tests/test-mbsstr2.c: New file.
70396         * tests/test-mbsstr3.sh: New file.
70397         * tests/test-mbsstr3.c: New file.
70398         * m4/locale-fr.m4: New file.
70399
70400 2007-02-11  Bruno Haible  <bruno@clisp.org>
70401
70402         * lib/mbsrchr.c (mbsrchr): Fix bug.
70403
70404         * modules/mbsrchr-tests: New file.
70405         * tests/test-mbsrchr.sh: New file.
70406         * tests/test-mbsrchr.c: New file.
70407
70408 2007-02-11  Bruno Haible  <bruno@clisp.org>
70409
70410         * lib/mbschr.c (mbschr): Fix bug.
70411
70412         * modules/mbschr-tests: New file.
70413         * tests/test-mbschr.sh: New file.
70414         * tests/test-mbschr.c: New file.
70415         * m4/locale-zh.m4: New file.
70416
70417 2007-02-11  Bruno Haible  <bruno@clisp.org>
70418
70419         Support for copying multibyte string iterators.
70420         * lib/mbiter.h: Include <string.h>.
70421         (mbiter_multi_copy): New function.
70422         (mbi_copy): New macro.
70423         * lib/mbuiter.h: Include <string.h>.
70424         (mbuiter_multi_copy): New function.
70425         (mbui_copy): New macro.
70426
70427 2007-02-11  Bruno Haible  <bruno@clisp.org>
70428
70429         New module mbslen.
70430         * modules/mbslen: New file.
70431         * lib/mbslen.c: New file.
70432         * lib/string_.h (mbslen): New declaration.
70433         * m4/mbslen.m4: New file.
70434         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70435         GNULIB_MBSLEN.
70436         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70437         * MODULES.html.sh (Internationalization functions): Add mbslen.
70438
70439 2007-02-11  Bruno Haible  <bruno@clisp.org>
70440
70441         Ensure O(n) worst-case complexity of strcasestr substitute.
70442         * lib/strcasestr.c: Include stdbool.h.
70443         (knuth_morris_pratt): New function.
70444         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70445         bookkeeping indicates that it's worth it.
70446         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70447
70448         * modules/strcasestr-tests: New file.
70449         * tests/test-strcasestr.c: New file.
70450
70451 2007-02-11  Bruno Haible  <bruno@clisp.org>
70452
70453         Ensure O(n) worst-case complexity of c_strcasestr.
70454         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70455         (knuth_morris_pratt): New function.
70456         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70457         the bookkeeping indicates that it's worth it.
70458         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70459
70460         * modules/c-strcasestr-tests: New file.
70461         * tests/test-c-strcasestr.c: New file.
70462
70463 2007-02-11  Bruno Haible  <bruno@clisp.org>
70464
70465         Ensure O(n) worst-case complexity of c_strstr.
70466         * lib/c-strstr.c: Include stdbool.h, string.h.
70467         (knuth_morris_pratt): New function.
70468         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70469         bookkeeping indicates that it's worth it.
70470         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70471
70472         * lib/c-strstr.c: Complete rewrite for maintainability.
70473
70474         * modules/c-strstr-tests: New file.
70475         * tests/test-c-strstr.c: New file.
70476
70477 2007-02-11  Bruno Haible  <bruno@clisp.org>
70478
70479         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70480         5.2.1 and earlier, whereby \055 was treated just like the range
70481         delimiter '-'.
70482         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70483
70484 2007-02-08  Bruno Haible  <bruno@clisp.org>
70485
70486         * modules/regex (Depends-on): Add stdbool.
70487         Reported by Dalibor Topic <robilad@kaffe.org>.
70488
70489 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70490
70491         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70492         Prefer returning from main to exiting from it.
70493         Remove unnecessary parens after sizeof.
70494
70495 2007-02-05  Bruno Haible  <bruno@clisp.org>
70496
70497         New module mbssep.
70498         * modules/mbssep: New file.
70499         * lib/mbssep.c: New file.
70500         * lib/string_.h (strsep): Add a conditional link warning.
70501         (mbssep): New declaration.
70502         * m4/mbssep.m4: New file.
70503         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70504         GNULIB_MBSSEP.
70505         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70506         * MODULES.html.sh (Internationalization functions): Add mbssep.
70507
70508 2007-02-05  Bruno Haible  <bruno@clisp.org>
70509
70510         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70511         Optimize search in case of 1 delimiter.
70512
70513 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70514
70515         * lib/acl.h: Include sys/types.h before sys/acl.h.
70516
70517 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70518
70519         Merge upstream fix for glibc bugzilla #3957:
70520
70521         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70522
70523         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70524         bit for RE_HAT_LISTS_NOT_NEWLINE.
70525         (build_charclass_op): Remove bogus comment.
70526
70527 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70528
70529         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70530
70531 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70532
70533         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70534         * lib/memmem.c [!defined _LIBC]: Include config.h.
70535
70536 2007-02-04  Bruno Haible  <bruno@clisp.org>
70537
70538         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70539         warning message.
70540
70541 2007-02-04  Bruno Haible  <bruno@clisp.org>
70542
70543         New module mbstok_r.
70544         * modules/mbstok_r: New file.
70545         * lib/mbstok_r.c: New file.
70546         * lib/string_.h (strtok_r): Change argument names to match the
70547         comments. Add a conditional link warning.
70548         (mbstok_r): New declaration.
70549         * m4/mbstok_r.m4: New file.
70550         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70551         GNULIB_MBSTOK_R.
70552         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70553         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70554
70555 2007-02-04  Bruno Haible  <bruno@clisp.org>
70556
70557         New module mbsspn.
70558         * modules/mbsspn: New file.
70559         * lib/mbsspn.c: New file.
70560         * lib/string_.h (strspn): Add a conditional link warning.
70561         (mbsspn): New declaration.
70562         * m4/mbsspn.m4: New file.
70563         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70564         GNULIB_MBSSPN.
70565         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70566         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70567
70568 2007-02-04  Bruno Haible  <bruno@clisp.org>
70569
70570         New module mbspbrk.
70571         * modules/mbspbrk: New file.
70572         * lib/mbspbrk.c: New file.
70573         * lib/string_.h (strpbrk): Add a conditional link warning.
70574         (mbspbrk): New declaration.
70575         * m4/mbspbrk.m4: New file.
70576         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70577         GNULIB_MBSPBRK.
70578         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70579         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70580
70581 2007-02-04  Bruno Haible  <bruno@clisp.org>
70582
70583         New module mbscspn.
70584         * modules/mbscspn: New file.
70585         * lib/mbscspn.c: New file.
70586         * lib/string_.h (strcspn): Add a conditional link warning.
70587         (mbscspn): New declaration.
70588         * m4/mbscspn.m4: New file.
70589         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70590         GNULIB_MBSCSPN.
70591         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70592         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70593
70594 2007-02-04  Bruno Haible  <bruno@clisp.org>
70595
70596         New module mbscasestr, reduced goal of strcasestr.
70597         * modules/mbscasestr: New file.
70598         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70599         (mbscasestr): Renamed from strcasestr.
70600         * lib/strcasestr.c: Don't include mbuiter.h.
70601         (strcasestr): Remove support for multibyte locales.
70602         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70603         Change the conditional link warning.
70604         (mbscasestr): New declaration.
70605         * m4/mbscasestr.m4: New file.
70606         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70607         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70608         REPLACE_STRCASESTR.
70609         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70610         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70611         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70612         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70613         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70614         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70615         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70616         (Depends-on): Remove mbuiter.
70617         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70618
70619 2007-02-04  Bruno Haible  <bruno@clisp.org>
70620
70621         Simplify handling of strncasecmp.
70622         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70623         the conditional link warning.
70624         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70625         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70626         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70627         * modules/strcase (configure.ac): Don't invoke
70628         gl_STRING_MODULE_INDICATOR.
70629         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70630
70631 2007-02-04  Bruno Haible  <bruno@clisp.org>
70632
70633         New module mbscasecmp, reduced goal of strcasecmp.
70634         * modules/mbscasecmp: New file.
70635         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70636         (mbscasecmp): Renamed from strcasecmp.
70637         * lib/strcasecmp.c: Don't include mbuiter.h.
70638         (strcasecmp): Remove support for multibyte locales.
70639         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70640         Change the conditional link warning.
70641         (mbscasecmp): New declaration.
70642         * m4/mbscasecmp.m4: New file.
70643         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70644         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70645         REPLACE_STRCASECMP.
70646         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70648         GNULIB_MBSCASECMP.
70649         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70650         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70651         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70652         (Depends-on): Remove mbuiter.
70653         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70654
70655 2007-02-04  Bruno Haible  <bruno@clisp.org>
70656
70657         New module mbsstr. Remove module strstr.
70658         * modules/mbsstr: New file.
70659         * modules/strstr: Remove file.
70660         * lib/mbsstr.c: Renamed from lib/strstr.c.
70661         (mbsstr): Renamed from strstr.
70662         * lib/string_.h (strstr): Remove declaration. Change the conditional
70663         link warning.
70664         (mbsstr): New declaration.
70665         * m4/mbsstr.m4: New file.
70666         * m4/strstr.m4: Remove file.
70667         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70668         REPLACE_STRSTR.
70669         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
70670         Don't initialize GNULIB_STRSTR.
70671         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
70672         substitute GNULIB_STRSTR and REPLACE_STRSTR.
70673         * MODULES.html.sh (Internationalization functions): Add mbsstr.
70674         (Support for systems lacking ANSI C 89): Remove strstr.
70675
70676 2007-02-04  Bruno Haible  <bruno@clisp.org>
70677
70678         New module mbsrchr.
70679         * modules/mbsrchr: New file.
70680         * lib/mbsrchr.c: New file.
70681         * lib/string_.h (strrchr): Add a conditional link warning.
70682         (mbsrchr): New declaration.
70683         * m4/mbsrchr.m4: New file.
70684         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70685         GNULIB_MBSRCHR.
70686         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70687         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70688
70689 2007-02-04  Bruno Haible  <bruno@clisp.org>
70690
70691         New module mbschr.
70692         * modules/mbschr: New file.
70693         * lib/mbschr.c: New file.
70694         * lib/string_.h (strchr): Add a conditional link warning.
70695         (mbschr): New declaration.
70696         * m4/mbschr.m4: New file.
70697         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70698         GNULIB_MBSCHR.
70699         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70700         * MODULES.html.sh (Internationalization functions): Add mbschr.
70701
70702 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70703
70704         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70705
70706         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70707
70708 2007-02-04  Bruno Haible  <bruno@clisp.org>
70709
70710         New module description section 'configure.ac-early'.
70711         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70712         (func_get_autoconf_early_snippet): New function.
70713         (func_import, func_create_testdir): Use it. Remove special cases for
70714         modules 'extensions' and 'lock'.
70715         * modules/extensions (configure.ac-early): Require
70716         gl_USE_SYSTEM_EXTENSIONS.
70717         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70718
70719 2007-02-04  Bruno Haible  <bruno@clisp.org>
70720
70721         Make use of gcj-4.3's -fsource and -ftarget option.
70722         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70723         and if so try the options -fsource and -ftarget.
70724         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70725         source_version, ftarget_option, target_version arguments.
70726         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70727         (is_envjavac_oldgcj_14_14_usable): Renamed from
70728         is_envjavac_gcj_14_14_usable.
70729         (is_envjavac_oldgcj_14_13_usable): Renamed from
70730         is_envjavac_gcj_14_13_usable.
70731         (is_gcj_present): Update.
70732         (is_gcj_43, is_gcj43_usable): New functions.
70733         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70734         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70735         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70736         try the options -fsource and -ftarget.
70737
70738 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70739
70740         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70741         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70742         larger value.
70743
70744 2007-02-03  Jim Meyering  <jim@meyering.net>
70745
70746         Give tools a better chance to allocate space for very large buffers.
70747         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70748
70749         Make pwd and readlink work also when run with an unreadable parent dir
70750         on systems with openat support.
70751         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70752         provided getcwd function, even when we have openat support.
70753         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70754
70755 2007-02-02  Bruno Haible  <bruno@clisp.org>
70756
70757         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70758         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70759         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70760         portability problems if one of these functions is only used on specific
70761         platforms.
70762         Reported by Paul Eggert.
70763
70764 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70765
70766         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70767         is causing more trouble than it's curing.
70768         * lib/regex_internal.h (__mempcpy): Remove.
70769         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70770         (and make the code a tad smaller to boot).
70771         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70772
70773 2007-02-02  Jim Meyering  <jim@meyering.net>
70774
70775         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70776         section, not in the Makefile.am: one.
70777
70778 2007-02-02  Eric Blake  <ebb9@byu.net>
70779
70780         * lib/strchrnul.c: Always include config.h first.
70781
70782         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70783         gnulib strstr is not necessary here.
70784
70785 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70786
70787         * m4/socklen.m4: Fix typo.
70788
70789 2007-02-02  Eric Blake  <ebb9@byu.net>
70790
70791         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70792         * modules/netinet_in (Makefile.am): Likewise.
70793
70794 2007-02-01  Bruno Haible  <bruno@clisp.org>
70795
70796         * lib/string_.h (GL_LINK_WARNING): New macro.
70797         (strcasecmp, strstr, strcasestr): If provided by the system,
70798         conditionally define as a macro that leads to a warning instead of to
70799         an error.
70800         (strncasecmp): Conditionally define as a macro that leads to a warning.
70801
70802 2007-02-01  Karl Berry  <karl@gnu.org>
70803
70804         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70805
70806 2007-02-01  Bruno Haible  <bruno@clisp.org>
70807
70808         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70809         renamings.
70810
70811 2007-02-01  Eric Blake  <ebb9@byu.net>
70812
70813         * modules/regex (Depends-on): Revert dependence on mempcpy.
70814         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70815         module's definition of mempcpy.
70816         Reported by Paul Eggert.
70817
70818 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70819
70820         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70821         the symbol XYZ before redefining it.  This fixes a problem with
70822         programs that don't use XYZ, when compiled on systems that define
70823         XYZ to something else.
70824
70825 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70826
70827         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70828         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70829         writeable to group or other and (2) is intended to have a special
70830         mode bit that is set or cleared.  In such a case, the directory
70831         should be neither group- nor other-writeable until the special
70832         mode bits are right.
70833
70834 2007-01-31  Eric Blake  <ebb9@byu.net>
70835
70836         * modules/mountlist (Depends-on): Add strstr.
70837
70838         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70839         bug.
70840         * modules/string (Makefile.am): Remove redundant replacement.
70841         * modules/regex (Depends-on): Add mempcpy.
70842
70843 2007-01-31  Bruno Haible  <bruno@clisp.org>
70844
70845         New module description field 'Link'.
70846         * gnulib-tool (func_usage): Document --extract-link-directive.
70847         (sed_extract_prog): Recognize 'Link' directive.
70848         (func_get_link_directive): New function.
70849         (func_import): Show summary of link directives.
70850         Handle --extract-link-directive option.
70851         * modules/acl (Link): New section.
70852         * modules/clock-time (Link): New section.
70853         * modules/euidaccess (Link): New section.
70854         * modules/gettext (Link): New section.
70855         * modules/iconv (Link): New section.
70856         * modules/lock (Link): New section.
70857         * modules/nanosleep (Link): New section.
70858         * modules/readline (Link): New section.
70859
70860 2007-01-27  Bruno Haible  <bruno@clisp.org>
70861
70862         Enforce the use of gnulib modules for unportable <string.h> functions.
70863         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70864         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70865         (gl_HEADER_STRING_H_BODY): Require it.
70866         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70867         the symbol XYZ to one that gives a link error.
70868         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70869         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70870         * modules/mempcpy (configure.ac): Likewise.
70871         * modules/memrchr (configure.ac): Likewise.
70872         * modules/stpcpy (configure.ac): Likewise.
70873         * modules/stpncpy (configure.ac): Likewise.
70874         * modules/strcase (configure.ac): Likewise.
70875         * modules/strcasestr (configure.ac): Likewise.
70876         * modules/strchrnul (configure.ac): Likewise.
70877         * modules/strdup (configure.ac): Likewise.
70878         * modules/strndup (configure.ac): Likewise.
70879         * modules/strnlen (configure.ac): Likewise.
70880         * modules/strpbrk (configure.ac): Likewise.
70881         * modules/strsep (configure.ac): Likewise.
70882         * modules/strstr (configure.ac): Likewise.
70883         * modules/strtok_r (configure.ac): Likewise.
70884
70885 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70886
70887         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70888
70889 2007-01-30  Jim Meyering  <jim@meyering.net>
70890
70891         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70892
70893 2007-01-29  Bruno Haible  <bruno@clisp.org>
70894
70895         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70896         * lib/execute.c: Likewise.
70897         * lib/pipe.c: Likewise.
70898         * lib/printf-args.h: Likewise.
70899         * lib/printf-args.c: Likewise.
70900         * lib/printf-parse.c: Likewise.
70901         * lib/vasnprintf.c: Likewise.
70902
70903 2007-01-29  Eric Blake  <ebb9@byu.net>
70904
70905         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70906         declaration.
70907
70908 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70909
70910         * lib/strptime.h (strptime): Use 'restrict' for args where
70911         POSIX requires this.
70912         * lib/strptime.c (strptime): Likewise.
70913         Change license notice from LGPL to GPL, since gnulib-tool will
70914         change this as needed.
70915         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70916         defined.
70917         Include "strptime.h" first, to check interface.
70918         Do not #undef _LIBC and _NL_CURRENT.
70919         Do not include <stdlib.h>; no longer needed.
70920         Include "time_r.h" and declare ptime_locale_status
70921         only if _LIBC is not defined.
70922         (__P): Remove unused macro.
70923         (match_string): Bring back glibc version, but use it only if _LIBC
70924         is defined.
70925         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70926         Remove unnecessary assertion and abort() call.
70927         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70928         * m4/strptime.m4: Fix serial number comment.
70929         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70930         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70931         (Depends-on): Add time_r.
70932
70933 2007-01-29  Bruno Haible  <bruno@clisp.org>
70934
70935         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70936         strptime.
70937         * modules/strptime (Depends-on): Add stdbool.
70938         * lib/strptime.h: Include <time.h> always. Add comments.
70939
70940 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70941
70942         * modules/strptime: New file.
70943         * lib/strptime.h: New file.
70944         * lib/strptime.c: New file.
70945         * m4/strptime.m4: New file.
70946
70947 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70948
70949         * MODULES.html.sh: New module mpsort.
70950         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70951
70952         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70953         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70954         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70955         All uses changed.
70956         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70957         All uses changed.
70958         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70959         to _Restrict_.
70960         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70961         the parameter matches the prototype.
70962
70963 2007-01-28  Jim Meyering  <jim@meyering.net>
70964
70965         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70966         sys/time.h here, reverting that part of the previous patch:
70967         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70968
70969 2007-01-28  Bruno Haible  <bruno@clisp.org>
70970
70971         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70972         value of $(SYS_TIME_H).
70973         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70974         remove it conditionally, too. [added by Jim Meyering]
70975         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70976         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70977         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70978         GETTIMEOFDAY_REPLACEMENT to 1.
70979
70980 2007-01-28  Bruno Haible  <bruno@clisp.org>
70981
70982         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70983         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70984         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70985         Set UNISTD_H instead of UNISTD_H2.
70986         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70987
70988 2007-01-28  Bruno Haible  <bruno@clisp.org>
70989
70990         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70991         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70992
70993 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70994
70995         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
70996         (func_create_testdir): Ensure C locale for `grep' and `tr'
70997         character ranges.
70998         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
70999         ACLOCAL_AMFLAGS parsing state machine.
71000
71001 2007-01-27  Bruno Haible  <bruno@clisp.org>
71002
71003         * modules/unistr/base: Update.
71004
71005 2007-01-27  Bruno Haible  <bruno@clisp.org>
71006
71007         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71008         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71009         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71010         modules/unistr/u32-mbtouc.
71011         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71012         * lib/unistr.h: Update.
71013         * lib/linebreak.c: Update.
71014         * modules/unistr/u32-mbtouc: Renamed from
71015         modules/unistr/u32-mbtouc-safe.
71016         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71017         * lib/unistr.h: Update.
71018         * lib/unistr/u32-to-u8.c: Update.
71019         * lib/unistr/u32-to-u16.c: Update.
71020
71021 2007-01-27  Bruno Haible  <bruno@clisp.org>
71022
71023         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71024         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71025         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71026         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71027         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71028         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71029         modules/unistr/u16-mbtouc.
71030         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71031         * lib/unistr.h: Update.
71032         * lib/linebreak.c: Update.
71033         * modules/linebreak: Update.
71034         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71035         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71036         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71037         * modules/unistr/u16-mbtouc: Renamed from
71038         modules/unistr/u16-mbtouc-safe.
71039         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71040         * lib/unistr.h: Update.
71041         * lib/unistr/u16-to-u8.c: Update.
71042         * modules/unistr/u16-to-u8: Update.
71043         * lib/unistr/u16-to-u32.c: Update.
71044         * modules/unistr/u16-to-u32: Update.
71045
71046 2007-01-27  Bruno Haible  <bruno@clisp.org>
71047
71048         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71049         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71050         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71051         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71052         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71053         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71054         modules/unistr/u8-mbtouc.
71055         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71056         * lib/unistr.h: Update.
71057         * lib/striconveh.c: Update.
71058         * modules/striconveh: Update.
71059         * lib/linebreak.c: Update.
71060         * modules/linebreak: Update.
71061         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71062         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71063         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71064         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71065         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71066         * lib/unistr.h: Update.
71067         * lib/striconveh.c: Update.
71068         * modules/striconveh: Update.
71069         * lib/unistr/u8-to-u16.c: Update.
71070         * modules/unistr/u8-to-u16: Update.
71071         * lib/unistr/u8-to-u32.c: Update.
71072         * modules/unistr/u8-to-u32: Update.
71073
71074 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71075
71076         Sync from Libtool.
71077         * lib/argz.c: Do not include strings.h nor memory.h, include
71078         string.h unconditionally.  Patch by Simon Josefsson.
71079
71080 2007-01-27  Bruno Haible  <bruno@clisp.org>
71081
71082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71083         from gl_HEADER_STRING_H_BODY.
71084         (gl_HEADER_STRING_H_BODY): Require it.
71085         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71086         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71087         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71088         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71089         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71090         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71091         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71092         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71093         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71094         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71095         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71096         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71097         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71098         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71099         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71100
71101 2007-01-27  Bruno Haible  <bruno@clisp.org>
71102
71103         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71104         check_PROGRAMS into noinst_PROGRAMS.
71105         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71106         check_PROGRAMS in this case.
71107         (func_import): Set for_test to false.
71108         (func_create_testdir): Set for_test to true.
71109
71110 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71111             Bruno Haible  <bruno@clisp.org>
71112
71113         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71114         (Depends-on): Add string.
71115         (Includes): Use <string.h> instead of strcasestr.h.
71116         * modules/string (Makefile.am): Also substitute the value of
71117         REPLACE_STRCASESTR.
71118         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71119         assume strcasestr is declared in <string.h> not <strings.h>. Also
71120         set REPLACE_STRCASESTR.
71121         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71122         REPLACE_STRCASESTR.
71123         * lib/strcasestr.h: Remove file.
71124         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71125         * lib/string_.h (strcasestr): New declaration.
71126
71127 2007-01-27  Bruno Haible  <bruno@clisp.org>
71128
71129         * lib/string_.h: Use 'extern'.
71130
71131 2007-01-27  Jim Meyering  <jim@meyering.net>
71132
71133         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71134         of set-but-not-used local, "q".
71135
71136         * lib/mempcpy.c: Include <config.h> before <string.h>.
71137         This fixes a compilation error on HP-UX, due to the system's
71138         "restrict"-using mempcpy prototype.
71139
71140 2007-01-26  Bruno Haible  <bruno@clisp.org>
71141
71142         Small optimization.
71143         * lib/javacomp.c: Include c-strstr.h.
71144          (is_envjavac_gcj): Use c_strstr instead of strstr.
71145         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71146
71147 2007-01-26  Bruno Haible  <bruno@clisp.org>
71148
71149         * MODULES.html.sh (Unicode string functions): Add the new modules.
71150
71151         * modules/uniconv/u32-strconv-to-locale: New file.
71152         * lib/uniconv/u32-strconv-to-locale.c: New file.
71153
71154         * modules/uniconv/u16-strconv-to-locale: New file.
71155         * lib/uniconv/u16-strconv-to-locale.c: New file.
71156
71157         * modules/uniconv/u8-strconv-to-locale: New file.
71158         * lib/uniconv/u8-strconv-to-locale.c: New file.
71159
71160         * modules/uniconv/u32-strconv-from-locale: New file.
71161         * lib/uniconv/u32-strconv-from-locale.c: New file.
71162
71163         * modules/uniconv/u16-strconv-from-locale: New file.
71164         * lib/uniconv/u16-strconv-from-locale.c: New file.
71165
71166         * modules/uniconv/u8-strconv-from-locale: New file.
71167         * lib/uniconv/u8-strconv-from-locale.c: New file.
71168
71169         * modules/uniconv/u32-strconv-to-enc: New file.
71170         * lib/uniconv/u32-strconv-to-enc.c: New file.
71171         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71172         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71173
71174         * modules/uniconv/u16-strconv-to-enc: New file.
71175         * lib/uniconv/u16-strconv-to-enc.c: New file.
71176         * lib/uniconv/u-strconv-to-enc.h: New file.
71177         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71178         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71179
71180         * modules/uniconv/u8-strconv-to-enc: New file.
71181         * lib/uniconv/u8-strconv-to-enc.c: New file.
71182         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71183         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71184
71185         * modules/uniconv/u32-strconv-from-enc: New file.
71186         * lib/uniconv/u32-strconv-from-enc.c: New file.
71187         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71188         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71189
71190         * modules/uniconv/u16-strconv-from-enc: New file.
71191         * lib/uniconv/u16-strconv-from-enc.c: New file.
71192         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71193         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71194
71195         * modules/uniconv/u8-strconv-from-enc: New file.
71196         * lib/uniconv/u8-strconv-from-enc.c: New file.
71197         * lib/uniconv/u-strconv-from-enc.h: New file.
71198         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71199         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71200
71201         * modules/uniconv/u32-conv-from-enc: New file.
71202         * lib/uniconv/u32-conv-from-enc.c: New file.
71203         * modules/uniconv/u32-conv-from-enc-tests: New file.
71204         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71205
71206         * modules/uniconv/u16-conv-from-enc: New file.
71207         * lib/uniconv/u16-conv-from-enc.c: New file.
71208         * lib/uniconv/u-conv-from-enc.h: New file.
71209         * modules/uniconv/u16-conv-from-enc-tests: New file.
71210         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71211
71212         * modules/uniconv/u8-conv-from-enc: New file.
71213         * lib/uniconv/u8-conv-from-enc.c: New file.
71214         * modules/uniconv/u8-conv-from-enc-tests: New file.
71215         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71216
71217         * modules/uniconv/base: New file.
71218         * lib/uniconv.h: New file.
71219
71220 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71221
71222         * doc/gnulib-tool.texi (Initial import): Update to match current
71223         behavior with strdup module.
71224         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71225         * lib/memmem.h: Remove; all uses removed.  This is now done
71226         by <string.h>.
71227         * lib/mempcpy.h: Likewise.
71228         * lib/memrchr.h: Likewise.
71229         * lib/stpcpy.h: Likewise.
71230         * lib/stpncpy.h: Likewise.
71231         * lib/strcase.h: Likewise.
71232         * lib/strchrnul.h: Likewise.
71233         * lib/strdup.h: Likewise.
71234         * lib/strndup.h: Likewise.
71235         * lib/strnlen.h: Likewise.
71236         * lib/strpbrk.h: Likewise.
71237         * lib/strsep.h: Likewise.
71238         * lib/strstr.h: Likewise.
71239         * lib/strtok_r.h: Likewise.
71240         * lib/string_.h: New file.
71241         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71242         Rely on <string.h> instead.
71243         * lib/canon-host.c: Likewise.
71244         * lib/chdir-long.c: Likewise.
71245         * lib/concatpath.c: Likewise.
71246         * lib/exclude.c: Likewise.
71247         * lib/fchdir.c: Likewise.
71248         * lib/getaddrinfo.c: Likewise.
71249         * lib/getcwd.c: Likewise.
71250         * lib/getsubopt.c: Likewise.
71251         * lib/glob.c: Likewise.
71252         * lib/hard-locale.c: Likewise.
71253         * lib/iconvme.c: Likewise.
71254         * lib/javacomp.c: Likewise.
71255         * lib/mempcpy.c: Likewise.
71256         * lib/memrchr.c: Likewise.
71257         * lib/regex_internal.h: Likewise.
71258         * lib/stpncpy.c: Likewise.
71259         * lib/strcasecmp.c: Likewise.
71260         * lib/strchrnul.c: Likewise.
71261         * lib/strdup.c: Likewise.
71262         * lib/striconv.c: Likewise.
71263         * lib/striconveh.c: Likewise.
71264         * lib/striconveha.c: Likewise.
71265         * lib/strncasecmp.c: Likewise.
71266         * lib/strndup.c: Likewise.
71267         * lib/strnlen.c: Likewise.
71268         * lib/strsep.c: Likewise.
71269         * lib/strstr.c: Likewise.
71270         * lib/strtok_r.c: Likewise.
71271         * lib/userspec.c: Likewise.
71272         * lib/w32spawn.h: Likewise.
71273         * lib/xstrndup.c: Likewise.
71274         * lib/mountlist.c (strstr): Remove decl.
71275         * m4/string_h.m4: New file.
71276         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71277         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71278         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71279         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71280         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71281         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71282         Set REPLACE_STRCASECMP if necessary.
71283         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71284         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71285         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71286         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71287         HAVE_DECL_STRDUP if necessary.
71288         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71289         since gl_FUNC_STRNDUP does that now.
71290         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71291         Check for decl here...
71292         (gl_PREREQ_STRNLEN): ... not here.
71293         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71294         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71295         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71296         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71297         necessary.
71298         * modules/string: New file.
71299         * modules/memmem (Files): Remove special-purpose include file.
71300         (Depends-on): Add string.
71301         (Include): Include <string.h>, not the removed file.
71302         * modules/mempcpy: Likewise.
71303         * modules/memrchr: Likewise.
71304         * modules/stpcpy: Likewise.
71305         * modules/stpncpy: Likewise.
71306         * modules/strcase: Likewise.
71307         * modules/strchrnul: Likewise.
71308         * modules/strdup: Likewise.
71309         * modules/strndup: Likewise.
71310         * modules/strnlen: Likewise.
71311         * modules/strpbrk: Likewise.
71312         * modules/strsep: Likewise.
71313         * modules/strstr: Likewise.
71314         * modules/strtok_r: Likewise.
71315         * tests/test-dirname.c: Don't include "strdup.h", since
71316         <string.h> now suffices.
71317         * tests/test-memmem.c: Don't include "memmem.h", since
71318         <string.h> now suffices.
71319
71320 2007-01-25  Bruno Haible  <bruno@clisp.org>
71321
71322         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71323         *resultp is 0.
71324
71325         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71326         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71327         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71328         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71329
71330         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71331         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71332         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71333         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71334         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71335         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71336
71337 2007-01-24  Bruno Haible  <bruno@clisp.org>
71338
71339         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71340         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71341         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71342         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71343         gl_FUNC_FTS_CORE.
71344         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71345         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71346         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71347         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71348         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71349         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71350         gl_FUNC_FCHOWNAT.
71351         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71352         gl_FUNC_STRFTIME.
71353         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71354         Reported by Ralf Wildenhues.
71355
71356 2007-01-24  Bruno Haible  <bruno@clisp.org>
71357
71358         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71359         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71360         gl_GETADDRINFO.
71361         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71362         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71363         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71364
71365 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71366
71367         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71368         Don't use 'exit'; just return from 'main'.
71369         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71370
71371         * lib/fnmatch_.h: Readjust white space and comments to match
71372         glibc, to avoid spurious diffs.
71373
71374 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71375
71376         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71377         2004-12-01 change by Jakub Jelinek, since this code won't compile
71378         if !LIBC.  Problem reported by Bob Proulx.
71379
71380 2007-01-23  Bruno Haible  <bruno@clisp.org>
71381
71382         * lib/striconveh.c: Include c-strcaseeq.h.
71383         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71384         * modules/striconveh (Depends-on): Add c-strcaseeq.
71385
71386 2007-01-23  Bruno Haible  <bruno@clisp.org>
71387
71388         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71389
71390         * modules/c-strcaseeq: New file.
71391         * lib/c-strcaseeq.h: New file.
71392
71393         * modules/streq: New file.
71394         * lib/streq.h: New file.
71395
71396 2007-01-23  Bruno Haible  <bruno@clisp.org>
71397
71398         * modules/striconveha-tests: New file.
71399         * tests/test-striconveha.c: New file.
71400
71401         * lib/striconveha.h: Include <stdbool.h>.
71402         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71403         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71404         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71405         (mem_iconveha): New function.
71406         (str_iconveha_notranslit): Renamed from str_iconveha.
71407         (str_iconveha): New function.
71408         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71409         c-strcase.
71410
71411 2007-01-23  Bruno Haible  <bruno@clisp.org>
71412
71413         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71414         encodings without forgiving before trying any encoding with handler.
71415         (str_iconveha): Try all encodings without forgiving before trying any
71416         encoding with handler.
71417
71418 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71419
71420         Import the following changes from libc.
71421
71422         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71423
71424         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71425
71426         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71427
71428         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71429         normal_bracket label.
71430
71431         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71432
71433         [BZ #361]
71434         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71435         to normal_bracket after fetching the next character.
71436
71437 2007-01-22  Bruno Haible  <bruno@clisp.org>
71438
71439         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71440         argument.
71441         * lib/striconveh.c (iconv_carefully_1): New function.
71442         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71443         argument.
71444         (str_cd_iconveh): Update.
71445         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71446         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71447         * tests/test-striconveh.c (MAGIC): New macro.
71448         (new_offsets): New function.
71449         (main): Test call with and without offsets.
71450
71451 2007-01-22  Bruno Haible  <bruno@clisp.org>
71452
71453         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71454         * modules/sys_select (Makefile.am): Likewise.
71455         * modules/sys_socket (Makefile.am): Likewise.
71456         * modules/sys_time (Makefile.am): Likewise.
71457
71458 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * modules/gettimeofday (License): Change from GPL to LGPL, since
71461         gettimeofday is a library function.
71462
71463 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71464
71465         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71466
71467 2007-01-21  Bruno Haible  <bruno@clisp.org>
71468
71469         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71470
71471 2007-01-21  Bruno Haible  <bruno@clisp.org>
71472
71473         * modules/striconveha: New file.
71474         * lib/striconveha.h: New file.
71475         * lib/striconveha.c: New file.
71476         * MODULES.html.sh (Internationalization functions): Add striconveha.
71477         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71478         string.
71479         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71480
71481 2007-01-21  Bruno Haible  <bruno@clisp.org>
71482
71483         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71484         * lib/striconveh.c (str_iconveh): Likewise.
71485
71486 2007-01-21  Bruno Haible  <bruno@clisp.org>
71487
71488         * lib/striconveh.h (mem_iconveh): New declaration.
71489         * lib/striconveh.c (mem_iconveh): New function.
71490         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71491
71492 2007-01-21  Bruno Haible  <bruno@clisp.org>
71493
71494         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71495
71496         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71497         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71498         original result buffer.
71499         (str_cd_iconveh): Update.
71500         * tests/test-striconveh.c (main): Update.
71501
71502         * lib/striconv.h (mem_cd_iconv): Change specification.
71503         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71504         result buffer.
71505         (str_cd_iconv): Update.
71506         * tests/test-striconv.c (main): Update.
71507
71508 2007-01-21  Bruno Haible  <bruno@clisp.org>
71509
71510         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71511
71512 2007-01-20  Jim Meyering  <jim@meyering.net>
71513
71514         * lib/userspec.c (parse_with_separator): If a user or group string
71515         starts with "+", skip the corresponding name-to-ID look-up, since
71516         such a look-up must fail: user and group names may not include "+".
71517
71518 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71521         since we now assume the sys_time module.
71522         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71523         check for sys/time.h; no longer needed.
71524         * modules/poll (Depends-on): Depend on sys_time.
71525
71526 2007-01-18  Bruno Haible  <bruno@clisp.org>
71527
71528         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71529         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71530
71531         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71532         gettimeofday.
71533
71534         * tests/test-gettimeofday.c: Include <time.h>.
71535         (dummy): Remove variable.
71536
71537         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71538         gl_HEADER_SYS_TIME_H.
71539         (gl_HEADER_SYS_TIME_H): New macro.
71540
71541         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71542         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71543         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71544         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71545         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71546         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71547         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71548         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71549         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71550         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71551         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71552
71553         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71554         last change; it caused a compilation error when cross-compiling to
71555         Cygwin.
71556
71557 2007-01-18  Jim Meyering  <jim@meyering.net>
71558
71559         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71560         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71561         than the race-prone "test -d sys || mkdir sys".
71562         (configure.ac): Use AC_PROG_MKDIR_P.
71563         * modules/sys_select: Likewise.
71564         * modules/sys_socket: Likewise.
71565         * modules/sys_time: Likewise.
71566
71567 2007-01-18  Eric Blake  <ebb9@byu.net>
71568
71569         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71570         replace gettimeofday.
71571         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71572         name, to avoid infinite recursion.
71573
71574 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71575
71576         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71577         module sys_time.
71578         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71579         assume timespec.h defines struct timeval.
71580         * lib/settime.c: Likewise.
71581         * lib/utimens.c: Likewise.
71582         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71583         since we now assume the gettimeofday module.
71584         * lib/tempname.c (__gen_tempname): Likewise.
71585         * lib/gettimeofday.h: Remove.
71586         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71587         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71588         Include <time.h>, for 'time()'.
71589         (localtime_buffer_addr): Also use this workaround if
71590         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71591         to simplify the uses.  All uses changed.
71592         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71593         that #undef is inside {}, and 'const' follows type name consistently.
71594         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71595         (gettimeofday): Do not use the maximum possible value for
71596         tv->tv_usec, since that might break usages other than ls.c.
71597         Instead, we'll leave ls.c alone.  This undoes today's patch
71598         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71599         we've never observed the problem but might as well keep the
71600         canary.
71601         * lib/nanosleep.c: Include timespec.h first, for interface check.
71602         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71603         now assume the sys_time module.
71604         * lib/tempname.c: Likewise.
71605         * lib/timespec.h: Likewise.
71606         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71607         needed.
71608         * lib/strftime.c: Likewise.
71609         * lib/timespec.h: Likewise.
71610         * lib/posixtm.c: Include posixtm.h first, for interface check.
71611         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71612         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71613         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71614         * lib/sys_time_.h: New file.
71615         * lib/timespec.h (struct timespec): Use long int, not long.
71616         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71617         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71618         Remove obsolescent call to AC_HEADER_TIME.
71619         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71620         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71621         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71622         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71623         Likewise.
71624         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71625         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71626         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71627         into the sys_time module.  Check for gettimeofday just once.
71628         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71629         for gettimeofday signature to just check the signature.  Merely
71630         compile it, since linking doesn't test signature.  Improve test for
71631         whether gettimeofday.o is actually needed.
71632         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71633         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71634         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71635         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71636         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71637         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71638         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71639         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71640         than worrying about sys/time.h.
71641         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71642         Don't bother worrying about TIME_WITH_SYS_TIME.
71643         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71644         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71645         * m4/sys_time_h.m4: New file.
71646         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71647         Don't include sys/time.h.  Return from main rather than exiting.
71648         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71649         all uses changed.
71650         * modules/gethrxtime (Depends-on): Add sys_time.
71651         * modules/gettime (Depends-on): Likewise.
71652         * modules/gettimeofday (Depends-on): Likewise.
71653         * modules/nanosleep (Depends-on): Likewise.
71654         * modules/settime (Depends-on): Likewise.
71655         * modules/tempname (Depends-on): Likewise.
71656         * modules/utimens (Depends-on): Likewise.
71657         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71658         (Include): Change back to <sys/time.h>.
71659         (Maintainer): Add self.
71660         * modules/sys_time: New file.
71661         * modules/tempname (Depends-on): Add gettimeofday.
71662         * tests/test-gettimeofday.c: Include <sys/time.h>
71663         rather than gettimeofday.h.
71664
71665 2007-01-17  Bruno Haible  <bruno@clisp.org>
71666
71667         * gnulib-tool (func_get_license): Revert last patch. Instead, let
71668         the license default to GPL.
71669         (func_create_testdir): Don't complain if a module is LGPL and its
71670         tests module depends on GPLed modules.
71671
71672 2007-01-17  Bruno Haible  <bruno@clisp.org>
71673
71674         * lib/gettimeofday.c (gettimeofday): Add code for the case
71675         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
71676         maximum possible value for tv->tv_usec, rather than the minimum one.
71677
71678 2005-10-08  Martin Lambers  <marlam@marlam.de>
71679 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71680 2007-01-16  Bruno Haible  <bruno@clisp.org>
71681
71682         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
71683         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
71684         gl_FUNC_GETTIMEOFDAY.
71685         (Include): Add gettimeofday.h.
71686         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71687         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71688         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71689         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71690         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71691         * lib/gettimeofday.h: New file.
71692         * lib/gettimeofday.c: Include <sys/timeb.h>.
71693         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71694         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71695         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71696         fall back on time().
71697
71698         * tests/test-gettimeofday.c: New file.
71699         * modules/gettimeofday-tests: New file.
71700
71701 2007-01-16  Eric Blake  <ebb9@byu.net>
71702
71703         * modules/fnmatch (Depends-on): Depend on wchar.
71704         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71705         * m4/fnmatch.m4: Likewise.
71706         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71707         * m4/mbchar.m4: Likewise.
71708         * modules/mbswidth (Depends-on): Depend on wchar.
71709         * lib/mbswidth.c: Assume <wchar.h>.
71710         * m4/mbswidth.m4: Likewise.
71711         * modules/quotearg (Depends-on): Depend on wchar.
71712         * lib/quotearg.c: Assume <wchar.h>.
71713         * m4/quotearg.m4: Likewise.
71714         * modules/regex (Depends-on): Depend on wchar.
71715         * lib/regex_internal.h: Assume <wchar.h>.
71716         * m4/regex.m4: Likewise.
71717         * modules/stdint (Depends-on): Depend on wchar.
71718         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71719         * m4/stdint.m4: Likewise.
71720         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71721         * modules/strftime (Depends-on): Depend on wchar.
71722         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71723         * modules/strtol (Depends-on): Depend on wchar.
71724         * lib/strtol.c: Assume <wchar.h>.
71725         * modules/wcwidth (Depends-on): Depend on wchar.
71726         * lib/wcwidth.h: Assume <wchar.h>.
71727         * m4/wcwidth.m4: Likewise.
71728
71729 2007-01-16  Bruno Haible  <bruno@clisp.org>
71730
71731         * modules/csharpexec-script: New, created from...
71732         * modules/csharpexec: ... this.
71733
71734 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71735
71736         * modules/javaexec-script: New, created from...
71737         * modules/javaexec: ... this.
71738
71739 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71740
71741         * modules/poll (Dependencies): Add sys_select.
71742
71743 2007-01-15  Jim Meyering  <jim@meyering.net>
71744
71745         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71746         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71747         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71748         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71749
71750 2007-01-15  Bruno Haible  <bruno@clisp.org>
71751
71752         * modules/striconveh: New file.
71753         * lib/striconveh.h: New file.
71754         * lib/striconveh.c: New file.
71755         * MODULES.html.sh (Internationalization functions): Add striconveh.
71756
71757         * modules/striconveh-tests: New file.
71758         * tests/test-striconveh.c: New file.
71759
71760 2007-01-15  Bruno Haible  <bruno@clisp.org>
71761
71762         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71763         not from GNU libiconv or GNU libc.
71764
71765 2007-01-15  Bruno Haible  <bruno@clisp.org>
71766
71767         * doc/gnulib-intro.texi (Copyright): Explain the different license
71768         terms for module descriptions, autoconf macros, tests, documentation.
71769
71770 2007-01-14  Bruno Haible  <bruno@clisp.org>
71771
71772         * modules/striconv-tests: New file.
71773         * tests/test-striconv.c: New file.
71774
71775 2007-01-14  Bruno Haible  <bruno@clisp.org>
71776
71777         * modules/iconv-tests: New file.
71778         * tests/test-iconv.c: New file.
71779
71780 2007-01-14  Bruno Haible  <bruno@clisp.org>
71781
71782         * gnulib-tool (func_get_license): For test modules, use the license of
71783         the main module.
71784
71785 2007-01-14  Bruno Haible  <bruno@clisp.org>
71786
71787         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71788         if iconv is found to exist.
71789
71790 2007-01-14  Bruno Haible  <bruno@clisp.org>
71791
71792         * modules/c-ctype-tests: New file.
71793         * tests/test-c-ctype.c: New file.
71794
71795 2007-01-14  Bruno Haible  <bruno@clisp.org>
71796
71797         * modules/binary-io-tests: New file.
71798         * tests/test-binary-io.sh: New file.
71799         * tests/test-binary-io.c: New file.
71800
71801 2007-01-14  Bruno Haible  <bruno@clisp.org>
71802
71803         * modules/array-oset-tests: New file.
71804         * tests/test-array_oset.c: New file.
71805
71806 2007-01-14  Bruno Haible  <bruno@clisp.org>
71807
71808         * modules/array-list-tests: New file.
71809         * tests/test-array_list.c: New file.
71810
71811 2007-01-14  Bruno Haible  <bruno@clisp.org>
71812
71813         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71814         and make.
71815         Reported by Simon Josefsson in
71816         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71817
71818 2007-01-14  Bruno Haible  <bruno@clisp.org>
71819
71820         * modules/allocsa-tests: New file.
71821         * tests/test-allocsa.c: New file.
71822
71823 2007-01-14  Bruno Haible  <bruno@clisp.org>
71824
71825         * modules/fchdir (Depends-on): Add absolute-header.
71826         * modules/unistd (Depends-on): Likewise.
71827
71828 2006-12-30  Bruno Haible  <bruno@clisp.org>
71829
71830         * modules/fchdir: New file.
71831         * modules/unistd (Files): Add lib/unistd_.h.
71832         (Makefile.am): Generate unistd.h from unistd_.h.
71833         * lib/fchdir.c: New file.
71834         * lib/dirent_.h: New file.
71835         * lib/unistd_.h: New file.
71836         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71837         * m4/fchdir.m4: New file.
71838         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71839         (gl_HEADER_UNISTD): Invoke it.
71840         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71841         function.
71842         * lib/backupfile.c (opendir, closedir): Undefine.
71843         * lib/chown.c (open, close): Undefine.
71844         * lib/clean-temp.c (open, close): Undefine.
71845         * lib/copy-file.c (open, close): Undefine.
71846         * lib/execute.c (open, close): Undefine.
71847         * lib/fsusage.c (open, close): Undefine.
71848         * lib/gc-gnulib.c (open, close): Undefine.
71849         * lib/getcwd.c (opendir, closedir): Undefine.
71850         * lib/glob.c (opendir, closedir): Undefine.
71851         * lib/javacomp.c (open, close): Undefine.
71852         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71853         * lib/openat-proc.c (open, close): Undefine.
71854         * lib/pagealign_alloc.c (open, close): Undefine.
71855         * lib/pipe.c (open, close): Undefine.
71856         * lib/progreloc.c (open, close): Undefine.
71857         * lib/savedir.c (opendir, closedir): Undefine.
71858         * lib/utime.c (open, close): Undefine.
71859         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71860
71861 2007-01-10  Bruno Haible  <bruno@clisp.org>
71862
71863         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71864
71865 2007-01-12  Eric Blake  <ebb9@byu.net>
71866
71867         Provide a robust <wchar.h>.  Further simplifications are now
71868         possible in other modules, but not included here.
71869         * modules/wchar: New module.
71870         * m4/wchar.m4: New file.
71871         * lib/wchar_.h: Likewise.
71872         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71873         of the new module.
71874         * MODULES.html.sh (Extended multibyte and wide character utilities):
71875         New section.
71876
71877 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71880         to a reasonable default for memory allocation.
71881         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71882         file system that reports garbage st_size values for symlinks.
71883         Problem reported by Liyang Hu.
71884
71885 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71886
71887         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71888         Emacs .#* auto-save files).
71889
71890 2007-01-11  Bruno Haible  <bruno@clisp.org>
71891
71892         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71893         directory.
71894
71895 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71896
71897         Use @...@ consistently in lib/wctype_.h.
71898         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71899         on it being set to 1 or 0.
71900         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71901         go back to AC_SUBSTing it.
71902         * modules/wctype (Makefile.am): Undo previous change.
71903
71904 2007-01-10  Eric Blake  <ebb9@byu.net>
71905
71906         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71907         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71908         * modules/wctype (Makefile.am): Likewise.
71909         Reported by Chris McGuire.
71910
71911 2007-01-10  Jim Meyering  <jim@meyering.net>
71912
71913         fts.c: a small readability/maintainability improvement
71914         * lib/fts.c (fts_read): Make this code slightly more readable and
71915         maintainable by hoisting the "sp->fts_cur = p" assignments to
71916         immediately follow the statements that set P.  Derived from
71917         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71918
71919 2007-01-10  Eric Blake  <ebb9@byu.net>
71920
71921         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71922         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71923         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71924         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71925         Reported by Chris McGuire.
71926
71927 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71928
71929         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71930         in sed script.
71931
71932 2007-01-09  Bruno Haible  <bruno@clisp.org>
71933
71934         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71935         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71936         variables.
71937         (func_module): Use them.
71938
71939 2007-01-09  Bruno Haible  <bruno@clisp.org>
71940
71941         * modules/unistr/base: New file.
71942         * lib/unistr.h: New file.
71943
71944         * modules/unistr/u8-to-u16: New file.
71945         * lib/unistr/u8-to-u16.c: New file.
71946
71947         * modules/unistr/u8-to-u32: New file.
71948         * lib/unistr/u8-to-u32.c: New file.
71949
71950         * modules/unistr/u16-to-u8: New file.
71951         * lib/unistr/u16-to-u8.c: New file.
71952
71953         * modules/unistr/u16-to-u32: New file.
71954         * lib/unistr/u16-to-u32.c: New file.
71955
71956         * modules/unistr/u32-to-u8: New file.
71957         * lib/unistr/u32-to-u8.c: New file.
71958
71959         * modules/unistr/u32-to-u16: New file.
71960         * lib/unistr/u32-to-u16.c: New file.
71961
71962         * modules/unistr/u8-check: New file.
71963         * modules/unistr/u16-check: New file.
71964         * modules/unistr/u32-check: New file.
71965         * lib/unistr/u8-check.c: New file.
71966         * lib/unistr/u16-check.c: New file.
71967         * lib/unistr/u32-check.c: New file.
71968
71969         * modules/unistr/u8-chr: New file.
71970         * modules/unistr/u16-chr: New file.
71971         * modules/unistr/u32-chr: New file.
71972         * lib/unistr/u8-chr.c: New file.
71973         * lib/unistr/u16-chr.c: New file.
71974         * lib/unistr/u32-chr.c: New file.
71975
71976         * modules/unistr/u8-cmp: New file.
71977         * modules/unistr/u16-cmp: New file.
71978         * modules/unistr/u32-cmp: New file.
71979         * lib/unistr/u8-cmp.c: New file.
71980         * lib/unistr/u16-cmp.c: New file.
71981         * lib/unistr/u32-cmp.c: New file.
71982
71983         * modules/unistr/u8-cpy: New file.
71984         * modules/unistr/u16-cpy: New file.
71985         * modules/unistr/u32-cpy: New file.
71986         * lib/unistr/u8-cpy.c: New file.
71987         * lib/unistr/u16-cpy.c: New file.
71988         * lib/unistr/u32-cpy.c: New file.
71989         * lib/unistr/u-cpy.h: New file.
71990
71991         * modules/unistr/u8-cpy-alloc: New file.
71992         * modules/unistr/u16-cpy-alloc: New file.
71993         * modules/unistr/u32-cpy-alloc: New file.
71994         * lib/unistr/u8-cpy-alloc.c: New file.
71995         * lib/unistr/u16-cpy-alloc.c: New file.
71996         * lib/unistr/u32-cpy-alloc.c: New file.
71997         * lib/unistr/u-cpy-alloc.h: New file.
71998
71999         * modules/unistr/u8-endswith: New file.
72000         * modules/unistr/u16-endswith: New file.
72001         * modules/unistr/u32-endswith: New file.
72002         * lib/unistr/u8-endswith.c: New file.
72003         * lib/unistr/u16-endswith.c: New file.
72004         * lib/unistr/u32-endswith.c: New file.
72005         * lib/unistr/u-endswith.h: New file.
72006
72007         * modules/unistr/u8-mblen: New file.
72008         * modules/unistr/u16-mblen: New file.
72009         * modules/unistr/u32-mblen: New file.
72010         * lib/unistr/u8-mblen.c: New file.
72011         * lib/unistr/u16-mblen.c: New file.
72012         * lib/unistr/u32-mblen.c: New file.
72013
72014         * modules/unistr/u8-mbtouc: New file.
72015         * modules/unistr/u16-mbtouc: New file.
72016         * modules/unistr/u32-mbtouc: New file.
72017         * lib/unistr/u8-mbtouc.c: New file.
72018         * lib/unistr/u16-mbtouc.c: New file.
72019         * lib/unistr/u32-mbtouc.c: New file.
72020
72021         * modules/unistr/u8-mbtouc-safe: New file.
72022         * modules/unistr/u16-mbtouc-safe: New file.
72023         * modules/unistr/u32-mbtouc-safe: New file.
72024         * lib/unistr/u8-mbtouc-safe.c: New file.
72025         * lib/unistr/u16-mbtouc-safe.c: New file.
72026         * lib/unistr/u32-mbtouc-safe.c: New file.
72027
72028         * modules/unistr/u8-move: New file.
72029         * modules/unistr/u16-move: New file.
72030         * modules/unistr/u32-move: New file.
72031         * lib/unistr/u8-move.c: New file.
72032         * lib/unistr/u16-move.c: New file.
72033         * lib/unistr/u32-move.c: New file.
72034         * lib/unistr/u-move.h: New file.
72035
72036         * modules/unistr/u8-next: New file.
72037         * modules/unistr/u16-next: New file.
72038         * modules/unistr/u32-next: New file.
72039         * lib/unistr/u8-next.c: New file.
72040         * lib/unistr/u16-next.c: New file.
72041         * lib/unistr/u32-next.c: New file.
72042
72043         * modules/unistr/u8-prev: New file.
72044         * modules/unistr/u16-prev: New file.
72045         * modules/unistr/u32-prev: New file.
72046         * lib/unistr/u8-prev.c: New file.
72047         * lib/unistr/u16-prev.c: New file.
72048         * lib/unistr/u32-prev.c: New file.
72049
72050         * modules/unistr/u8-set: New file.
72051         * modules/unistr/u16-set: New file.
72052         * modules/unistr/u32-set: New file.
72053         * lib/unistr/u8-set.c: New file.
72054         * lib/unistr/u16-set.c: New file.
72055         * lib/unistr/u32-set.c: New file.
72056         * lib/unistr/u-set.h: New file.
72057
72058         * modules/unistr/u8-startswith: New file.
72059         * modules/unistr/u16-startswith: New file.
72060         * modules/unistr/u32-startswith: New file.
72061         * lib/unistr/u8-startswith.c: New file.
72062         * lib/unistr/u16-startswith.c: New file.
72063         * lib/unistr/u32-startswith.c: New file.
72064         * lib/unistr/u-startswith.h: New file.
72065
72066         * modules/unistr/u8-stpcpy: New file.
72067         * modules/unistr/u16-stpcpy: New file.
72068         * modules/unistr/u32-stpcpy: New file.
72069         * lib/unistr/u8-stpcpy.c: New file.
72070         * lib/unistr/u16-stpcpy.c: New file.
72071         * lib/unistr/u32-stpcpy.c: New file.
72072         * lib/unistr/u-stpcpy.h: New file.
72073
72074         * modules/unistr/u8-stpncpy: New file.
72075         * modules/unistr/u16-stpncpy: New file.
72076         * modules/unistr/u32-stpncpy: New file.
72077         * lib/unistr/u8-stpncpy.c: New file.
72078         * lib/unistr/u16-stpncpy.c: New file.
72079         * lib/unistr/u32-stpncpy.c: New file.
72080         * lib/unistr/u-stpncpy.h: New file.
72081
72082         * modules/unistr/u8-strcat: New file.
72083         * modules/unistr/u16-strcat: New file.
72084         * modules/unistr/u32-strcat: New file.
72085         * lib/unistr/u8-strcat.c: New file.
72086         * lib/unistr/u16-strcat.c: New file.
72087         * lib/unistr/u32-strcat.c: New file.
72088         * lib/unistr/u-strcat.h: New file.
72089
72090         * modules/unistr/u8-strchr: New file.
72091         * modules/unistr/u16-strchr: New file.
72092         * modules/unistr/u32-strchr: New file.
72093         * lib/unistr/u8-strchr.c: New file.
72094         * lib/unistr/u16-strchr.c: New file.
72095         * lib/unistr/u32-strchr.c: New file.
72096
72097         * modules/unistr/u8-strcmp: New file.
72098         * modules/unistr/u16-strcmp: New file.
72099         * modules/unistr/u32-strcmp: New file.
72100         * lib/unistr/u8-strcmp.c: New file.
72101         * lib/unistr/u16-strcmp.c: New file.
72102         * lib/unistr/u32-strcmp.c: New file.
72103
72104         * modules/unistr/u8-strcpy: New file.
72105         * modules/unistr/u16-strcpy: New file.
72106         * modules/unistr/u32-strcpy: New file.
72107         * lib/unistr/u8-strcpy.c: New file.
72108         * lib/unistr/u16-strcpy.c: New file.
72109         * lib/unistr/u32-strcpy.c: New file.
72110         * lib/unistr/u-strcpy.h: New file.
72111
72112         * modules/unistr/u8-strcspn: New file.
72113         * modules/unistr/u16-strcspn: New file.
72114         * modules/unistr/u32-strcspn: New file.
72115         * lib/unistr/u8-strcspn.c: New file.
72116         * lib/unistr/u16-strcspn.c: New file.
72117         * lib/unistr/u32-strcspn.c: New file.
72118         * lib/unistr/u-strcspn.h: New file.
72119
72120         * modules/unistr/u8-strdup: New file.
72121         * modules/unistr/u16-strdup: New file.
72122         * modules/unistr/u32-strdup: New file.
72123         * lib/unistr/u8-strdup.c: New file.
72124         * lib/unistr/u16-strdup.c: New file.
72125         * lib/unistr/u32-strdup.c: New file.
72126         * lib/unistr/u-strdup.h: New file.
72127
72128         * modules/unistr/u8-strlen: New file.
72129         * modules/unistr/u16-strlen: New file.
72130         * modules/unistr/u32-strlen: New file.
72131         * lib/unistr/u8-strlen.c: New file.
72132         * lib/unistr/u16-strlen.c: New file.
72133         * lib/unistr/u32-strlen.c: New file.
72134         * lib/unistr/u-strlen.h: New file.
72135
72136         * modules/unistr/u8-strmblen: New file.
72137         * modules/unistr/u16-strmblen: New file.
72138         * modules/unistr/u32-strmblen: New file.
72139         * lib/unistr/u8-strmblen.c: New file.
72140         * lib/unistr/u16-strmblen.c: New file.
72141         * lib/unistr/u32-strmblen.c: New file.
72142
72143         * modules/unistr/u8-strmbtouc: New file.
72144         * modules/unistr/u16-strmbtouc: New file.
72145         * modules/unistr/u32-strmbtouc: New file.
72146         * lib/unistr/u8-strmbtouc.c: New file.
72147         * lib/unistr/u16-strmbtouc.c: New file.
72148         * lib/unistr/u32-strmbtouc.c: New file.
72149
72150         * modules/unistr/u8-strncat: New file.
72151         * modules/unistr/u16-strncat: New file.
72152         * modules/unistr/u32-strncat: New file.
72153         * lib/unistr/u8-strncat.c: New file.
72154         * lib/unistr/u16-strncat.c: New file.
72155         * lib/unistr/u32-strncat.c: New file.
72156         * lib/unistr/u-strncat.h: New file.
72157
72158         * modules/unistr/u8-strncmp: New file.
72159         * modules/unistr/u16-strncmp: New file.
72160         * modules/unistr/u32-strncmp: New file.
72161         * lib/unistr/u8-strncmp.c: New file.
72162         * lib/unistr/u16-strncmp.c: New file.
72163         * lib/unistr/u32-strncmp.c: New file.
72164
72165         * modules/unistr/u8-strncpy: New file.
72166         * modules/unistr/u16-strncpy: New file.
72167         * modules/unistr/u32-strncpy: New file.
72168         * lib/unistr/u8-strncpy.c: New file.
72169         * lib/unistr/u16-strncpy.c: New file.
72170         * lib/unistr/u32-strncpy.c: New file.
72171         * lib/unistr/u-strncpy.h: New file.
72172
72173         * modules/unistr/u8-strnlen: New file.
72174         * modules/unistr/u16-strnlen: New file.
72175         * modules/unistr/u32-strnlen: New file.
72176         * lib/unistr/u8-strnlen.c: New file.
72177         * lib/unistr/u16-strnlen.c: New file.
72178         * lib/unistr/u32-strnlen.c: New file.
72179         * lib/unistr/u-strnlen.h: New file.
72180
72181         * modules/unistr/u8-strpbrk: New file.
72182         * modules/unistr/u16-strpbrk: New file.
72183         * modules/unistr/u32-strpbrk: New file.
72184         * lib/unistr/u8-strpbrk.c: New file.
72185         * lib/unistr/u16-strpbrk.c: New file.
72186         * lib/unistr/u32-strpbrk.c: New file.
72187         * lib/unistr/u-strpbrk.h: New file.
72188
72189         * modules/unistr/u8-strrchr: New file.
72190         * modules/unistr/u16-strrchr: New file.
72191         * modules/unistr/u32-strrchr: New file.
72192         * lib/unistr/u8-strrchr.c: New file.
72193         * lib/unistr/u16-strrchr.c: New file.
72194         * lib/unistr/u32-strrchr.c: New file.
72195
72196         * modules/unistr/u8-strspn: New file.
72197         * modules/unistr/u16-strspn: New file.
72198         * modules/unistr/u32-strspn: New file.
72199         * lib/unistr/u8-strspn.c: New file.
72200         * lib/unistr/u16-strspn.c: New file.
72201         * lib/unistr/u32-strspn.c: New file.
72202         * lib/unistr/u-strspn.h: New file.
72203
72204         * modules/unistr/u8-strstr: New file.
72205         * modules/unistr/u16-strstr: New file.
72206         * modules/unistr/u32-strstr: New file.
72207         * lib/unistr/u8-strstr.c: New file.
72208         * lib/unistr/u16-strstr.c: New file.
72209         * lib/unistr/u32-strstr.c: New file.
72210         * lib/unistr/u-strstr.h: New file.
72211
72212         * modules/unistr/u8-strtok: New file.
72213         * modules/unistr/u16-strtok: New file.
72214         * modules/unistr/u32-strtok: New file.
72215         * lib/unistr/u8-strtok.c: New file.
72216         * lib/unistr/u16-strtok.c: New file.
72217         * lib/unistr/u32-strtok.c: New file.
72218         * lib/unistr/u-strtok.h: New file.
72219
72220         * modules/unistr/u8-uctomb: New file.
72221         * modules/unistr/u16-uctomb: New file.
72222         * modules/unistr/u32-uctomb: New file.
72223         * lib/unistr/u8-uctomb.c: New file.
72224         * lib/unistr/u16-uctomb.c: New file.
72225         * lib/unistr/u32-uctomb.c: New file.
72226
72227         * MODULES.html.sh (Unicode string functions): Add the new modules.
72228
72229 2007-01-08  Bruno Haible  <bruno@clisp.org>
72230
72231         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72232         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72233         subdirectories.
72234
72235 2007-01-08  Karl Berry  <karl@gnu.org>
72236
72237         * doc/error.texi: mention that main() fns must set program_name
72238         when progname is used.
72239
72240 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72241
72242         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72243         WCTYPE_H is empty, for the benefit of builds from non-distclean
72244         directories.  Problem reported by Eric Blake in
72245         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72246
72247 2007-01-08  Bruno Haible  <bruno@clisp.org>
72248
72249         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72250         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72251         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72252         PROVIDE_CANONICALIZE_FILENAME_MODE.
72253         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72254
72255 2007-01-08  Bruno Haible  <bruno@clisp.org>
72256
72257         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72258         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72259         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72260         * lib/fts.c: Likewise.
72261         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72262
72263 2006-12-25  Bruno Haible  <bruno@clisp.org>
72264
72265         * modules/utf8-ucs4-safe: New file.
72266         * lib/utf8-ucs4-safe.h: New file.
72267         * lib/unistr/utf8-ucs4-safe.c: New file.
72268
72269         * modules/utf16-ucs4-safe: New file.
72270         * lib/utf16-ucs4-safe.h: New file.
72271         * lib/unistr/utf16-ucs4-safe.c: New file.
72272
72273         * MODULES.html.sh (Unicode string functions): Add the new modules.
72274
72275 2007-01-08  Bruno Haible  <bruno@clisp.org>
72276
72277         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72278         (Depends-on): Add unitypes.
72279         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72280         (u8_mbtouc_aux): Move out to separate file.
72281         (u8_mbtouc): Use ucs4_t, uint8_t types.
72282         * lib/unistr/utf8-ucs4.c: New file.
72283
72284         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72285         (Depends-on): Add unitypes.
72286         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72287         (u16_mbtouc_aux): Move out to separate file.
72288         (u16_mbtouc): Use ucs4_t, uint16_t types.
72289         * lib/unistr/utf16-ucs4.c: New file.
72290
72291         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72292         (Depends-on): Add unitypes.
72293         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72294         (u8_uctomb_aux): Move out to separate file.
72295         (u8_uctomb): Use ucs4_t, uint8_t types.
72296         * lib/unistr/ucs4-utf8.c: New file.
72297
72298         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72299         (Depends-on): Add unitypes.
72300         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72301         (u16_uctomb_aux): Move out to separate file.
72302         (u16_uctomb): Use ucs4_t, uint16_t types.
72303         * lib/unistr/ucs4-utf16.c: New file.
72304
72305 2006-12-25  Bruno Haible  <bruno@clisp.org>
72306
72307         * modules/unitypes: New file.
72308         * lib/unitypes.h: New file.
72309         * MODULES.html.sh (func_all_modules): New section "Unicode string
72310         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72311         this section. Add unitypes.
72312
72313 2007-01-08  Bruno Haible  <bruno@clisp.org>
72314
72315         Avoid variable names that conflict with those from libtool.
72316         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72317         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72318         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72319         library_names_spec to acl_library_names_spec, hardcode_* to
72320         acl_hardcode_*.
72321         Reported by Ralf Wildenhues.
72322
72323 2007-01-08  Bruno Haible  <bruno@clisp.org>
72324
72325         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72326         definition.
72327         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72328         definition.
72329         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72330         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72331         definition.
72332         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72333         definition.
72334         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72335         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72336         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72337         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72338         definition.
72339         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72340         definition.
72341         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72342         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72343         GC_USE_<algorithm>.
72344         * lib/gc-libgcrypt.c: Likewise.
72345         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72346         * modules/gc-arctwo (configure.ac): Likewise.
72347         * modules/gc-des (configure.ac): Likewise.
72348         * modules/gc-hmac-md5 (configure.ac): Likewise.
72349         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72350         * modules/gc-md2 (configure.ac): Likewise.
72351         * modules/gc-md4 (configure.ac): Likewise.
72352         * modules/gc-md5 (configure.ac): Likewise.
72353         * modules/gc-random (configure.ac): Likewise.
72354         * modules/gc-rijndael (configure.ac): Likewise.
72355         * modules/gc-sha1 (configure.ac): Likewise.
72356
72357 2007-01-08  Bruno Haible  <bruno@clisp.org>
72358
72359         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72360         macro definition.
72361         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72362         definition.
72363         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72364         definition.
72365         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72366         * modules/fcntl-safer (configure.ac): Likewise.
72367         * modules/fopen-safer (configure.ac): Likewise.
72368         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72369         GNULIB_FWRITEERROR macro definition.
72370
72371 2007-01-08  Bruno Haible  <bruno@clisp.org>
72372
72373         * m4/gnulib-common.m4: New file.
72374         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72375         (func_get_filelist): Add m4/gnulib-common.m4.
72376
72377 2007-01-08  Bruno Haible  <bruno@clisp.org>
72378
72379         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72380         command.
72381
72382 2007-01-08  Jim Meyering  <jim@meyering.net>
72383
72384         Use a more robust test for a "can't happen" condition.
72385         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72386         narrowed the st_size value.  Presuming the "can't happen" condition
72387         is true, that narrowing could conceivably convert an invalid st_size
72388         value into a valid one.  Instead, use a change based on Matthew
72389         Woehlke's original patch.
72390
72391         Slight readability improvement: use an assert-like macro
72392         in place of literal "abort ()" uses.
72393         * lib/fts.c (fts_assert): Define.
72394         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72395         Use this macro instead of a bare 'abort'.
72396
72397 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72400         simply work around them.
72401         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72402         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72403         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72404         declaring.
72405         Don't bother to define as macros, since the standard doesn't require it.
72406         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72407         longer worry about IRIX 5.3.
72408         (HAVE_WCTYPE_CTMP_BUG): Remove.
72409
72410 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72411
72412         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72413         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72414         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72415         Problems reported by Georg Schwarz for IRIX 5.3.
72416
72417         * gnulib-tool (autoconf_minversion): Take the maximum version number
72418         found, not the minimum.  Problem reported by James Youngman.
72419
72420 2007-01-03  Karl Berry  <karl@gnu.org>
72421
72422         * doc/error.texi: new file, explaining interaction with progname.
72423         * doc/gnulib.texi: include it.  Update copyright.
72424
72425 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72426
72427         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72428         AC_CANONICAL_HOST, to improve autobuild outputs.
72429
72430 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72431             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72432
72433         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72434         sockets, server sockets, and other file descriptors.  Count errors
72435         to compute the return value.  Reorder the code a bit to be easier
72436         to follow.  Don't set event bits that were not requested (except
72437         POLLERR and POLLHUP).
72438
72439 2007-01-01  Bruno Haible  <bruno@clisp.org>
72440
72441         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72442
72443 2007-01-03  Jim Meyering  <jim@meyering.net>
72444
72445         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72446
72447 2007-01-02  Bruno Haible  <bruno@clisp.org>
72448
72449         * modules/settime (Include): Require timespec.h.
72450         * modules/nanosleep (Include): Likewise.
72451
72452 2007-01-01  Bruno Haible  <bruno@clisp.org>
72453
72454         * gnulib-tool (func_emit_copyright_notice): Bump year.
72455         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72456
72457 2007-01-01  Bruno Haible  <bruno@clisp.org>
72458
72459         Improve support for OpenBSD.
72460         * build-aux/config.rpath (libname_spec): Export.
72461         (library_names_spec): New variable. Export.
72462         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72463         library_names_spec from the config.rpath output. Locate shared library
72464         through the name pattern in library_names_spec.
72465
72466 2007-01-01  Eric Blake  <ebb9@byu.net>
72467
72468         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72469
72470 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72471
72472         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72473         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72474         assume the C locale, and avoid an "eval" that could cause trouble.
72475         Problem with SORT reported by Bob Proulx.
72476
72477         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72478         Define.  Trivial patch from Henning Nielsen Lund, originally
72479         sent to bug-grep@gnu.org today.
72480
72481 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72482
72483         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72484         struct stat.  Problem reported by Henning Nielsen Lund.
72485         * lib/acl.c: Include acl.h first, to check interface.  Don't
72486         bother to include sys/types.h and sys/stat.h again.
72487
72488 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72489
72490         Import the following change from libc; problem reported by
72491         Sven Verdoolaege.
72492
72493         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72494
72495         [BZ #1373]
72496         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72497
72498 2006-12-28  Jim Meyering  <jim@meyering.net>
72499
72500         * build-aux/announce-gen: Do not assume that the package
72501         builds any of tar.gz, tar.bz2, and .xdelta files.
72502         Suggestion from Simon Josefsson.
72503
72504 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72505
72506         * modules/announce-gen: New file.
72507
72508 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72509
72510         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72511         handles its gotchas now.
72512         * lib/mbswidth.c: Likewise.
72513         * lib/wcwidth.h: Likewise.
72514         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72515         and iswcntrl; the wctype module does this stuff now.
72516         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72517         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72518         * modules/mbchar (Depends-on): Add wctype.
72519         * modules/mbswidth (Depends-on): Likewise.
72520         * modules/wcwidth (Depends-on): Likewise.
72521
72522 2006-12-27  Eric Blake  <ebb9@byu.net>
72523
72524         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72525         module uses more than what <wctype.h> is required to provide.
72526
72527 2006-12-26  Eric Blake  <ebb9@byu.net>
72528
72529         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72530
72531 2006-12-26  Eric Blake  <ebb9@byu.net>
72532
72533         * modules/absolute-header: New module.
72534         * modules/fcntl (Depends-on): Depend on it.
72535         * modules/inttypes (Depends-on): Likewise.
72536         * modules/stdint (Depends-on): Likewise.
72537         * modules/sys_stat (Depends-on): Likewise.
72538         * modules/wctype (Depends-on): Likewise.
72539         * MODULES.html.sh (Support for building libraries and
72540         executables): Document it.
72541
72542 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72543
72544         * gnulib-tool (SED): Remove, undoing previous change.
72545         The problem was that it broke coreutils on Solaris, because
72546         "sed --posix" leaked into a makefile.
72547         (sed): New alias, if 'alias' and GNU sed.
72548
72549 2006-12-24  Jim Meyering  <jim@meyering.net>
72550
72551         Work around an fchownat bug in glibc-2.4:
72552         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72553         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72554         in spite of the -P option.
72555         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72556         New macros.
72557         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72558         * modules/openat (Files): Add lib/fchownat.c.
72559         * lib/openat.c (fchownat): Don't define here.  Move to...
72560         * lib/fchownat.c: ...this new file.
72561
72562 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72563
72564         Fix bug reported by Bruno Haible in
72565         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72566         where quotearg.c didn't compile on Mac OS X 10.2 because it
72567         lacks <wchar.h> and wint_t.
72568         * lib/wctype_.h (__wctype_wint_t): New type.
72569         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72570         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72571         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72572         Arg is now of type __wctype_wint_t, not wint_t.
72573         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72574         substitute HAVE_WINT_T.
72575         * modules/wctype (Files): Add m4/wint_t.m4.
72576         (wctype.h): Substitute HAVE_WINT_T.
72577
72578 2006-12-23  Bruno Haible  <bruno@clisp.org>
72579
72580         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72581
72582 2006-12-23  Bruno Haible  <bruno@clisp.org>
72583
72584         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72585         S_ISLNK.
72586         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72587         mingw.
72588
72589 2006-12-22  Bruno Haible  <bruno@clisp.org>
72590
72591         * lib/copy-file.c: Include acl.h.
72592         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72593         Close the file descriptors only after being done with copy_acl.
72594         * modules/copy-file (Depends-on): Add acl.
72595
72596 2006-12-22  Bruno Haible  <bruno@clisp.org>
72597
72598         * gnulib-tool (SED): New variable.
72599         Use $SED instead of sed everywhere.
72600
72601 2006-12-22  Bruno Haible  <bruno@clisp.org>
72602
72603         * modules/no-c++: New file.
72604         * m4/no-c++.m4: New file.
72605         * MODULES.html.sh (Support for building libraries and executables):
72606         Add no-c++.
72607
72608 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72609
72610         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72611         Include <limits.h>, and use its INT_MAX to rewrite the
72612         j loop so that it does not overflow 'int'.  Problem reported by
72613         Ralf Wildenhues in
72614         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72615         Play it safe by shifting left by 1 rather than multiplying by 2,
72616         as GCC is less likely to optimize this away when the value
72617         is signed (when it assumes overflow leads to undefined behavior).
72618         Also, don't assume time_t uses two's complement.
72619
72620 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72621
72622         * MODULES.html.sh: New module wctype.
72623         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72624         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72625         <wctype.h>, since the new wctype module should fix this.
72626         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72627         the wctype module should arrange for it.
72628         * lib/regex_internal.h: Likewise.
72629         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72630         since the wctype module should handle this now.
72631         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72632         * modules/fnmatch (Depends-on): Add wctype.
72633         * modules/quotearg (Depends-on): Likewise.
72634         * modules/regex (Depends-on): Likewise.
72635
72636 2006-12-19  Bruno Haible  <bruno@clisp.org>
72637
72638         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72639         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72640
72641 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72642
72643         * modules/savewd (Depends-on): Fix dependency on fcntl.
72644
72645 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72646
72647         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72648         conforms to C99, rather than relying on the user's environment
72649         setting of STDINT_H.
72650
72651 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72652         and Eric Blake  <ebb9@byu.net>
72653
72654         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72655         This is more consistent with the other defines here.
72656         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72657         Port to z/OS.  Problem reported by Paul Gilmartin.
72658         Change local vars to use gl_ prefix rather than ac_.
72659         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72660         with other defines.
72661         * modules/double-slash-root: New module.
72662         * modules/dirname (Files): Remove m4/double-slash-root.m4.
72663         (Depends-on): Add double-slash-root.
72664         * MODULES.html.sh (File system functions): Mention new module.
72665
72666 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72667
72668         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
72669         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
72670         This is for the benefit of gzip, which doesn't do i18n.
72671
72672 2006-12-12  Jim Meyering  <jim@meyering.net>
72673
72674         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
72675         Reported by Andreas Schwab <schwab@suse.de>.
72676
72677 2006-12-12  Bruno Haible  <bruno@clisp.org>
72678
72679         Merge these changes.
72680         2006-09-05  Bruno Haible  <bruno@clisp.org>
72681         * lib/iconvme.c (iconv_string): No need to save and restore errno when
72682         iconv_alloc succeeded.
72683         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
72684         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72685         test for " && dest " at the end - dest is always != NULL there. Call
72686         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72687         with 2xNULL arguments, also to flush the state storage. Handle the
72688         IRIX iconv behaviour. Realloc the final result, to throw away unused
72689         memory.
72690
72691 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72692
72693         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72694         and fchmodat unconditionally, since glibc 2.4 has them.
72695         Problem reported by Arkadiusz Miskiewicz.
72696
72697 2006-12-10  Bruno Haible  <bruno@clisp.org>
72698
72699         * gnulib-tool (func_import): Show the include files only for those
72700         modules that are copied and specified.
72701         Reported by Karl Berry.
72702
72703 2006-12-08  Jim Meyering  <jim@meyering.net>
72704
72705         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72706         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72707
72708         * build-aux/announce-gen: Add two new options, both optional:
72709         --bootstrap-tools=TOOL_LIST
72710               a comma-separated list of tools, e.g.,
72711               autoconf,automake,bison,gnulib
72712         --gnulib-snapshot-date=DATE
72713               if gnulib is in the bootstrap tool list,
72714               then report this as the snapshot date.
72715               If not specified, use the current date/time.
72716               If you specify a date here, be sure it's UTC.
72717
72718 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72719
72720         * tests/test-argp-2.sh: Fix test to match actual output.
72721         (func_compare): Fix sed script to be portable.
72722
72723 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72724
72725         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72726         workaround for this case.  It is not autoconfigured now; offhand
72727         it's hard to see how to autoconfigure it.
72728
72729 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72732         a directory that is about to be chowned.  Such a directory's
72733         initial file permissions should permit the owner only and this
72734         should not be changed until after the chown, since the group and
72735         other bits would be incorrect if they granted permission before
72736         the chown.
72737
72738         Fix porting problem for iswctype reported by Georg Schwarz in:
72739         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72740         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72741         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72742         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72743         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72744
72745 2006-12-03  Jim Meyering  <jim@meyering.net>
72746
72747         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72748         p->fts_statp may not yet be defined.
72749         (fts_read): Instead, set it in the caller, once p->fts_statp is
72750         sure to be defined, and corresponds to a top-level directory.
72751         This bug made du -x fail.  Here's the coreutils test case:
72752         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72753         Reported by Mike Frysinger.
72754
72755 2006-12-01  Jim Meyering  <jim@meyering.net>
72756
72757         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72758         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72759         Reported by Simon Josefsson.
72760
72761 2006-11-30  Jim Meyering  <jim@meyering.net>
72762
72763         * m4/warning.m4: Use the all-permissive copyright notice
72764         recommended by RMS (rather than LGPL).
72765         * m4/vararrays.m4: Likewise.
72766         * m4/flexmember.m4: Likewise.
72767
72768 2006-11-29  Bruno Haible  <bruno@clisp.org>
72769
72770         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72771         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72772         using +=.
72773         Reported by Simon Josefsson <simon@josefsson.org>.
72774
72775 2006-11-28  James Youngman <jay@gnu.org>
72776
72777         * README: Advise users that they might find the bug-gnulib@gnu.org
72778         and autotools-announce@gnu.org mailing lists useful.
72779
72780 2006-11-28  Bruno Haible  <bruno@clisp.org>
72781
72782         * m4/ptrdiff_max.m4: Remove file.
72783
72784 2006-11-21  Bruno Haible  <bruno@clisp.org>
72785
72786         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72787         _AC_COMPUTE_INT.
72788         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72789         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72790         _AC_COMPUTE_INT.
72791         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72792         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72793         _AC_COMPUTE_INT.
72794         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72795
72796 2006-11-28  Jim Meyering  <jim@meyering.net>
72797
72798         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72799         warning from "gcc -Wshadow" about shadowing the builtin.
72800
72801 2006-11-27  Bruno Haible  <bruno@clisp.org>
72802
72803         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72804         _AC_COMPUTE_INT.
72805         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72806
72807 2006-11-27  Bruno Haible  <bruno@clisp.org>
72808             Paul Eggert  <eggert@cs.ucla.edu>
72809
72810         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72811
72812 2006-11-26  Bruno Haible  <bruno@clisp.org>
72813
72814         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72815         noinst_LTLIBRARIES.
72816
72817 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72818             Bruno Haible  <bruno@clisp.org>
72819
72820         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72821         if compiling with "gcc -ansi".
72822
72823 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72824
72825         Fix some incompatibilities with gcc -ansi -pedantic.
72826         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72827         if compiling pedantically with GCC, unless it's C99 or later.
72828         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72829         it mishandles gcc -ansi -pedantic as well.
72830         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72831         if gcc -pedantic.
72832         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72833         initializers for struct if -pedantic, unless it's C99 or later.
72834
72835 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72836
72837         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72838         Don't close an fd more than once. Identical atimes indicate
72839         success, not failure.
72840
72841 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72842
72843         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72844
72845 2006-11-23  Jim Meyering  <jim@meyering.net>
72846
72847         * build-aux/announce-gen: New file.  From coreutils.
72848
72849 2006-11-22  Jim Meyering  <jim@meyering.net>
72850
72851         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72852         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72853         (fts_read): Use a temporary to narrow the overused st_size member
72854         before using it in a switch statement.  Reported by Matthew Woehlke.
72855
72856         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72857         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72858
72859 2006-11-20  Bruno Haible  <bruno@clisp.org>
72860
72861         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72862         changequote instead of pairs of brackets.
72863         Reported by Andreas Schwab <schwab@suse.de>.
72864
72865 2006-11-21  Jim Meyering  <jim@meyering.net>
72866
72867         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72868         so as to remain compatible with older compilers.
72869         Patch from Michael Deutschmann.
72870
72871 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72872
72873         * MODULES.html.sh (File system functions): Add openat.
72874
72875         * lib/openat.h (rpl_fstatat): New macro, if
72876         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72877         (fstatat): Define to rpl_fstatat under the same conditions,
72878         unless COMPILING_FSTATAT.
72879         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72880         seems to have the bug.
72881         * lib/fstatat.c: New file.
72882         * modules/openat (Files): Add it.
72883
72884 2006-11-20  Bruno Haible  <bruno@clisp.org>
72885
72886         * Makefile: New file.
72887
72888 2006-11-20  Jim Meyering  <jim@meyering.net>
72889
72890         The beginnings of syntax-related checks for gnulib.
72891         * lib/Makefile: New file.
72892         * lib/t-idcache: New script.  Ensure that the two halves of
72893         idcache.c stay in sync.
72894
72895         * lib/idcache.c: Adjust comments in user- and group- portions to
72896         be more accurate, and to be consistent with one another.
72897
72898 2006-11-20  Jim Meyering  <jim@meyering.net>
72899
72900         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72901         continue using the flexible array member (thus, this module performs
72902         half as many malloc calls), with the addition that...
72903         (getgroup, getuser): Consistently record a non-match via an empty
72904         "name" string, and map an empty string match to a NULL return value.
72905         * modules/idcache (Depends-on): Re-add flexmember.
72906
72907         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72908         (getuidbyname, getgroup, getgidbyname): Likewise.
72909
72910         Use cleaner syntax: NULL rather than 0.
72911         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72912
72913 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72914
72915         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72916         It mishandled the case where the group was missing.
72917         Problem reported by Greg Schafer.
72918         * modules/idcache: Likewise.
72919
72920 2006-11-18  Jim Meyering  <jim@meyering.net>
72921
72922         * check-module (%exempt_header): Add exception for some
72923         conditionally-included headers.
72924
72925         * modules/i-ring (Depends-on): Add verify.
72926         (License): Change to LGPL.
72927
72928 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72929
72930         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72931         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72932         and inttostr.h.  Use snprintf rather than uinttostr, so that
72933         LGPLed code doesn't depend on GPLed.
72934
72935 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * modules/inline (License): Change from GPL to LGPL.
72938
72939 2006-11-17  Jim Meyering  <jim@meyering.net>
72940
72941         * modules/d-type (License): Switch to LGPL.
72942
72943 2006-11-15  Bruno Haible  <bruno@clisp.org>
72944
72945         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72946
72947 2006-11-15  Eric Blake  <ebb9@byu.net>
72948
72949         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72950         the module dependency.
72951
72952 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72953             Bruno Haible  <bruno@clisp.org>
72954
72955         * gnulib-tool (func_create_testdir): Add license consistency check.
72956
72957 2006-11-15  Eric Blake  <ebb9@byu.net>
72958
72959         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72960         random "(cached)" in configure output.
72961
72962 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72963
72964         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72965         test for conforming inttypes.h is both announced and cached.
72966
72967         * MODULES.html.sh (seen_modules, seen_files): New variables.
72968         (func_module): Rewrite to use a few less gnulib-tool and sed
72969         invocations.  Avoid a couple of quadratic algorithms for ...
72970         (missed_modules, missed_files): ... these, with ...
72971         (func_append, func_tmpdir): ... these new functions, from
72972         gnulib-tool.  Analogously, install traps for cleanup.
72973
72974         * tests/test-gc.c (main): Remove unused variables.
72975         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72976
72977 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72978
72979         * modules/inttostr (License): Change to LGPL.
72980
72981 2006-11-14  Eric Blake  <ebb9@byu.net>
72982
72983         * modules/tempname (License): Change to LGPL.
72984
72985 2006-11-14  Eric Blake  <ebb9@byu.net>
72986
72987         * doc/functions.texi (Function Portability): *printf functions on
72988         Cygwin now understand all POSIX size specifiers.
72989
72990 2006-11-14  Bruno Haible  <bruno@clisp.org>
72991
72992         * modules/c-ctype (License): Change to LGPL.
72993
72994 2006-11-12  Bruno Haible  <bruno@clisp.org>
72995
72996         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
72997         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
72998         for GNOME libraries, for which the include files are installed in
72999         subdirectories of $prefix/include.
73000
73001 2006-11-12  Bruno Haible  <bruno@clisp.org>
73002
73003         * m4/lib-link.m4: Require at least autoconf-2.54.
73004         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73005         name to underscores for the --with option.
73006
73007 2006-11-13  Bruno Haible  <bruno@clisp.org>
73008
73009         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73010         the tests directory.
73011         Reported by Ralf Wildenhues.
73012
73013 2006-11-13  Bruno Haible  <bruno@clisp.org>
73014
73015         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73016         (func_emit_initmacro_end): Undo the override here.
73017         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73018         Works around the famous automake error in coreutils.
73019
73020 2006-11-13  Eric Blake  <ebb9@byu.net>
73021
73022         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73023         element, not its node.
73024
73025 2006-11-12  Bruno Haible  <bruno@clisp.org>
73026
73027         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73028         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73029
73030 2006-11-12  Bruno Haible  <bruno@clisp.org>
73031
73032         * gnulib-tool: New option --local-symlink.
73033         (func_usage): Document it.
73034         (lsymbolic): New variable.
73035         (func_import, func_create_testdir): If --symlink was not specified,
73036         test whether --local-symlink was specified and the file comes from
73037         the local_gnulib_dir.
73038
73039 2006-11-12  Bruno Haible  <bruno@clisp.org>
73040
73041         * gnulib-tool (func_ln): New function.
73042         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73043
73044 2006-11-12  Bruno Haible  <bruno@clisp.org>
73045
73046         Finish support for source files in subdirectories.
73047         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73048         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73049         AUTOMAKE_OPTIONS.
73050         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73051
73052 2006-11-12  Bruno Haible  <bruno@clisp.org>
73053
73054         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73055         EXTRA_lib_SOURCES augmentation.
73056         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73057
73058 2006-11-12  Jim Meyering  <jim@meyering.net>
73059
73060         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73061         file descriptors.  This also averts a failure on systems with
73062         native openat support when a traversed directory lacks "x" access.
73063         * lib/fts_.h: Include "i-ring.h"
73064         (struct FTS) [fts_fd_ring]: New member.
73065         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73066         (FCHDIR): Add parentheses.
73067         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73068         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73069         When descending, rather than simply closing the previous
73070         fts_cwd_fd value, push that file descriptor onto the ring.
73071         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73072         (fts_open): Initialize the new fd_ring member.
73073         (fts_close): Clear the ring.
73074         (fts_safe_changedir): When possible, use our new fd_ring to skip
73075         the diropen and fstat and dev/ino comparison that would normally
73076         accompany a virtual `chdir ("..")'.
73077
73078         * modules/fts (Depends-on): Add i-ring.
73079         * modules/i-ring: New module.
73080         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73081         * m4/i-ring.m4: New file.
73082
73083 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73084
73085         * gnulib-tool (func_create_testdir): Fix replacement of
73086         `build-aux' in configure.ac.  Run autotools in gltests
73087         subdirectory.
73088         (func_create_testdir, func_create_megatestdir, test): There is
73089         no need for '--force' in most autotool invocations in a new
73090         tree.  Actually fail the whole test if any of the tools, or the
73091         configure or make stages fail.
73092
73093         Sync from Automake.
73094         * build-aux/gnupload: Revert last change.  Add pointer to upload
73095         instructions of the GNU Maintenance Instructions.
73096         Suggestion by Karl Berry.
73097
73098 2006-11-10  Jim Meyering  <jim@meyering.net>
73099
73100         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73101
73102 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73103
73104         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73105         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73106         (bind_textdomain_codeset) [! ENABLE_NLS]:
73107         Evaluate all the arguments.  That way, callers get compatible behavior
73108         if the arguments have side effects.  Also, it avoids some GCC
73109         diagnostics in some cases; Joel E. Denny reported problems when Bison
73110         was configured with --enable-gcc-warnigs.
73111
73112 2006-11-10  Jim Meyering  <jim@meyering.net>
73113
73114         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73115         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73116         account.
73117
73118 2006-11-10  Jim Meyering  <jim@meyering.net>
73119
73120         * modules/inline: New file/module.
73121         * modules/xalloc (Files): Remove m4/inline.m4.
73122         (Depends-on): Add inline, instead.
73123         * modules/oset: Likewise.
73124         * modules/list: Likewise.
73125
73126 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73127
73128         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73129         Problem reported by Matthew Woehlke.
73130
73131 2006-11-09  Bruno Haible  <bruno@clisp.org>
73132
73133         * lib/tempname.c (gen_tempname): Remove variant that invokes
73134         __gen_tempname.
73135         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73136         __gen_tempname.
73137
73138 2006-11-08  Bruno Haible  <bruno@clisp.org>
73139
73140         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73141         to 'yes' instead of 'cross-compiling'.
73142
73143 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         * lib/quotearg.h (quotearg_free): New decl.
73146         * lib/quotearg.c (quotearg_free): New function.
73147         (slot0, nslots, slotvec0, slotvec):
73148         Now file-scope so that quotearg_free can get at them.
73149
73150 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73151
73152         Sync from Automake.
73153         * build-aux/gnupload: Add missing 'gnu' to example URL.
73154         Report by Karl Berry.
73155
73156 2006-11-08  Bruno Haible  <bruno@clisp.org>
73157
73158         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73159         Suggested by Paul Eggert.
73160
73161 2006-11-08  Jim Meyering  <jim@meyering.net>
73162
73163         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73164         It's already included if !_LIBC.
73165         (fts_safe_changedir): Add a comment.
73166
73167 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73170         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73171         Matthew Woehlke.
73172
73173         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73174         definitions up, to avoid colliding with change below.
73175         (static_inline) [HAVE_INLINE]: New macro.
73176         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73177         Provide extern decls when !HAVE_INLINE.  Do not define unless
73178         static_inline is defined, either by us or by xmalloc.c.  Use
73179         static_inline rather than static inline.
73180         (XCALLOC): Optimize sizeof(T) = 1 case.
73181         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73182
73183 2006-11-07  Bruno Haible  <bruno@clisp.org>
73184
73185         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73186         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73187         AC_C_INLINE.
73188         * modules/xalloc (Files): Add m4/inline.m4.
73189
73190 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73191
73192         * README: Fix typo.
73193         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73194         (Miscellanous Notes): ...from this.
73195
73196 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73197
73198         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73199         Mention that offsetof should be used instead of sizeof.
73200         From Bruno Haible.
73201
73202 2006-11-07  Bruno Haible  <bruno@clisp.org>
73203
73204         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73205
73206 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73207
73208         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73209         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73210         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73211         (gl_tree_add_before, gl_tree_add_after):
73212         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73213         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73214         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73215         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73216         (gl_linked_add_after, gl_linked_add_at): Likewise.
73217         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73218         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73219         (gl_tree_add_before, gl_tree_add_after): Likewise.
73220         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73221         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73222         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73223
73224 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73225
73226         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73227
73228 2006-11-06  Bruno Haible  <bruno@clisp.org>
73229
73230         * m4/inline.m4: New file.
73231         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73232         * modules/list (Files): Add m4/inline.m4.
73233         * modules/oset (Files): Likewise.
73234
73235 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73236
73237         * lib/idcache.c: Include <stddef.h>, for offsetof.
73238         (struct userid.name): Change from char * to a flexible array member.
73239         All uses changed.
73240         * modules/idcache (Depends-on): Add flexmember.
73241
73242         * MODULES.html.sh (Core language properties): New module flexmember.
73243         * modules/flexmember, m4/flexmember.m4: New files.
73244
73245         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73246         inline functions that are identical with the old xnmalloc_inline,
73247         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73248         that we can avoid some unnecessary integer multiplications and
73249         divisions in the common case where the element size is known at
73250         compile time.
73251         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73252         needed.
73253         (xnboundedmalloc): Remove.
73254         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73255         arguments, for consistency with rest of this header.
73256         (xcharalloc): Rewrite using XNMALLOC.
73257         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73258         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73259         versions have been moved to lib/xalloc.h and renamed to be the
73260         non-*_inline versions.
73261         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73262         and xnrealloc functions, since those functions are now inline and
73263         now call us.
73264         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73265         renaming described above.
73266         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73267         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73268         captures the dependency in AC_C_INLINE.
73269
73270         New module canonicalize-lgpl, proposed by Charles Wilson in
73271         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73272         with a few small changes afterwards.
73273         * MODULES.html.sh (File system functions): New module
73274         canonicalize-lgpl.
73275         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73276         and canonicalize_file_name.
73277         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73278         * modules/canonicalize-lgpl: New files.
73279
73280 2006-11-05  Bruno Haible  <bruno@clisp.org>
73281
73282         * gnulib-tool (func_import, func_create_testdir): Create directories
73283         also for files in subdirectories of lib/.
73284
73285 2006-11-05  Bruno Haible  <bruno@clisp.org>
73286
73287         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73288         ANSI C compliant.
73289
73290 2006-11-03  Bruno Haible  <bruno@clisp.org>
73291
73292         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73293         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73294         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73295         (xnboundedmalloc): New inline function.
73296         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73297         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73298         xmalloc.
73299         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73300         xmalloc.
73301         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73302         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73303         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73304         xmalloc.
73305         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73306         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73307         xmalloc.
73308         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73309         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73310         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73311         xmalloc.
73312         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73313         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73314         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73315         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73316         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73317         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73318         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73319
73320 2006-11-03  Bruno Haible  <bruno@clisp.org>
73321
73322         * lib/c-ctype.h [C++]: Define functions without name mangling.
73323         * lib/fwriteerror.h [C++]: Likewise.
73324         * lib/gcd.h [C++]: Likewise.
73325         * lib/linebreak.h [C++]: Likewise.
73326
73327 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73328
73329         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73330         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73331         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73332         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73333         Check for functions and headers just once.
73334         Check for declaration of canonicalize_file_name.
73335         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73336
73337 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73338
73339         * gnulib-tool (func_import): Fix typo in actioncmd.
73340
73341 2006-11-02  Bruno Haible  <bruno@clisp.org>
73342
73343         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73344         newline sequence in the Makefile.am snippet as a space, like "make"
73345         does.
73346         Reported by Roger Persson <perrog@gmail.com>.
73347
73348 2006-11-01  Bruno Haible  <bruno@clisp.org>
73349
73350         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73351         already declared in <string.h>.
73352         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73353
73354 2006-11-01  Bruno Haible  <bruno@clisp.org>
73355
73356         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73357         * lib/strcase.h: Include <string.h>.
73358         (strcasecmp): Define to rpl_strcasecmp here.
73359
73360 2006-11-01  Bruno Haible  <bruno@clisp.org>
73361
73362         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73363
73364 2006-11-01  Eric Blake  <ebb9@byu.net>
73365
73366         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73367
73368         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73369
73370 2006-10-29  Bruno Haible  <bruno@clisp.org>
73371
73372         Make it compile in C++ mode.
73373         * lib/full-write.c (full_rw): Add a cast.
73374
73375 2006-11-01  Bruno Haible  <bruno@clisp.org>
73376
73377         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73378         be POSIX compliant.
73379         Reported by Roger Persson <perrog@gmail.com>.
73380
73381 2006-11-01  Eric Blake  <ebb9@byu.net>
73382
73383         * lib/getopt_.h: Fix comments.
73384
73385 2006-10-31  Eric Blake  <ebb9@byu.net>
73386
73387         * modules/tmpdir (Depends-on): Add sys_stat.
73388         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73389         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73390         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73391         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73392         tempname.
73393
73394 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73395
73396         Avoid some C++ diagnostics reported by Bruno Haible.
73397         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73398         xmalloc.
73399         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73400         (struct slotvec): Move to top level.
73401         (quotearg_n_options): Rewrite to avoid xmalloc.
73402         * lib/xalloc.h (xcharalloc): New function.
73403         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73404         [defined __cplusplus]: Add function template that provides result
73405         type propagation.  This part of the change is from Bruno Haible.
73406
73407 2006-10-29  Bruno Haible  <bruno@clisp.org>
73408
73409         Make it compile in C++ mode.
73410         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73411         * lib/strnlen1.c (strnlen1): Cast memchr result.
73412         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73413         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73414         (create_temp_dir): Rename local variable 'template'.
73415         (compile_csharp_using_sscli): Add cast.
73416         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73417         * lib/findprog.c (find_in_path): Likewise.
73418         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73419         * lib/wait-process.c (register_slave_subprocess): Likewise.
73420
73421 2006-10-22  Bruno Haible  <bruno@clisp.org>
73422
73423         * modules/tsearch: New file.
73424         * lib/tsearch.h: New file.
73425         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73426         * m4/tsearch.m4: New file.
73427         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73428
73429 2006-10-29  Eric Blake  <ebb9@byu.net>
73430
73431         * lib/arcfour.c: Assume config.h.
73432         * lib/arctwo.c: Likewise.
73433         * lib/base64.c: Likewise.
73434         * lib/check-version.c: Likewise.
73435         * lib/crc.c: Likewise.
73436         * lib/des.c: Likewise.
73437         * lib/gc-gnulib.c: Likewise.
73438         * lib/gc-libgcrypt.c: Likewise.
73439         * lib/gc-pbkdf2-sha1.c: Likewise.
73440         * lib/getaddrinfo.c: Likewise.
73441         * lib/getdelim.c: Likewise.
73442         * lib/getline.c: Likewise.
73443         * lib/hmac-md5.c: Likewise.
73444         * lib/hmac-sha1.c: Likewise.
73445         * lib/iconvme.c: Likewise.
73446         * lib/md2.c: Likewise.
73447         * lib/md4.c: Likewise.
73448         * lib/memxor.c: Likewise.
73449         * lib/read-file.c: Likewise.
73450         * lib/readline.c: Likewise.
73451         * lib/rijndael-alg-fst.c: Likewise.
73452         * lib/rijndael-api-fst.c: Likewise.
73453         * lib/xgetdomainname.c: Likewise.
73454
73455 2006-10-28  Eric Blake  <ebb9@byu.net>
73456
73457         * lib/xstrndup.c: Assume config.h.
73458
73459 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73460
73461         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73462         stat-macros.h is now for our own macros, whereas stat_h is for
73463         macros in the <sys/stat.h> name space.
73464         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73465         (STAT_MACROS_H): Remove.
73466         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73467         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73468         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73469         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73470         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73471         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73472         Move these macros to ...
73473         * lib/stat_.h: here.  Don't include stat-macros.h.
73474         * lib/canonicalize.c: Don't include stat-macros.h.
73475         * lib/chown.c: Likewise.
73476         * lib/euidaccess.c: Likewise.
73477         * lib/file-type.c: Likewise.
73478         * lib/filemode.c: Likewise.
73479         * lib/glob.c: Likewise.
73480         * lib/isapipe.c: Likewise.
73481         * lib/lchown.c: Likewise.
73482         * lib/lstat.c: Likewise.
73483         * lib/mkdir-p.c: Likewise.
73484         * lib/rmdir.c: Likewise.
73485         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73486         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73487         unless mkdir isn't declared, to speed up 'configure'.
73488         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73489         would define all the S_* symbols.
73490         * modules/canonicalize (Depends-on):
73491         Depend on sys_stat, not stat-macros.
73492         * modules/chown: Likewise.
73493         * modules/euidaccess: Likewise.
73494         * modules/filemode: Likewise.
73495         * modules/file-type: Likewise.
73496         * modules/glob: Likewise.
73497         * modules/isapipe: Likewise.
73498         * modules/lchown: Likewise.
73499         * modules/lstat: Likewise.
73500         * modules/mkancesdirs: Likewise.
73501         * modules/rmdir: Likewise.
73502         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73503         * modules/modechange: Likewise.
73504         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73505         (configure.ac): Remove gl_STAT_MACROS.
73506         * modules/sys_stat (Depends-on): Remove stat-macros.
73507
73508 2006-10-27  Bruno Haible  <bruno@clisp.org>
73509
73510         * m4/signed.m4: Remove file.
73511         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73512         invocation.
73513         * modules/vasnprintf (Files): Remove m4/signed.m4.
73514
73515 2006-10-27  Bruno Haible  <bruno@clisp.org>
73516
73517         Update to GNU gettext 0.16.
73518         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73519         m4/inttypes-h.m4, m4/signed.m4.
73520         * m4/gettext.m4: Update to GNU gettext 0.16.
73521         * m4/intl.m4: New file, from GNU gettext.
73522         * m4/intldir.m4: New file, from GNU gettext.
73523         * config/srclist.txt: Update
73524
73525 2006-10-27  Eric Blake  <ebb9@byu.net>
73526
73527         * MODULES.html.sh: Document tempname.
73528         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73529         dependencies.
73530         (Files): Move lib/tempname.c...
73531         * modules/tempname: ...to this new module.
73532         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73533         (gl_PREREQ_TEMPNAME): Move...
73534         * m4/tempname.m4: ...to this new file.
73535         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73536         * modules/sys_stat (Depends-on): Add stat-macros.
73537         * lib/stat_.h (includes): Pick up stat macros.
73538         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73539         if stat macros are broken.
73540         * lib/tempname.c (includes): No need to include "stat-macros.h".
73541         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73542         (direxists, __path_search) [!_LIBC]: Don't compile these in
73543         gnulib; the tmpdir module covers that.
73544         * lib/tempname.h: New file.
73545
73546 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73547
73548         * COPYING: Explain how gnulib-tool converts licence headers.
73549         Almost all wording by Eric Blake.
73550
73551 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73552
73553         * lib/mbchar.h (is_basic_table): Make read-only.
73554         * lib/mbchar.c (is_basic_table): Likewise.
73555         Reported by John Darrington.
73556
73557 2006-10-25  Bruno Haible  <bruno@clisp.org>
73558
73559         * lib/progname.h (set_program_name): Undefine before defining.
73560
73561 2006-10-25  Bruno Haible  <bruno@clisp.org>
73562
73563         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73564         false for non-gcc C++ compilers.
73565         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73566
73567 2006-10-24  Bruno Haible  <bruno@clisp.org>
73568
73569         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73570         iconv implementations like Irix iconv.
73571
73572 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73573
73574         * modules/vararrays: New file.
73575         * m4/vararrays.m4: New file, taken from diffutils.
73576         * MODULES.html.sh: New module vararrays.
73577
73578 2006-10-24  Karl Berry  <karl@gnu.org>
73579
73580         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73581         Don't call GNU Unix.
73582
73583 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73584
73585         * users.txt: Add Libtool.
73586
73587         Sync from Libtool:
73588
73589         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73590
73591         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73592         to gnulib's policy of including config.h unconditionally.
73593
73594 2006-10-24  Bruno Haible  <bruno@clisp.org>
73595
73596         * modules/wcwidth (Files): Add m4/wint_t.m4.
73597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73598         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73599
73600 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73601
73602         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73603         to pacify GCC with some -W flags enabled.  Problem reported by
73604         Bruno Haible.
73605
73606 2006-10-24  Jim Meyering  <jim@meyering.net>
73607
73608         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73609         Reported by Karl Berry.
73610
73611 2006-10-23  Bruno Haible  <bruno@clisp.org>
73612
73613         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73614
73615 2006-10-24  Bruno Haible  <bruno@clisp.org>
73616
73617         * lib/gl_list.h: Use C comment style, not C++ comment style.
73618
73619 2006-10-23  Eric Blake  <ebb9@byu.net>
73620
73621         * lib/getaddrinfo.c (includes): Add missing include.
73622
73623 2006-10-23  Bruno Haible  <bruno@clisp.org>
73624             Paul Eggert  <eggert@cs.ucla.edu>
73625
73626         Ability to rename obstack_free.
73627         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73628         obstack_free.
73629         (obstack_free): Invoke the __obstack_free macro.
73630         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73631
73632 2006-10-23  Bruno Haible  <bruno@clisp.org>
73633             Paul Eggert  <eggert@cs.ucla.edu>
73634
73635         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73636         __argc, __argv from the declaration. (They are defined as macros on
73637         mingw.)
73638
73639 2006-10-22  Bruno Haible  <bruno@clisp.org>
73640
73641         * doc/gnulib-intro.texi: New file.
73642         * doc/gnulib.texi: Include it.
73643
73644 2006-10-21  Bruno Haible  <bruno@clisp.org>
73645
73646         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73647         "Introduction", "Miscellanous Notes", "Particular Modules".
73648
73649 2006-10-21  Bruno Haible  <bruno@clisp.org>
73650
73651         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73652         Change mostlyclean-local rule to avoid sh syntax error from bash
73653         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73654
73655 2006-10-23  Jim Meyering  <jim@meyering.net>
73656
73657         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73658         in place of snprintf.
73659
73660         * modules/inttostr (Files): Add lib/uinttostr.c.
73661         * lib/uinttostr.c (inttostr): New file/function.
73662         * lib/inttostr.h (uinttostr): Declare.
73663         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
73664         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73665         Add uinttostr.
73666         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
73667
73668 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73669
73670         * lib/canonicalize.c (ELOOP): Define if not already defined.
73671         Problem reported by Bruno Haible in
73672         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
73673
73674 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73675
73676         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
73677         Problem reported by Perry Smith and Ville Laurikari.
73678
73679         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
73680         uses.
73681
73682 2006-10-19  Bruno Haible  <bruno@clisp.org>
73683
73684         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73685         for mingw.
73686
73687 2006-10-19  Bruno Haible  <bruno@clisp.org>
73688
73689         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73690         Needed for mingw.
73691
73692 2006-10-19  Bruno Haible  <bruno@clisp.org>
73693
73694         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73695
73696 2006-10-19  Bruno Haible  <bruno@clisp.org>
73697
73698         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73699         it.
73700
73701 2006-10-19  Bruno Haible  <bruno@clisp.org>
73702
73703         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73704         invocation.
73705
73706 2006-10-19  Bruno Haible  <bruno@clisp.org>
73707
73708         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73709         mountlist by default.
73710
73711 2006-10-16  Bruno Haible  <bruno@clisp.org>
73712
73713         * lib/c-strstr.c: Include c-strstr.h.
73714
73715 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73716
73717         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73718         in a slash.
73719
73720 2006-10-18  Bruno Haible  <bruno@clisp.org>
73721
73722         * lib/lock.h [C++]: Wrap definitions in extern "C".
73723
73724 2006-10-18  Bruno Haible  <bruno@clisp.org>
73725
73726         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73727         gl_LIBOBJS list.
73728
73729 2006-10-18  Bruno Haible  <bruno@clisp.org>
73730
73731         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73732
73733 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73734
73735         * lib/xstrtol.h: Include gettext.h.
73736         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73737         Problem reported by Eric Blake.
73738         * modules/xstrtol (Depends-on): Add gettext-h.
73739
73740 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73741
73742         * lib/strftime.c (advance): New macro.
73743         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73744         incomplete type, so you can't add 0 to it.  Problem and patch
73745         reported by Eelco Dolstra for dietlibc.
73746
73747 2006-10-18  Jim Meyering  <jim@meyering.net>
73748
73749         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73750         type for a local, and rename it: s/up/user_proc/.
73751
73752 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73753
73754         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73755         READ_UTMP_USER_PROCESS.
73756         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73757
73758 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73759
73760         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73761         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73762
73763 2006-10-17  Eric Blake  <ebb9@byu.net>
73764
73765         * lib/sigprocmask.c (sigprocmask): Fix typo.
73766
73767         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73768
73769         * modules/clean-temp (Makefile.am): Don't add to make output...
73770         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73771         config.h.
73772
73773 2006-10-17  Bruno Haible  <bruno@clisp.org>
73774
73775         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73776         differently if DEFAULT_TEXT_DOMAIN is set.
73777
73778 2006-10-16  Bruno Haible  <bruno@clisp.org>
73779
73780         * lib/clean-temp.c: Include fwriteerror.h.
73781
73782 2006-10-16  Bruno Haible  <bruno@clisp.org>
73783
73784         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73785
73786 2006-10-16  Bruno Haible  <bruno@clisp.org>
73787
73788         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73789         * lib/sigprocmask.h: Include <sys/types.h>.
73790         (sigset_t): Use the system's definition if present.
73791
73792 2006-10-17  Eric Blake  <ebb9@byu.net>
73793
73794         * lib/xvasprintf.c (includes): Assume config.h.
73795         * lib/xasprintf.c (includes): Likewise.
73796
73797 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73798
73799         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73800         at least as wide as intmax_t.
73801
73802 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73803
73804         (Imported from Automake.)
73805         * build-aux/gnupload: Update to version 1.1 of directive file.
73806
73807 2006-10-16  Eric Blake  <ebb9@byu.net>
73808
73809         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73810         match Automake 1.10a.
73811
73812 2006-10-14  Bruno Haible  <bruno@clisp.org>
73813
73814         * modules/sigprocmask: New file.
73815         * lib/sigprocmask.h: New file.
73816         * lib/sigprocmask.c: New file.
73817         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73818         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73819         request sigprocmask.o.
73820         (gl_PREREQ_SIGPROCMASK): New macro.
73821         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73822         (Depends-on): Add sigprocmask.
73823         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73824         gt_SIGNALBLOCKING. Test for 'raise' only once.
73825         * lib/fatal-signal.c: Include sigprocmask.h.
73826         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73827         unblock_fatal_signals): Define always.
73828         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73829         sigprocmask.
73830
73831 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73832
73833         Sync from Automake.
73834         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73835         which incorrectly sets the mode of an existing destination
73836         directory.  In some cases the unpatched install-sh could do the
73837         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73838         system.  We hope this is rare in practice, but it's clearly worth
73839         fixing.  Problem reported by Alex Unleashed in
73840         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73841         Also, don't bother to check for -m bugs unless we're using -m;
73842         suggested by Stepan Kasal.
73843
73844 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73845
73846         Sync from Automake.
73847         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73848         `-c' flag, so they appear at the same position as in %FASTDEP%
73849         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73850         which ignores unknown options only after the first non-option.
73851         Bug report against M4 by Nelson H. F. Beebe.
73852
73853 2006-10-13  Jim Meyering  <jim@meyering.net>
73854
73855         Fix a bug in yesterday's change.
73856         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73857         p->fts_statp->st_dev would be used uninitialized.
73858         Ensures that we always call fts_stat on the very first entry.
73859         Miklos Szeredi reported that find -xdev stopped working.
73860
73861 2006-10-12  Bruno Haible  <bruno@clisp.org>
73862
73863         * gnulib-tool (func_get_automake_snippet): Append an automatically
73864         computed EXTRA_DIST augmentation.
73865         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73866         * modules/alloca-opt (Makefile.am): Likewise.
73867         * modules/allocsa (Makefile.am): Likewise.
73868         * modules/arcfour (Makefile.am): Likewise.
73869         * modules/arctwo (Makefile.am): Likewise.
73870         * modules/argmatch (Makefile.am): Likewise.
73871         * modules/argz (Makefile.am): Likewise.
73872         * modules/atexit (Makefile.am): Likewise.
73873         * modules/backupfile (Makefile.am): Likewise.
73874         * modules/byteswap (Makefile.am): Likewise.
73875         * modules/c-strtod (Makefile.am): Likewise.
73876         * modules/c-strtold (Makefile.am): Likewise.
73877         * modules/calloc (Makefile.am): Likewise.
73878         * modules/canon-host (Makefile.am): Likewise.
73879         * modules/canonicalize (Makefile.am): Likewise.
73880         * modules/chdir-long (Makefile.am): Likewise.
73881         * modules/chdir-safer (Makefile.am): Likewise.
73882         * modules/check-version (Makefile.am): Likewise.
73883         * modules/chown (Makefile.am): Likewise.
73884         * modules/cloexec (Makefile.am): Likewise.
73885         * modules/close-stream (Makefile.am): Likewise.
73886         * modules/closeout (Makefile.am): Likewise.
73887         * modules/crc (Makefile.am): Likewise.
73888         * modules/csharpexec (Makefile.am): Likewise.
73889         * modules/cycle-check (Makefile.am): Likewise.
73890         * modules/des (Makefile.am): Likewise.
73891         * modules/dev-ino (Makefile.am): Likewise.
73892         * modules/dirfd (Makefile.am): Likewise.
73893         * modules/dirname (Makefile.am): Likewise.
73894         * modules/dup2 (Makefile.am): Likewise.
73895         * modules/eealloc (Makefile.am): Likewise.
73896         * modules/error (Makefile.am): Likewise.
73897         * modules/euidaccess (Makefile.am): Likewise.
73898         * modules/exclude (Makefile.am): Likewise.
73899         * modules/exitfail (Makefile.am): Likewise.
73900         * modules/fcntl-safer (Makefile.am): Likewise.
73901         * modules/fcntl (Makefile.am): Likewise.
73902         * modules/file-type (Makefile.am): Likewise.
73903         * modules/fileblocks (Makefile.am): Likewise.
73904         * modules/filemode (Makefile.am): Likewise.
73905         * modules/filenamecat (Makefile.am): Likewise.
73906         * modules/fnmatch (Makefile.am): Likewise.
73907         * modules/fopen-safer (Makefile.am): Likewise.
73908         * modules/fpending (Makefile.am): Likewise.
73909         * modules/fprintftime (Makefile.am): Likewise.
73910         * modules/free (Makefile.am): Likewise.
73911         * modules/fsusage (Makefile.am): Likewise.
73912         * modules/ftruncate (Makefile.am): Likewise.
73913         * modules/fts (Makefile.am): Likewise.
73914         * modules/gc-arcfour (Makefile.am): Likewise.
73915         * modules/gc-des (Makefile.am): Likewise.
73916         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73917         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73918         * modules/gc-md4 (Makefile.am): Likewise.
73919         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73920         * modules/gc-sha1 (Makefile.am): Likewise.
73921         * modules/gc (Makefile.am): Likewise.
73922         * modules/getaddrinfo (Makefile.am): Likewise.
73923         * modules/getcwd (Makefile.am): Likewise.
73924         * modules/getdelim (Makefile.am): Likewise.
73925         * modules/getdomainname (Makefile.am): Likewise.
73926         * modules/getgroups (Makefile.am): Likewise.
73927         * modules/gethostname (Makefile.am): Likewise.
73928         * modules/gethrxtime (Makefile.am): Likewise.
73929         * modules/getline (Makefile.am): Likewise.
73930         * modules/getloadavg (Makefile.am): Likewise.
73931         * modules/getlogin_r (Makefile.am): Likewise.
73932         * modules/getndelim2 (Makefile.am): Likewise.
73933         * modules/getopt (Makefile.am): Likewise.
73934         * modules/getpagesize (Makefile.am): Likewise.
73935         * modules/getpass-gnu (Makefile.am): Likewise.
73936         * modules/getpass (Makefile.am): Likewise.
73937         * modules/getsubopt (Makefile.am): Likewise.
73938         * modules/gettime (Makefile.am): Likewise.
73939         * modules/gettimeofday (Makefile.am): Likewise.
73940         * modules/getugroups (Makefile.am): Likewise.
73941         * modules/getusershell (Makefile.am): Likewise.
73942         * modules/glob (Makefile.am): Likewise.
73943         * modules/group-member (Makefile.am): Likewise.
73944         * modules/hard-locale (Makefile.am): Likewise.
73945         * modules/hash (Makefile.am): Likewise.
73946         * modules/hmac-md5 (Makefile.am): Likewise.
73947         * modules/hmac-sha1 (Makefile.am): Likewise.
73948         * modules/human (Makefile.am): Likewise.
73949         * modules/idcache (Makefile.am): Likewise.
73950         * modules/imaxabs (Makefile.am): Likewise.
73951         * modules/imaxdiv (Makefile.am): Likewise.
73952         * modules/inet_ntop (Makefile.am): Likewise.
73953         * modules/inet_pton (Makefile.am): Likewise.
73954         * modules/intprops (Makefile.am): Likewise.
73955         * modules/inttostr (Makefile.am): Likewise.
73956         * modules/inttypes (Makefile.am): Likewise.
73957         * modules/isapipe (Makefile.am): Likewise.
73958         * modules/javaversion (Makefile.am): Likewise.
73959         * modules/lchmod (Makefile.am): Likewise.
73960         * modules/lchown (Makefile.am): Likewise.
73961         * modules/localcharset (Makefile.am): Likewise.
73962         * modules/long-options (Makefile.am): Likewise.
73963         * modules/lstat (Makefile.am): Likewise.
73964         * modules/malloc (Makefile.am): Likewise.
73965         * modules/mathl (Makefile.am): Likewise.
73966         * modules/mbchar (Makefile.am): Likewise.
73967         * modules/md2 (Makefile.am): Likewise.
73968         * modules/md4 (Makefile.am): Likewise.
73969         * modules/md5 (Makefile.am): Likewise.
73970         * modules/memcasecmp (Makefile.am): Likewise.
73971         * modules/memchr (Makefile.am): Likewise.
73972         * modules/memcmp (Makefile.am): Likewise.
73973         * modules/memcoll (Makefile.am): Likewise.
73974         * modules/memcpy (Makefile.am): Likewise.
73975         * modules/memmem (Makefile.am): Likewise.
73976         * modules/memmove (Makefile.am): Likewise.
73977         * modules/mempcpy (Makefile.am): Likewise.
73978         * modules/memrchr (Makefile.am): Likewise.
73979         * modules/memset (Makefile.am): Likewise.
73980         * modules/memxor (Makefile.am): Likewise.
73981         * modules/mkancesdirs (Makefile.am): Likewise.
73982         * modules/mkdir-p (Makefile.am): Likewise.
73983         * modules/mkdir (Makefile.am): Likewise.
73984         * modules/mkdtemp (Makefile.am): Likewise.
73985         * modules/mkstemp (Makefile.am): Likewise.
73986         * modules/mktime (Makefile.am): Likewise.
73987         * modules/modechange (Makefile.am): Likewise.
73988         * modules/mountlist (Makefile.am): Likewise.
73989         * modules/nanosleep (Makefile.am): Likewise.
73990         * modules/obstack (Makefile.am): Likewise.
73991         * modules/openat (Makefile.am): Likewise.
73992         * modules/pagealign_alloc (Makefile.am): Likewise.
73993         * modules/pathmax (Makefile.am): Likewise.
73994         * modules/physmem (Makefile.am): Likewise.
73995         * modules/poll (Makefile.am): Likewise.
73996         * modules/posixtm (Makefile.am): Likewise.
73997         * modules/posixver (Makefile.am): Likewise.
73998         * modules/putenv (Makefile.am): Likewise.
73999         * modules/quote (Makefile.am): Likewise.
74000         * modules/quotearg (Makefile.am): Likewise.
74001         * modules/raise (Makefile.am): Likewise.
74002         * modules/read-file (Makefile.am): Likewise.
74003         * modules/readline (Makefile.am): Likewise.
74004         * modules/readlink (Makefile.am): Likewise.
74005         * modules/readtokens (Makefile.am): Likewise.
74006         * modules/readutmp (Makefile.am): Likewise.
74007         * modules/realloc (Makefile.am): Likewise.
74008         * modules/regex (Makefile.am): Likewise.
74009         * modules/rename-dest-slash (Makefile.am): Likewise.
74010         * modules/rename (Makefile.am): Likewise.
74011         * modules/rijndael (Makefile.am): Likewise.
74012         * modules/rmdir (Makefile.am): Likewise.
74013         * modules/rpmatch (Makefile.am): Likewise.
74014         * modules/safe-read (Makefile.am): Likewise.
74015         * modules/safe-write (Makefile.am): Likewise.
74016         * modules/same-inode (Makefile.am): Likewise.
74017         * modules/same (Makefile.am): Likewise.
74018         * modules/save-cwd (Makefile.am): Likewise.
74019         * modules/savedir (Makefile.am): Likewise.
74020         * modules/setenv (Makefile.am): Likewise.
74021         * modules/settime (Makefile.am): Likewise.
74022         * modules/sha1 (Makefile.am): Likewise.
74023         * modules/sig2str (Makefile.am): Likewise.
74024         * modules/snprintf (Makefile.am): Likewise.
74025         * modules/stat-macros (Makefile.am): Likewise.
74026         * modules/stat-time (Makefile.am): Likewise.
74027         * modules/stdbool (Makefile.am): Likewise.
74028         * modules/stdint (Makefile.am): Likewise.
74029         * modules/stdlib-safer (Makefile.am): Likewise.
74030         * modules/stpcpy (Makefile.am): Likewise.
74031         * modules/stpncpy (Makefile.am): Likewise.
74032         * modules/strcase (Makefile.am): Likewise.
74033         * modules/strcasestr (Makefile.am): Likewise.
74034         * modules/strchrnul (Makefile.am): Likewise.
74035         * modules/strcspn (Makefile.am): Likewise.
74036         * modules/strdup (Makefile.am): Likewise.
74037         * modules/strerror (Makefile.am): Likewise.
74038         * modules/strftime (Makefile.am): Likewise.
74039         * modules/strndup (Makefile.am): Likewise.
74040         * modules/strnlen (Makefile.am): Likewise.
74041         * modules/strpbrk (Makefile.am): Likewise.
74042         * modules/strsep (Makefile.am): Likewise.
74043         * modules/strstr (Makefile.am): Likewise.
74044         * modules/strtod (Makefile.am): Likewise.
74045         * modules/strtoimax (Makefile.am): Likewise.
74046         * modules/strtok_r (Makefile.am): Likewise.
74047         * modules/strtol (Makefile.am): Likewise.
74048         * modules/strtoll (Makefile.am): Likewise.
74049         * modules/strtoul (Makefile.am): Likewise.
74050         * modules/strtoull (Makefile.am): Likewise.
74051         * modules/strtoumax (Makefile.am): Likewise.
74052         * modules/strverscmp (Makefile.am): Likewise.
74053         * modules/sys_socket (Makefile.am): Likewise.
74054         * modules/sys_stat (Makefile.am): Likewise.
74055         * modules/sysexits (Makefile.am): Likewise.
74056         * modules/time_r (Makefile.am): Likewise.
74057         * modules/timegm (Makefile.am): Likewise.
74058         * modules/timespec (Makefile.am): Likewise.
74059         * modules/tmpfile-safer (Makefile.am): Likewise.
74060         * modules/trim (Makefile.am): Likewise.
74061         * modules/unistd-safer (Makefile.am): Likewise.
74062         * modules/unlinkdir (Makefile.am): Likewise.
74063         * modules/unlocked-io (Makefile.am): Likewise.
74064         * modules/userspec (Makefile.am): Likewise.
74065         * modules/utime (Makefile.am): Likewise.
74066         * modules/utimecmp (Makefile.am): Likewise.
74067         * modules/utimens (Makefile.am): Likewise.
74068         * modules/vasnprintf (Makefile.am): Likewise.
74069         * modules/vasprintf (Makefile.am): Likewise.
74070         * modules/vsnprintf (Makefile.am): Likewise.
74071         * modules/xalloc (Makefile.am): Likewise.
74072         * modules/xgetcwd (Makefile.am): Likewise.
74073         * modules/xnanosleep (Makefile.am): Likewise.
74074         * modules/xreadlink (Makefile.am): Likewise.
74075         * modules/xstrtod (Makefile.am): Likewise.
74076         * modules/xstrtol (Makefile.am): Likewise.
74077         * modules/xstrtold (Makefile.am): Likewise.
74078         * modules/yesno (Makefile.am): Likewise.
74079         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74080
74081 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74082
74083         * modules/error (Makefile.am): Distribute files through
74084         EXTRA_DIST, not lib_SOURCES.
74085
74086 2006-10-12  Eric Blake  <ebb9@byu.net>
74087
74088         * modules/error (Makefile.am): Distribute files in /lib.
74089         * modules/obstack (Makefile.am): Likewise.
74090
74091 2006-10-12  Bruno Haible  <bruno@clisp.org>
74092
74093         * modules/acl (Makefile.am): Distribute all files in lib/ through
74094         EXTRA_DIST.
74095         * modules/arcfour (Makefile.am): Likewise.
74096         * modules/arctwo (Makefile.am): Likewise.
74097         * modules/argmatch (Makefile.am): Likewise.
74098         * modules/argz (Makefile.am): Likewise.
74099         * modules/atexit (Makefile.am): Likewise.
74100         * modules/backupfile (Makefile.am): Likewise.
74101         * modules/c-strtod (Makefile.am): Likewise.
74102         * modules/c-strtold (Makefile.am): Likewise.
74103         * modules/calloc (Makefile.am): Likewise.
74104         * modules/canon-host (Makefile.am): Likewise.
74105         * modules/canonicalize (Makefile.am): Likewise.
74106         * modules/chdir-long (Makefile.am): Likewise.
74107         * modules/chdir-safer (Makefile.am): Likewise.
74108         * modules/check-version (Makefile.am): Likewise.
74109         * modules/chown (Makefile.am): Likewise.
74110         * modules/cloexec (Makefile.am): Likewise.
74111         * modules/close-stream (Makefile.am): Likewise.
74112         * modules/closeout (Makefile.am): Likewise.
74113         * modules/crc (Makefile.am): Likewise.
74114         * modules/cycle-check (Makefile.am): Likewise.
74115         * modules/des (Makefile.am): Likewise.
74116         * modules/dirfd (Makefile.am): Likewise.
74117         * modules/dirname (Makefile.am): Likewise.
74118         * modules/dup2 (Makefile.am): Likewise.
74119         * modules/euidaccess (Makefile.am): Likewise.
74120         * modules/exclude (Makefile.am): Likewise.
74121         * modules/exitfail (Makefile.am): Likewise.
74122         * modules/fcntl-safer (Makefile.am): Likewise.
74123         * modules/file-type (Makefile.am): Likewise.
74124         * modules/fileblocks (Makefile.am): Likewise.
74125         * modules/filemode (Makefile.am): Likewise.
74126         * modules/filenamecat (Makefile.am): Likewise.
74127         * modules/fnmatch (Makefile.am): Likewise.
74128         * modules/fopen-safer (Makefile.am): Likewise.
74129         * modules/fpending (Makefile.am): Likewise.
74130         * modules/fprintftime (Makefile.am): Likewise.
74131         * modules/free (Makefile.am): Likewise.
74132         * modules/fsusage (Makefile.am): Likewise.
74133         * modules/ftruncate (Makefile.am): Likewise.
74134         * modules/fts (Makefile.am): Likewise.
74135         * modules/gc (Makefile.am): Likewise.
74136         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74137         * modules/getaddrinfo (Makefile.am): Likewise.
74138         * modules/getcwd (Makefile.am): Likewise.
74139         * modules/getdelim (Makefile.am): Likewise.
74140         * modules/getdomainname (Makefile.am): Likewise.
74141         * modules/getgroups (Makefile.am): Likewise.
74142         * modules/gethostname (Makefile.am): Likewise.
74143         * modules/gethrxtime (Makefile.am): Likewise.
74144         * modules/getline (Makefile.am): Likewise.
74145         * modules/getloadavg (Makefile.am): Likewise.
74146         * modules/getlogin_r (Makefile.am): Likewise.
74147         * modules/getopt (Makefile.am): Likewise.
74148         * modules/getpass (Makefile.am): Likewise.
74149         * modules/getpass-gnu (Makefile.am): Likewise.
74150         * modules/getsubopt (Makefile.am): Likewise.
74151         * modules/gettime (Makefile.am): Likewise.
74152         * modules/gettimeofday (Makefile.am): Likewise.
74153         * modules/getugroups (Makefile.am): Likewise.
74154         * modules/getusershell (Makefile.am): Likewise.
74155         * modules/glob (Makefile.am): Likewise.
74156         * modules/group-member (Makefile.am): Likewise.
74157         * modules/hard-locale (Makefile.am): Likewise.
74158         * modules/hash (Makefile.am): Likewise.
74159         * modules/hmac-md5 (Makefile.am): Likewise.
74160         * modules/hmac-sha1 (Makefile.am): Likewise.
74161         * modules/human (Makefile.am): Likewise.
74162         * modules/idcache (Makefile.am): Likewise.
74163         * modules/imaxabs (Makefile.am): Likewise.
74164         * modules/imaxdiv (Makefile.am): Likewise.
74165         * modules/inet_ntop (Makefile.am): Likewise.
74166         * modules/inet_pton (Makefile.am): Likewise.
74167         * modules/inttostr (Makefile.am): Likewise.
74168         * modules/isapipe (Makefile.am): Likewise.
74169         * modules/lchown (Makefile.am): Likewise.
74170         * modules/long-options (Makefile.am): Likewise.
74171         * modules/lstat (Makefile.am): Likewise.
74172         * modules/malloc (Makefile.am): Likewise.
74173         * modules/mathl (Makefile.am): Likewise.
74174         * modules/mbchar (Makefile.am): Likewise.
74175         * modules/md2 (Makefile.am): Likewise.
74176         * modules/md4 (Makefile.am): Likewise.
74177         * modules/md5 (Makefile.am): Likewise.
74178         * modules/memcasecmp (Makefile.am): Likewise.
74179         * modules/memchr (Makefile.am): Likewise.
74180         * modules/memcmp (Makefile.am): Likewise.
74181         * modules/memcoll (Makefile.am): Likewise.
74182         * modules/memcpy (Makefile.am): Likewise.
74183         * modules/memmem (Makefile.am): Likewise.
74184         * modules/memmove (Makefile.am): Likewise.
74185         * modules/mempcpy (Makefile.am): Likewise.
74186         * modules/memrchr (Makefile.am): Likewise.
74187         * modules/memset (Makefile.am): Likewise.
74188         * modules/memxor (Makefile.am): Likewise.
74189         * modules/mkancesdirs (Makefile.am): Likewise.
74190         * modules/mkdir (Makefile.am): Likewise.
74191         * modules/mkdir-p (Makefile.am): Likewise.
74192         * modules/mkdtemp (Makefile.am): Likewise.
74193         * modules/mkstemp (Makefile.am): Likewise.
74194         * modules/mktime (Makefile.am): Likewise.
74195         * modules/modechange (Makefile.am): Likewise.
74196         * modules/mountlist (Makefile.am): Likewise.
74197         * modules/nanosleep (Makefile.am): Likewise.
74198         * modules/openat (Makefile.am): Likewise.
74199         * modules/pagealign_alloc (Makefile.am): Likewise.
74200         * modules/physmem (Makefile.am): Likewise.
74201         * modules/poll (Makefile.am): Likewise.
74202         * modules/posixtm (Makefile.am): Likewise.
74203         * modules/posixver (Makefile.am): Likewise.
74204         * modules/putenv (Makefile.am): Likewise.
74205         * modules/quote (Makefile.am): Likewise.
74206         * modules/quotearg (Makefile.am): Likewise.
74207         * modules/raise (Makefile.am): Likewise.
74208         * modules/read-file (Makefile.am): Likewise.
74209         * modules/readline (Makefile.am): Likewise.
74210         * modules/readlink (Makefile.am): Likewise.
74211         * modules/readtokens (Makefile.am): Likewise.
74212         * modules/readutmp (Makefile.am): Likewise.
74213         * modules/realloc (Makefile.am): Likewise.
74214         * modules/regex (Makefile.am): Likewise.
74215         * modules/rename (Makefile.am): Likewise.
74216         * modules/rename-dest-slash (Makefile.am): Likewise.
74217         * modules/rijndael (Makefile.am): Likewise.
74218         * modules/rmdir (Makefile.am): Likewise.
74219         * modules/rpmatch (Makefile.am): Likewise.
74220         * modules/safe-read (Makefile.am): Likewise.
74221         * modules/safe-write (Makefile.am): Likewise.
74222         * modules/same (Makefile.am): Likewise.
74223         * modules/save-cwd (Makefile.am): Likewise.
74224         * modules/savedir (Makefile.am): Likewise.
74225         * modules/setenv (Makefile.am): Likewise.
74226         * modules/settime (Makefile.am): Likewise.
74227         * modules/sha1 (Makefile.am): Likewise.
74228         * modules/sig2str (Makefile.am): Likewise.
74229         * modules/snprintf (Makefile.am): Likewise.
74230         * modules/stdlib-safer (Makefile.am): Likewise.
74231         * modules/stpcpy (Makefile.am): Likewise.
74232         * modules/stpncpy (Makefile.am): Likewise.
74233         * modules/strcase (Makefile.am): Likewise.
74234         * modules/strcasestr (Makefile.am): Likewise.
74235         * modules/strchrnul (Makefile.am): Likewise.
74236         * modules/strcspn (Makefile.am): Likewise.
74237         * modules/strdup (Makefile.am): Likewise.
74238         * modules/strerror (Makefile.am): Likewise.
74239         * modules/strftime (Makefile.am): Likewise.
74240         * modules/strndup (Makefile.am): Likewise.
74241         * modules/strnlen (Makefile.am): Likewise.
74242         * modules/strpbrk (Makefile.am): Likewise.
74243         * modules/strsep (Makefile.am): Likewise.
74244         * modules/strstr (Makefile.am): Likewise.
74245         * modules/strtod (Makefile.am): Likewise.
74246         * modules/strtoimax (Makefile.am): Likewise.
74247         * modules/strtok_r (Makefile.am): Likewise.
74248         * modules/strtol (Makefile.am): Likewise.
74249         * modules/strtoll (Makefile.am): Likewise.
74250         * modules/strtoul (Makefile.am): Likewise.
74251         * modules/strtoull (Makefile.am): Likewise.
74252         * modules/strtoumax (Makefile.am): Likewise.
74253         * modules/strverscmp (Makefile.am): Likewise.
74254         * modules/time_r (Makefile.am): Likewise.
74255         * modules/timegm (Makefile.am): Likewise.
74256         * modules/tmpfile-safer (Makefile.am): Likewise.
74257         * modules/unistd-safer (Makefile.am): Likewise.
74258         * modules/unlinkdir (Makefile.am): Likewise.
74259         * modules/userspec (Makefile.am): Likewise.
74260         * modules/utime (Makefile.am): Likewise.
74261         * modules/utimecmp (Makefile.am): Likewise.
74262         * modules/utimens (Makefile.am): Likewise.
74263         * modules/vasnprintf (Makefile.am): Likewise.
74264         * modules/vasprintf (Makefile.am): Likewise.
74265         * modules/vsnprintf (Makefile.am): Likewise.
74266         * modules/xalloc (Makefile.am): Likewise.
74267         * modules/xgetcwd (Makefile.am): Likewise.
74268         * modules/xnanosleep (Makefile.am): Likewise.
74269         * modules/xreadlink (Makefile.am): Likewise.
74270         * modules/xstrtod (Makefile.am): Likewise.
74271         * modules/xstrtol (Makefile.am): Likewise.
74272         * modules/xstrtold (Makefile.am): Likewise.
74273         * modules/yesno (Makefile.am): Likewise.
74274
74275 2006-10-12  Jim Meyering  <jim@meyering.net>
74276
74277         * m4/getloadavg.m4: Revert the change below.
74278
74279         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74280         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74281         fail with a symlink, which is what coreutils' ./bootstrap now
74282         creates by default.
74283
74284 2006-10-12  Bruno Haible  <bruno@clisp.org>
74285
74286         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74287         mingw.
74288         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74289         MSVC and mingw explicitly.
74290
74291 2006-10-11  Simon Josefsson  <jas@extundo.com>
74292             Bruno Haible  <bruno@clisp.org>
74293
74294         Add support for multiple gnulib-tool invocations in the scope of a
74295         single configure.ac file.
74296         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74297         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74298         with the same contents as the _LIBADD variable.
74299         (func_emit_initmacro_start, func_emit_initmacro_end,
74300         func_emit_initmacro_done): New functions.
74301         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74302         gl_LIBOBJS and gl_LTLIBOBJS.
74303
74304 2006-10-11  Bruno Haible  <bruno@clisp.org>
74305
74306         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74307         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74308         autoreconf. Instead, invoke autopoint explicitly but move back the
74309         *.m4 files from gnulib.
74310
74311 2006-10-11  Bruno Haible  <bruno@clisp.org>
74312
74313         * gnulib-tool (func_usage): Make module names after --create-testdir
74314         optional.
74315         (func_create_testdir): If no module was specified, use nearly all
74316         modules.
74317
74318 2006-10-12  Jim Meyering  <jim@meyering.net>
74319
74320         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74321         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74322         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74323         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74324         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74325         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74326         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74327         (fts_set_stat_required): New function.
74328         (fts_open): Defer the calls to fts_stat, if possible or requested.
74329         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74330         into fts_stat itself.
74331         (fts_read): Perform any required (deferred) fts_stat call.
74332         (fts_build): Likewise, for the directory we're about to open and read.
74333         In the readdir loop, carefully decide whether each entry will require
74334         an eventual call to fts_stat, using dirent.d_type info if available.
74335         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74336         a command line argument into this function.  Update all callers.
74337         Map a return value of FTS_DOT to FTS_D for a command line argument.
74338         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74339         Thanks to Miklos Szeredi for his tenacity and for the initial
74340         bug report about "find" failing on a FUSE-based file system.
74341
74342         * lib/fts.c (fts_open): Use consistent indentation.
74343
74344 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74345
74346         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74347         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74348         reported by Jim Meyering.  All uses of cache variables renamed
74349         to match Autoconf's.
74350         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74351         the other one.
74352
74353         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74354         Fix misspelling in diagnostic.
74355
74356 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74357
74358         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74359         defined.  Problem reported by Matthew Woehlke.
74360
74361         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74362         Add support for Tandem NonStop R series.
74363         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74364         Use new macro.
74365
74366         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74367         (has_trailing_slash): Omit size arg; all callers changed.
74368         Omit 'inline', since it doesn't help performance and we'd
74369         need to configure it.
74370         Don't count //, ///, etc. as having a trailing slash.
74371         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74372         (rpl_rename_dest_slash): On failure, use rename's errno rather
74373         than (in some cases) an incorrect or junk errno.
74374         Simplify code by removing need to compute length; this does
74375         cause it to make two passes instead of one over the file name,
74376         but it's worth it.
74377
74378         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74379         change, since Autoconf's version may no longer be appropriate now
74380         that we are using CVS Autoconf's version.  Add support for Tandem.
74381
74382 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74383             Bruno Haible  <bruno@clisp.org>
74384
74385         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74386         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74387         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74388         gl_AC_TYPE_LONG_LONG.
74389
74390         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74391         instead of HAVE_LONG_LONG.
74392         * lib/printf-args.c (printf_fetchargs): Likewise.
74393         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74394         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74395         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74396         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74397         gl_AC_TYPE_LONG_LONG.
74398
74399 2006-10-11  Bruno Haible  <bruno@clisp.org>
74400
74401         * m4/longlong.m4: Add comments.
74402         * m4/ulonglong.m4: Likewise.
74403
74404 2006-10-10  Bruno Haible  <bruno@clisp.org>
74405
74406         Make it possible to #define stpcpy, strdup to aliases.
74407         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74408         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74409
74410 2006-10-10  Bruno Haible  <bruno@clisp.org>
74411
74412         Make it possible to #define gcd to an alias.
74413         * lib/gcd.c: Include config.h.
74414
74415 2006-10-10  Bruno Haible  <bruno@clisp.org>
74416
74417         Make it possible to #define c_isascii to an alias.
74418         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74419         defined. Undefine the macros before defining them, to avoid gcc
74420         warnings.
74421         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74422         define NO_C_CTYPE_MACROS early.
74423
74424 2006-10-10  Bruno Haible  <bruno@clisp.org>
74425
74426         Make it possible to #define set_program_name to an alias.
74427         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74428         ENABLE_RELOCATABLE early.
74429
74430 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74431
74432         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74433         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74434         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74435         More generally, don't assume that 64-bit signed int is available
74436         if unsigned int is, and vice versa.
74437         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74438         unsigned symbols, not on their signed counterparts.
74439         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74440         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74441         (UINT64_C, UINTMAX_C):
74442         Likewise.
74443         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74444         unsigned counterparts.
74445         (Have_long_long, Unsigned): New macros.
74446         (Int): Renamed from INT.
74447         (strtoimax): Use the new macros.
74448         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74449         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74450         * modules/inttypes (inttypes.h): Substitute
74451         HAVE_UNSIGNED_LONG_LONG_INT.
74452         * modules/stdint (stdint.h): Likewise.
74453         (Files): Add m4/ulonglong.m4.
74454
74455 2006-10-10  Bruno Haible  <bruno@clisp.org>
74456
74457         Fix a gcc -Wshadow warning.
74458         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74459         to 'bucket'.
74460         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74461         gl_linked_indexof_from_to): Likewise.
74462         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74463         Likewise.
74464         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74465         Likewise.
74466         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74467         Reported by Eric Blake.
74468
74469 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74470
74471         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74472         for NetBSD.  Problem reported by Bruno Haible.
74473
74474 2006-10-09  Jim Meyering  <jim@meyering.net>
74475
74476         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74477         Patch from Bruno Haible.
74478
74479 2006-10-09  Jim Meyering  <jim@meyering.net>
74480
74481         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74482         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74483         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74484
74485 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74486
74487         Don't include <config.h> twice; this doesn't work in some cases,
74488         e.g., when config.h has "#define intmax_t long long int" and
74489         we include <config.h>, <inttypes.h>, <config.h> in that order.
74490         Problem reported by Matthew Woehlke in:
74491         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74492         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74493         * lib/fts-cycle.c: Don't include config.h.
74494         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74495         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74496         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74497         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74498         inttypes.h.
74499         * lib/xstrtoumax.c: Likewise.
74500         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74501         __strtol and the like, so that this module is more like its siblings.
74502         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74503         Remove; no longer needed now that we assume gnulib inttypes.h.
74504
74505 2006-10-08  Bruno Haible  <bruno@clisp.org>
74506
74507         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74508         option.
74509
74510 2006-10-07  Jim Meyering  <jim@meyering.net>
74511
74512         * modules/inttypes (inttypes.h): Revert what seems to have been
74513         an inadvertent part of today's change: use "|", not "/" in the
74514         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74515
74516 2006-10-07  Bruno Haible  <bruno@clisp.org>
74517
74518         * modules/sublist: New file.
74519
74520 2006-10-07  Bruno Haible  <bruno@clisp.org>
74521
74522         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74523         * modules/argz (argz.h): Likewise.
74524         * modules/arpa_inet (arpa/inet.h): Likewise.
74525         * modules/byteswap (byteswap.h): Likewise.
74526         * modules/configmake (configmake.h): Likewise.
74527         * modules/fcntl (fcntl.h): Likewise.
74528         * modules/fnmatch (fnmatch.h): Likewise.
74529         * modules/getopt (getopt.h): Likewise.
74530         * modules/glob (glob.h): Likewise.
74531         * modules/inttypes (inttypes.h): Likewise.
74532         * modules/netinet_in (netinet/in.h): Likewise.
74533         * modules/poll (poll.h): Likewise.
74534         * modules/stdbool (stdbool.h): Likewise.
74535         * modules/stdint (stdint.h): Likewise.
74536         * modules/sys_select (sys/select.h): Likewise.
74537         * modules/sys_socket (sys/socket.h): Likewise.
74538         * modules/sys_stat (sys/stat.h): Likewise.
74539         * modules/sysexits (sysexits.h): Likewise.
74540         * modules/unistd (unistd.h): Likewise.
74541         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74542         Add a "DO NOT EDIT" comment to the generated file.
74543         (func_import): Likewise for gnulib-comp.m4.
74544
74545 2006-10-07  Bruno Haible  <bruno@clisp.org>
74546
74547         * lib/gl_sublist.h: New file.
74548         * lib/gl_sublist.c: New file.
74549
74550 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74551
74552         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74553         name (relative to the original working directory) and the file
74554         name component (relative to the temporary working directory).  All
74555         callers changed.
74556         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74557         * lib/mkdir-p.c (make_dir_parents): Likewise.
74558         * lib/mkdir-p.h (make_dir_parents): Likewise.
74559
74560 2006-10-06  Eric Blake  <ebb9@byu.net>
74561
74562         Define several macros for use by the clean-temp module.
74563         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74564         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74565         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74566
74567         * lib/clean-temp.h (close_stream_temp): New declaration.
74568         * lib/clean-temp.c (includes): Pull in headers according to what
74569         other modules are in use.
74570         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74571
74572 2006-10-06  Bruno Haible  <bruno@clisp.org>
74573
74574         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74575         instead of fopen, fwriteerror.
74576
74577 2006-10-06  Bruno Haible  <bruno@clisp.org>
74578
74579         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74580         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74581         int.
74582         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74583         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74584         Return an error indicator.
74585         Suggested by Eric Blake.
74586
74587 2006-10-06  Bruno Haible  <bruno@clisp.org>
74588
74589         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74590         Reported by Eric Blake.
74591
74592 2006-10-06  Bruno Haible  <bruno@clisp.org>
74593
74594         * modules/closeout (Description): Mention stderr too.
74595
74596 2006-10-06  Bruno Haible  <bruno@clisp.org>
74597         and Paul Eggert  <eggert@cs.ucla.edu>
74598
74599         * lib/closeout.c (close_stdout): Also close stderr.
74600         * lib/closeout.h: Update comment.
74601
74602 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74603
74604         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74605         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74606         * lib/dirchownmod.c: Include lchown.h.
74607         * lib/lchown.c: Don't include files that lchown.h now includes.
74608         Don't declare chown, since lchown.h now does that.
74609         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74610         (lchown): Define to rpl_chown if lchown is declared but
74611         does not exist.  Declare using a prototype if lchown is not
74612         declared.  Add a copyright notice.
74613         * lib/mkstemp.h: Include <unistd.h>.
74614         * lib/openat.c: Include lchown.h.
74615
74616         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74617         we now test for that separately.
74618         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74619         rather than O_NOFOLLOW, when testing whether it's possible to
74620         avoid a race condition reliably.
74621         * lib/savewd.c (savewd_chdir): Likewise.
74622
74623         Remove macros that are no longer needed now that stdint.h is
74624         reliable.
74625         * lib/fsusage.c (UINTMAX_MAX): Remove.
74626         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74627         * lib/utimecmp.c (SIZE_MAX): Remove.
74628
74629         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74630
74631         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74632         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74633         O_NOATIME works.
74634
74635 2006-10-05  Bruno Haible  <bruno@clisp.org>
74636
74637         * lib/gl_list.h (gl_sortedlist_search_from_to,
74638         gl_sortedlist_indexof_from_to): New declarations.
74639         (gl_list_implementation): New fields sortedlist_search_from_to,
74640         sortedlist_indexof_from_to.
74641         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74642         inline functions.
74643         * lib/gl_list.c (gl_sortedlist_search_from_to,
74644         gl_sortedlist_indexof_from_to): New functions.
74645         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74646         function.
74647         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74648         (gl_array_sortedlist_search_from_to): New function.
74649         (gl_array_list_implementation): Update.
74650         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74651         function.
74652         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74653         (gl_carray_sortedlist_search_from_to): New function.
74654         (gl_carray_list_implementation): Update.
74655         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74656         gl_linked_sortedlist_indexof_from_to): New functions.
74657         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74658         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74659         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74660         gl_tree_sortedlist_indexof_from_to): New functions.
74661         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74662         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74663         Update.
74664         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74665         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
74666         Update.
74667
74668 2006-10-05  Bruno Haible  <bruno@clisp.org>
74669
74670         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
74671         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
74672         (struct gl_list_implementation): Add fields search_from_to,
74673         indexof_from_to. Remove fields search, indexof.
74674         (gl_list_search): Use the search_from_to method.
74675         (gl_list_search_from, gl_list_search_from_to): New functions.
74676         (gl_list_indexof): Use the indexof_from_to method.
74677         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74678         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
74679         (gl_list_search_from, gl_list_search_from_to): New functions.
74680         (gl_list_indexof): Use the indexof_from_to method.
74681         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74682         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
74683         gl_array_indexof. Add start_index, end_index arguments.
74684         (gl_array_search_from_to): Renamed from gl_array_search. Add
74685         start_index, end_index arguments.
74686         (gl_array_remove, gl_array_list_implementation): Update.
74687         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74688         gl_carray_indexof. Add start_index, end_index arguments.
74689         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74690         start_index, end_index arguments.
74691         (gl_carray_remove, gl_carray_list_implementation): Update.
74692         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74693         gl_linked_search. Add start_index, end_index arguments.
74694         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74695         start_index, end_index arguments.
74696         (gl_linked_remove): Update.
74697         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74698         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74699         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74700         field to 'size_t'.
74701         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74702         gl_tree_search. Add start_index, end_index arguments.
74703         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74704         start_index, end_index arguments.
74705         (gl_tree_remove): Update.
74706         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74707         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74708         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74709         function.
74710         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74711         gl_tree_search. Add start_index, end_index arguments.
74712         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74713         start_index, end_index arguments.
74714         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74715         Update.
74716         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74717
74718 2006-10-05  Bruno Haible  <bruno@clisp.org>
74719
74720         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74721
74722         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74723         fwriteerror_temp): New declarations.
74724         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74725         (descriptors): New variable.
74726         (cleanup): First, close the descriptors.
74727         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74728         fclose_temp, fwriteerror_temp): New functions.
74729
74730 2006-10-04  Jim Meyering  <jim@meyering.net>
74731
74732         * lib/fts.c (fts_open): Tiny comment change.
74733
74734 2006-10-04  Bruno Haible  <bruno@clisp.org>
74735
74736         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74737         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74738         gl_LOCK_BODY.
74739         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74740         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74741         gl_LOCK_EARLY_BODY.
74742         (gl_LOCK): Require gl_LOCK_BODY.
74743
74744 2006-10-04  Bruno Haible  <bruno@clisp.org>
74745
74746         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74747         (gl_oset_search_atleast): New declaration.
74748         (struct gl_oset_implementation): Add field 'search_atleast'.
74749         (gl_oset_search_atleast): New inline function.
74750         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74751         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74752         (gl_array_oset_implementation): Update.
74753         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74754         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74755         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74756
74757 2006-10-04  Bruno Haible  <bruno@clisp.org>
74758
74759         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74760
74761 2006-10-03  Bruno Haible  <bruno@clisp.org>
74762
74763         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74764         from gl_avltreehash_list_implementation.
74765
74766 2006-10-03  Bruno Haible  <bruno@clisp.org>
74767
74768         * lib/gl_oset.c (gl_oset_add): Fix return type.
74769
74770 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74771
74772         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74773
74774 2006-10-02  Eric Blake  <ebb9@byu.net>
74775
74776         * modules/strnlen (Depends-on): Add extensions.
74777
74778 2006-10-02  Eric Blake  <ebb9@byu.net>
74779
74780         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74781         definition in 2.60+.
74782
74783 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74784
74785         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74786         checks.
74787
74788 2006-10-02  Bruno Haible  <bruno@clisp.org>
74789
74790         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74791         to the AUTOMAKE_OPTIONS.
74792         Reported by Jim Meyering.
74793
74794 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74795
74796         Work around bug in Solaris 10 /proc file system:
74797         /proc/self/fd/NNN/.. isn't the parent directory of
74798         the directory whose file descriptor is NNN.  This needs to
74799         be worked around at run time, not compile time, since a
74800         program might be built on Solaris 8, where things work, and
74801         run on Solaris 10.
74802         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74803         to use the following interface instead:
74804         (OPENAT_BUFFER_SIZE): New macro.
74805         (openat_proc_name): New function.
74806         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74807         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74808         Likewise.
74809         * lib/openat-proc.c: New file.
74810         * modules/openat (Files): Add lib/openat-proc.c.
74811         (Depends-on): Add same-inode, stdbool.
74812         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74813
74814 2006-09-29  Bruno Haible  <bruno@clisp.org>
74815
74816         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74817         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74818         argument. Set stdout_closed before testing for ferror, not after.
74819         (fwriteerror, fwriteerror_no_ebadf): New functions.
74820
74821 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74822
74823         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74824
74825 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74826
74827         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74828         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74829
74830 2006-09-28  Jim Meyering  <jim@meyering.net>
74831
74832         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74833         Include <unistd.h>.
74834
74835 2006-09-28  Bruno Haible  <bruno@clisp.org>
74836
74837         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74838         * modules/linkedhash-list (Depends-on): Likewise.
74839         * modules/rbtreehash-list (Depends-on): Likewise.
74840
74841 2006-09-28  Bruno Haible  <bruno@clisp.org>
74842
74843         * lib/strndup.h: Simplify the redefinition of strndup.
74844         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74845         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74846
74847 2006-09-28  Bruno Haible  <bruno@clisp.org>
74848
74849         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74850         * lib/gl_linkedhash_list.c: Likewise.
74851         * lib/gl_rbtreehash_list.c: Likewise.
74852
74853 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74854
74855         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74856         getaddrinfo.
74857
74858         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74859         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74860         it causes <stdio_ext.h> to cause a compile-time error.
74861         Problem reported by Nelson H. F. Beebe.
74862         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74863         of HAVE_DECL___PENDING.
74864
74865         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74866         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74867         declaration.
74868
74869 2006-09-27  Jim Meyering  <jim@meyering.net>
74870
74871         This file could end up with a definition for a function
74872         named __strndup, rather than rpl_strndup on a system with
74873         incomplete weak_alias support.
74874         * lib/strndup.c (strndup): Rename from __strndup.
74875         Remove #defines that used to map __strndup to strndup.
74876         Don't use K&R prototypes.
74877         Remove LIBC-related code, since this file is not sync'd with glibc.
74878         * lib/strndup.h: Revamp, accordingly.
74879         * m4/strndup.m4: Modernize.
74880
74881 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74882
74883         * modules/savewd (Depends-on): Add 'raise'.
74884         * lib/savewd.c: Include <signal.h>, for 'raise'.
74885
74886 2006-09-26  Jim Meyering  <jim@meyering.net>
74887
74888         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74889         when we detect Darwin 8.7.0's acl_get_file bug.
74890         Rearrange to perform the new (below) run-test while $LIBS
74891         contains any acl-related library.  Set USE_ACL at the end.
74892         (gl_ACL_GET_FILE): New function.
74893
74894 2006-09-26  Eric Blake  <ebb9@byu.net>
74895
74896         * lib/verror.c: Include <config.h> unconditionally.
74897
74898 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * modules/clock-time (Maintainer): Add self.
74901         * modules/getlogin_r (Depends-on): Add extensions.
74902
74903 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74904
74905         * modules/clock-time: New module.
74906         * modules/nanosleep (Depends-on): Add clock-time.
74907         * modules/gethrxtime (Depends-on): Likewise.
74908         * modules/gettime (Depends-on): Likewise.
74909         * modules/settime (Depends-on): Likewise.
74910
74911         * modules/fts-lgpl: Depend on openat.
74912         * modules/mkancesdirs: Depend on savewd.
74913         * modules/mkdir-p: Likewise.
74914
74915 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74916
74917         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74918
74919         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74920         `gl_have_arbitrary_file_name_length_limit' to
74921         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74922         actually works between configure runs.
74923
74924 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74925             Bruno Haible  <bruno@clisp.org>
74926
74927         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74928
74929 2006-09-25  Jim Meyering  <jim@meyering.net>
74930
74931         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74932         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74933
74934 2006-09-25  Eric Blake  <ebb9@byu.net>
74935
74936         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74937         exec's in 2006-09-18 patch when shuffling fds.
74938
74939 2006-09-25  Bruno Haible  <bruno@clisp.org>
74940
74941         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74942         Reported by Jim Meyering.
74943
74944 2006-09-24  Jim Meyering  <jim@meyering.net>
74945
74946         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74947         compare a pointer against a literal "0".  That caused failures with
74948         at least HP-UX's hpcc.
74949
74950 2006-09-22  Simon Josefsson  <jas@extundo.com>
74951
74952         * modules/gc-sha1:
74953         * modules/gc-md4:
74954         * modules/gc-hmac-sha1:
74955         * modules/gc-hmac-md5:
74956         * modules/gc-des:
74957         * modules/gc-arcfour: Distribute more files.
74958
74959 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74960
74961         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74962         (gl_linked_iterator_from_to): Initialize struct completely.
74963         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74964         (gl_tree_iterator_from_to): Likewise
74965         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74966         * lib/gl_array_list.c [lint] (gl_array_iterator)
74967         (gl_array_iterator_from_to): Likewise.
74968         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74969         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74970         (gl_carray_iterator_from_to): Likewise.
74971
74972         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74973         * lib/md4.c (md4_process_block): Remove unused variable.
74974         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74975         parentheses for clarity.
74976
74977 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74978
74979         * modules/bison-i18n (Depends-on): Add gettext.
74980
74981 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74982
74983         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74984         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74985         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74986         also add missing comma that caused broken test.
74987         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74988         stdlib.h, for `abort'.
74989         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74990         variables.
74991         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74992         include unistd.h if present, for `rmdir'.
74993         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
74994         variables.
74995         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
74996         in the process include standard headers for prototypes.
74997         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
74998         gets declared on GNU/Linux.
74999         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75000         unistd.h, for `rmdir'.
75001         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75002
75003         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75004         always true.
75005         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75006
75007         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75008
75009 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75010
75011         * gnulib-tool (func_version): Create output all at once.  This
75012         may help avoid triggering unnecessary SIGPIPEs, and at any
75013         rate it doesn't hurt.
75014
75015 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75016             Bruno Haible  <bruno@clisp.org>
75017
75018         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75019         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75020         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75021
75022         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75023         (gl_FUNC_VASPRINTF): Invoke it.
75024
75025 2006-09-22  Bruno Haible  <bruno@clisp.org>
75026
75027         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75028         getloadavg.c as first argument.
75029
75030 2006-09-22  Bruno Haible  <bruno@clisp.org>
75031
75032         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75033         at the beginning of the gl_INIT macro.
75034         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75035         gl_GETLOADAVG.
75036
75037 2006-09-22  Bruno Haible  <bruno@clisp.org>
75038
75039         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75040         module.
75041         Suggested by Ralf Wildenhues.
75042
75043 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75044
75045         Import this patch from libc:
75046
75047         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75048
75049         * lib/regex_internal.c (re_string_reconstruct): Handle
75050         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75051         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75052         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75053         re_string_context_at.
75054
75055         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75056         now requires it.
75057         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75058         gl_REGEX now does it for us.
75059         (gl_REGEX): Add test taken from
75060         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75061
75062         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75063         Check that large offsets work.  Modernize Autoconf usages.
75064         Prefer "yes" to mean a good thing rather than a bad.
75065         Don't put "#define mkstemp" in config.h, as this might interfere
75066         with standard system headers that "#define mkstemp mkstemp64".
75067
75068         * modules/mkstemp (Depends-on): Add extensions, so that
75069         mkstemp is visible on some platforms.
75070         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75071         (Include): Change to "mkstemp.h" from <stdlib.h>.
75072         (Files): Add mkstemp.h.
75073
75074         * lib/mkstemp.h: New file, since some standard headers
75075         #define mkstemp.
75076         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75077         Include "mkstemp.h".
75078         Make the _LIBC code resemble glibc original more,
75079         e.g., use K&R style.
75080         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75081         (mkstemp): Remove, since mkstemp.h does this for us.
75082         * lib/stdlib--.h: Include mkstemp.h.
75083
75084         Import this patch from libc:
75085
75086         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75087
75088         * lib/tempname.c (__gen_tempname): Change attempts_min
75089         into a macro.  Use preprocessor to decide how to initialize
75090         attempts [Coverity CID 67].
75091
75092 2006-09-20  Bruno Haible  <bruno@clisp.org>
75093
75094         * lib/mkdtemp.c: Import from libc.
75095         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75096                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75097                 attempts_min into a macro.  Use preprocessor to decide how to
75098                 initialize attempts [Coverity CID 67].
75099         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75100                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75101                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75102
75103 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75104
75105         * gnulib-tool (func_exit): New function, to allow to pass the
75106         exit status portably through the trap.  Use everywhere.
75107         (--help, --version): Signal a write error.
75108         (trap): catch SIGPIPE, for write errors.
75109         Exit at the end of the trap, with the correct exit status.
75110
75111 2006-09-19  Karl Berry  <karl@gnu.org>
75112
75113         * doc/gnulib.texi: note about the license texinfo files.
75114
75115 2006-09-19  Eric Blake  <ebb9@byu.net>
75116
75117         * gnulib-tool: Avoid space-tab.
75118
75119 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75120
75121         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75122         that prevented coreutils 6.1 from building.  Problem reported
75123         by Petter Reinholdtsen.
75124
75125 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75126
75127         * gnulib-tool (avoidlist): Fix typo that broke options like
75128         --avoid=lock that are used by coreutils bootstrap.
75129
75130 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75131
75132         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75133         more systematically.
75134
75135 2006-09-18  Jim Meyering  <jim@meyering.net>
75136
75137         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75138
75139 2006-09-18  Bruno Haible  <bruno@clisp.org>
75140
75141         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75142
75143 2006-09-18  Bruno Haible  <bruno@clisp.org>
75144
75145         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75146         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75147         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75148         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75149         * m4/gettext.m4: Require autoconf >= 2.52.
75150         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75151         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75152         of gl_cv_header_inttypes_h.
75153
75154 2006-09-18  Bruno Haible  <bruno@clisp.org>
75155
75156         * lib/javaversion.c: Include configmake.h.
75157
75158 2006-09-18  Bruno Haible  <bruno@clisp.org>
75159
75160         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75161         avoid that the while loops be executed in a subshell.
75162
75163 2006-09-18  Bruno Haible  <bruno@clisp.org>
75164
75165         * MODULES.html.sh (func_module): Break long lines.
75166         Suggested by Bruce Korb <bkorb@gnu.org>.
75167
75168 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75169
75170         Speed up by a factor of 1.12.
75171         * gnulib-tool (nl): New variable.
75172         (func_import): Rewrite include directive extraction to only read each
75173         directive once.
75174
75175 2006-09-17  Bruno Haible  <bruno@clisp.org>
75176
75177         * modules/javaversion (Makefile.am): Remove DEFS setting.
75178         (Depends-on): Add configmake, for PKGDATADIR definition.
75179
75180 2006-09-17  Bruno Haible  <bruno@clisp.org>
75181
75182         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75183
75184 2006-09-17  Bruno Haible  <bruno@clisp.org>
75185
75186         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75187         (func_modules_transitive_closure, func_modules_add_dummy,
75188         func_modules_to_filelist, func_import, func_create_testdir,
75189         func_create_megatestdir, ...): Use it wherever possible.
75190         Suggested by Ralf Wildenhues.
75191
75192 2006-09-16  Karl Berry  <karl@gnu.org>
75193
75194         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75195         to avoid sectioning errors.
75196         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75197         [ifinfo]: blank line after @center-ed titles.
75198         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75199         Spell FSF address consistently with others.
75200         (These changes approved by rms.)
75201
75202 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75203
75204         Speed up by a factor of 1.61.
75205         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75206         already checked module names again.
75207
75208 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75209
75210         Speed up by a factor of 1.13.
75211         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75212         for new_files, and the input to func_add_or_update.
75213
75214 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75215
75216         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75217         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75218
75219 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75220
75221         * modules/mkancesdirs (Depends-on): Add fcntl.
75222         * modules/savewd: New file.
75223         * MODULES.html.sh (File system functions): Add savewd.
75224
75225         * modules/configmake (Makefile.am): Add support for the
75226         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75227
75228 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75229
75230         * m4/savewd.m4: New file.
75231
75232 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75233
75234         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75235         (dirchownmod): New arg FD.  All callers changed.
75236         Use FD rather than opening the directory ourself, as opening is
75237         now the caller's responsibility.
75238         * lib/dirchownmod.h: Likewise.
75239         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75240         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75241         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75242         (test_dir): Remove.
75243         (mkancesdirs): Return length of prefix of FILE that has already
75244         been made, or -2 if there is a child doing the work.  Redo
75245         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75246         ".", and treat ".." specially since it might stray back into
75247         already-created areas.  Use a subprocess if necessary.  New arg
75248         WD; all users changed.  MAKE_DIR function should now return 1
75249         if it creates a directory that is not readable.  Return -2 if
75250         a child process is spun off.
75251         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75252         Adjust signature to match code.
75253         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75254         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75255         all users changed.
75256         * lib/savewd.c, lib/savewd.h: New files.
75257
75258 2006-09-15  Jim Meyering  <jim@meyering.net>
75259
75260         * modules/rename-dest-slash: New module.
75261         * MODULES.html.sh (posix_compat): Add it here.
75262
75263         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75264
75265 2006-09-15  Jim Meyering  <jim@meyering.net>
75266
75267         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75268         file.
75269
75270         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75271
75272 2006-09-15  Jim Meyering  <jim@meyering.net>
75273
75274         * lib/rename-dest-slash.c (has_trailing_slash): Use
75275         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75276         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75277         test before testing whether SRC is a directory.
75278         Suggestions from Bruno Haible.
75279
75280         Avoid a warning about an unused variable.
75281         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75282         into the #ifdef block where it's used.
75283
75284         * lib/rename-dest-slash.c: New file.
75285
75286 2006-09-14  Bruno Haible  <bruno@clisp.org>
75287
75288         * lib/allocsa.c: Include <config.h> unconditionally.
75289         * lib/asnprintf.c: Likewise.
75290         * lib/asprintf.c: Likewise.
75291         * lib/c-strcasecmp.c: Likewise.
75292         * lib/c-strcasestr.c: Likewise.
75293         * lib/c-strncasecmp.c: Likewise.
75294         * lib/c-strstr.c: Likewise.
75295         * lib/classpath.c: Likewise.
75296         * lib/clean-temp.c: Likewise.
75297         * lib/concatpath.c: Likewise.
75298         * lib/copy-file.c: Likewise.
75299         * lib/csharpcomp.c: Likewise.
75300         * lib/csharpexec.c: Likewise.
75301         * lib/execute.c: Likewise.
75302         * lib/fatal-signal.c: Likewise.
75303         * lib/findprog.c: Likewise.
75304         * lib/fwriteerror.c: Likewise.
75305         * lib/gl_array_list.c: Likewise.
75306         * lib/gl_array_oset.c: Likewise.
75307         * lib/gl_avltree_list.c: Likewise.
75308         * lib/gl_avltree_oset.c: Likewise.
75309         * lib/gl_avltreehash_list.c: Likewise.
75310         * lib/gl_carray_list.c: Likewise.
75311         * lib/gl_linked_list.c: Likewise.
75312         * lib/gl_linkedhash_list.c: Likewise.
75313         * lib/gl_list.c: Likewise.
75314         * lib/gl_oset.c: Likewise.
75315         * lib/gl_rbtree_list.c: Likewise.
75316         * lib/gl_rbtree_oset.c: Likewise.
75317         * lib/gl_rbtreehash_list.c: Likewise.
75318         * lib/imaxabs.c: Likewise.
75319         * lib/imaxdiv.c: Likewise.
75320         * lib/javacomp.c: Likewise.
75321         * lib/javaexec.c: Likewise.
75322         * lib/javaversion.c: Likewise.
75323         * lib/linebreak.c: Likewise.
75324         * lib/localcharset.c: Likewise.
75325         * lib/lock.c: Likewise.
75326         * lib/mbchar.c: Likewise.
75327         * lib/mbswidth.c: Likewise.
75328         * lib/mkdtemp.c: Likewise.
75329         * lib/pipe.c: Likewise.
75330         * lib/printf-args.c: Likewise.
75331         * lib/printf-parse.c: Likewise.
75332         * lib/progname.c: Likewise.
75333         * lib/progreloc.c: Likewise.
75334         * lib/readlink.c: Likewise.
75335         * lib/sh-quote.c: Likewise.
75336         * lib/stpcpy.c: Likewise.
75337         * lib/stpncpy.c: Likewise.
75338         * lib/strcasecmp.c: Likewise.
75339         * lib/strcasestr.c: Likewise.
75340         * lib/strcspn.c: Likewise.
75341         * lib/striconv.c: Likewise.
75342         * lib/strncasecmp.c: Likewise.
75343         * lib/strnlen1.c: Likewise.
75344         * lib/strstr.c: Likewise.
75345         * lib/strtok_r.c: Likewise.
75346         * lib/tls.c: Likewise.
75347         * lib/tmpdir.c: Likewise.
75348         * lib/unicodeio.c: Likewise.
75349         * lib/unsetenv.c: Likewise.
75350         * lib/vasnprintf.c: Likewise.
75351         * lib/vasprintf.c: Likewise.
75352         * lib/wait-process.c: Likewise.
75353         * lib/xallocsa.c: Likewise.
75354         * lib/xsetenv.c: Likewise.
75355         * lib/xstriconv.c: Likewise.
75356
75357 2006-09-13  Simon Josefsson  <jas@extundo.com>
75358
75359         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75360         that internally, suggested by Ralf Wildenhues
75361         <Ralf.Wildenhues@gmx.de>.
75362
75363 2006-09-13  Simon Josefsson  <jas@extundo.com>
75364
75365         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75366         @LIBOBJS@.
75367         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75368
75369 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75370
75371         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75372         longer worry about uses that don't define HAVE_CONFIG_H.
75373         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75374         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75375         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75376         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75377         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75378         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75379         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75380         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75381         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75382         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75383         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75384         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75385         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75386         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75387         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75388         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75389         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75390         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75391         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75392         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75393         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75394         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75395         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75396         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75397         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75398         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75399         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75400         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75401         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75402         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75403         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75404         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75405         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75406         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75407         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75408         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75409         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75410         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75411         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75412         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75413         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75414         Likewise.
75415
75416 2006-09-13  Eric Blake  <ebb9@byu.net>
75417
75418         * lib/getopt.c: Fix typo in last commit.
75419
75420 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75421
75422         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75423         dgettext.
75424
75425 2006-09-12  Jim Meyering  <jim@meyering.net>
75426
75427         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75428         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75429         Reported by Nelson H. F. Beebe.
75430
75431 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75432
75433         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75434         program_invocation_name and program_invocation_short_name are
75435         initialized.
75436         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75437         and program_invocation_short_name to argp.h, so they are visible
75438         to user programs.
75439         * lib/argp.h: Likewise
75440
75441 2006-09-10  Bruno Haible  <bruno@clisp.org>
75442
75443         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75444         m4/inttypes_h.m4, m4/uintmax_t.m4.
75445
75446 2006-09-10  Bruno Haible  <bruno@clisp.org>
75447
75448         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75449         gl_AC_TYPE_UINTMAX_T.
75450
75451 2006-09-10  Bruno Haible  <bruno@clisp.org>
75452
75453         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75454
75455 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75456
75457         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75458         convention.  Text proposed by Bruno Haible.
75459         (struct argp_option): Document the use of N_() wrappers.
75460
75461         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75462         '\v', and translate the two parts separately, instead of feeding
75463         the whole string to gettext.  This allows to exclude
75464         '\v' from the strings visible to the translator by writing doc
75465         strings as N_("..") "\v" N_("..").
75466
75467 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75468
75469         * config/srclist.txt: Undo latest change; the bug was fixed.
75470
75471 2006-09-09  Bruno Haible  <bruno@clisp.org>
75472
75473         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75474         assignments if building a library without libtool.
75475         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75476         in func_emit_lib_Makefile_am.
75477         (func_import): When building a static library libfoo.a, arrange to
75478         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75479         (func_create_testdir): Likewise.
75480         * modules/gc (configure.ac, Makefile.am): If building statically,
75481         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75482         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75483         * modules/striconv (configure.ac, Makefile.am): Likewise.
75484         Based on a suggestion by Ralf Wildenhues.
75485
75486 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75487
75488         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75489         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75490         Also:
75491
75492         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75493         Add year_2050_test to catch glibc bug 2821
75494         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75495
75496         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75497         Prefer #ifdef to #if.
75498
75499         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75500         Return from 'main' instead of calling 'exit'.
75501
75502 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75503
75504         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75505         returned the maximum time_t value rather than (time_t) -1.
75506         Problem originally reported by William Bardwell
75507         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75508
75509         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75510         Moved to here ...
75511         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75512         ... from here.
75513
75514 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75515
75516         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75517         2821 is fixed.
75518
75519 2006-09-08  Jim Meyering  <jim@meyering.net>
75520
75521         Don't make generated files read-only.  That would bother too many
75522         people.  However, do retain the ability to work when targets are
75523         read-only: remove the destination and temporary files before writing
75524         them (when generated via sed or echo), or by using the -f option for
75525         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75526         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75527         * modules/byteswap, modules/configmake, modules/fcntl:
75528         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75529         * modules/localcharset, modules/netinet_in, modules/poll:
75530         * modules/stdbool, modules/stdint, modules/sys_select:
75531         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75532
75533 2006-09-08  Jim Meyering  <jim@meyering.net>
75534
75535         Avoid new build failure on FreeBSD 6.0.
75536         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75537         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75538         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75539
75540 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75541
75542         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75543
75544 2006-09-07  Jim Meyering  <jim@meyering.net>
75545
75546         Fix global typo in last change: use chmod u-w, not chmod u-x.
75547         Spotted by Paul Eggert and Bruce Korb.
75548         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75549         * modules/byteswap, modules/configmake, modules/fcntl:
75550         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75551         * modules/localcharset, modules/netinet_in, modules/poll:
75552         * modules/stdbool, modules/stdint, modules/sys_select:
75553         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75554
75555 2006-09-06  Jim Meyering  <jim@meyering.net>
75556
75557         Make generated files be read-only.
75558         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75559         Ensure that each generated file is now read-only.
75560         * modules/argz: Likewise.
75561         * modules/arpa_inet: Likewise.
75562         * modules/byteswap: Likewise.
75563         * modules/configmake: Likewise.
75564         * modules/fcntl: Likewise.
75565         * modules/fnmatch: Likewise.
75566         * modules/getopt: Likewise.
75567         * modules/glob: Likewise.
75568         * modules/inttypes: Likewise.
75569         * modules/netinet_in: Likewise.
75570         * modules/poll: Likewise.
75571         * modules/stdbool: Likewise.
75572         * modules/stdint: Likewise.
75573         * modules/sys_select: Likewise.
75574         * modules/sys_socket: Likewise.
75575         * modules/sys_stat: Likewise.
75576         * modules/sysexits: Likewise.
75577         * modules/localcharset: Same as above, but continue using temporary
75578         file named "t-$@" (why different?) rather than the "$@-t" used
75579         everywhere else.
75580
75581         * modules/sysexits (Makefile.am): Replace literal occurrences
75582         of "sysexit.h" more readable, and more consistent, "$@".
75583
75584 2006-09-06  Bruno Haible  <bruno@clisp.org>
75585
75586         * modules/striconv: New file.
75587         * modules/xstriconv: New file.
75588         * MODULES.html.sh (Internationalization functions): Add striconv,
75589         xstriconv.
75590
75591 2006-09-06  Bruno Haible  <bruno@clisp.org>
75592
75593         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75594         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75595         not using libtool correctly.
75596
75597 2006-09-06  Bruno Haible  <bruno@clisp.org>
75598
75599         * lib/striconv.h: New file.
75600         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75601         iconvstring.c.
75602         * lib/xstriconv.h: New file.
75603         * lib/xstriconv.c: New file.
75604
75605 2006-09-06  Bruno Haible  <bruno@clisp.org>
75606
75607         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75608         lib_..._LDFLAGS.
75609
75610 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75611
75612         * lib/argz_.h: Sync from Libtool.
75613
75614         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75615                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75616
75617         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75618
75619 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75620
75621         * modules/trim: New file.
75622
75623 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75624
75625         * lib/trim.h: New file.
75626         * lib/trim.c: New file.
75627
75628 2006-09-05  Bruno Haible  <bruno@clisp.org>
75629
75630         * MODULES.html.sh (String handling): Add trim.
75631
75632 2006-09-04  Karl Berry  <karl@gnu.org>
75633
75634         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75635         until next release.
75636
75637 2006-09-03  Bruno Haible  <bruno@clisp.org>
75638
75639         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75640         correctly.
75641
75642 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75643
75644         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75645         not gl_GETLOADAVG.  Omit unneeded semicolons.
75646         Problems reported by Ralf Wildenhues in
75647         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75648         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75649         at the end, which is the usual gnulib style.
75650
75651         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75652         of doing all the work ourselves.
75653         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75654         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75655
75656 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75657
75658         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75659         Problem reported by Ralf Wildenhues in
75660         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75661
75662         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
75663         HAVE_STRUCT_STATFS_F_FSTYPENAME.
75664
75665 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75666
75667         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
75668         yesterday's patch by changing test -n to test -z.
75669
75670 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75671
75672         * modules/getloadavg (Files): Add m4/getloadavg.m4.
75673         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
75674         the former is now obsolescent.
75675
75676         * modules/chdir-long (Depends-on): Add fcntl.
75677
75678 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75679
75680         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
75681         obsolescent, and programs should use gnulib instead.
75682         * m4/getloadavg.m4: New file, with contents taken from Autoconf
75683         but with prefixes changed.
75684
75685 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75686
75687         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75688         or stdbool.h, because they might not exist while configuring.
75689
75690         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75691         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75692         does that for us.
75693         (O_DIRECTORY): Remove.
75694
75695 2006-08-31  Eric Blake  <ebb9@byu.net>
75696
75697         * gnulib-tool: Don't let emacs change spaces to TAB.
75698
75699 2006-08-31  Bruno Haible  <bruno@clisp.org>
75700
75701         * gnulib-tool: When calling func_import more than once, do it in a
75702         subshell.
75703         Reported by Eric Blake <ebb9@byu.net>.
75704
75705 2006-08-31  Bruno Haible  <bruno@clisp.org>
75706
75707         * gnulib-tool (nl): Remove variable.
75708         (sed_transform_lib_file): Use more robust test for config-h module.
75709         (func_import): Fix typo in 2006-08-25 patch.
75710
75711 2006-08-31  Bruno Haible  <bruno@clisp.org>
75712
75713         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75714         specified, augment Makefile.am variables instead of assigning them.
75715
75716 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75717
75718         Work around a bug in both the Linux and SunOS 64-bit kernels:
75719         nanosleep mishandles sleeps for longer than 2**31 seconds.
75720         Problem reported by Frank v Waveren in
75721         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75722         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75723         Check for nanosleep bug.
75724         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75725
75726 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75727
75728         Work around a bug in both the Linux and SunOS 64-bit kernels:
75729         nanosleep mishandles sleeps for longer than 2**31 seconds.
75730         Problem reported by Frank v Waveren in
75731         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75732         * lib/nanosleep.c (BILLION): New constant.
75733         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75734         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75735         implementation.
75736
75737 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75738
75739         * modules/nanosleep (Depends-on): Add gettime.
75740
75741 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75742         and Simon Josefsson  <jas@extundo.com>
75743         and Oskar Liljeblad  <oskar@osk.mine.nu>
75744
75745         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75746         * gnulib-tool (func_import): New license type 'unmodifiable license
75747         text'.
75748         * modules/fdl: Use it.  Longer description.
75749         * module/gpl, module/lgpl: New files.
75750
75751 2006-08-30  Jim Meyering  <jim@meyering.net>
75752
75753         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75754         shadowing the parameter.
75755
75756 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75757
75758         Sync from Libtool:
75759
75760         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75761
75762         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75763         sharing with gnulib.  Report by Eric Blake.
75764
75765 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75766
75767         * modules/isapipe: New file.
75768         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75769
75770 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75771
75772         * modules/configmake (Makefile.am): Add a comment, and omit
75773         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75774         by Bruno Haible.
75775
75776 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75777
75778         * m4/isapipe.m4: New file.
75779
75780 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75781
75782         * lib/isapipe.c, lib/isapipe.h: New files.
75783
75784 2006-08-29  Jim Meyering  <jim@meyering.net>
75785
75786         * modules/configmake (Makefile.am): Make configmake.h depend on
75787         Makefile.  Otherwise, a stale configmake.h could hang around.
75788
75789 2006-08-29  Eric Blake  <ebb9@byu.net>
75790
75791         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75792         resolution of upstream bug 3044.
75793
75794 2006-08-29  Bruno Haible  <bruno@clisp.org>
75795
75796         * modules/localcharset (Depends-on): Add configmake.
75797         (Makefile.am): Remove setting of LIBDIR through DEFS.
75798
75799 2006-08-29  Bruno Haible  <bruno@clisp.org>
75800
75801         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75802         defined.
75803
75804 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75805
75806         * modules/fcntl: New file.
75807         * modules/chdir-safer (Depends-on): Add fcntl.
75808         * modules/fts: Likewise.
75809         * modules/mkdir-p: Likewise.
75810
75811         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75812         This undoes the most recent change, since we're now addressing the
75813         problem in a different way.
75814
75815         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75816         into output, since the output might be called Makefile.am even
75817         if $makefile_name is something different.
75818         (func_import): Use $makefile_am rather than
75819         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75820         empty.
75821
75822         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75823
75824 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75825
75826         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75827         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75828         recent change to stdint.m4, since we're now addressing the problem in a
75829         different way.
75830
75831 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75832
75833         * m4/fcntl_h.m4: New file.
75834
75835 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75836
75837         * lib/fcntl_.h: New file.
75838         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75839         the fcntl module.
75840         * lib/dirchownmod.c: Likewise.
75841         * lib/fts.c: Likewise.
75842
75843         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75844         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75845         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75846         just before including <inttypes.h>, to avoid circular inclusion.
75847
75848 2006-08-28  Jim Meyering  <jim@meyering.net>
75849
75850         * doc/visibility.texi: Actually read and correct the grammar of the
75851         sentence affected by yesterday's change.
75852
75853 2006-08-28  Eric Blake  <ebb9@byu.net>
75854
75855         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75856         needs wrapper.
75857
75858 2006-08-28  Eric Blake  <ebb9@byu.net>
75859
75860         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75861
75862 2006-08-28  Eric Blake  <ebb9@byu.net>
75863
75864         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75865
75866 2006-08-28  Bruno Haible  <bruno@clisp.org>
75867
75868         * modules/c-strstr: New file, from GNU gettext.
75869         * MODULES.html.sh (String handling): Add c-strstr.
75870
75871 2006-08-28  Bruno Haible  <bruno@clisp.org>
75872
75873         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75874         macros.
75875         Reported by Eric Blake.
75876
75877 2006-08-28  Bruno Haible  <bruno@clisp.org>
75878
75879         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75880         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75881         * lib/vasprintf.c: Include errno.h, limits.h.
75882         (EOVERFLOW): New fallback definition.
75883         (vasprintf): Test here whether the string length is > INT_MAX.
75884         * lib/vsnprintf.c: Include errno.h, limits.h.
75885         (EOVERFLOW): New fallback definition.
75886         (vsnprintf): Fix bug when generated string was too long for the buffer.
75887         Test here whether the string length is > INT_MAX.
75888
75889 2006-08-28  Bruno Haible  <bruno@clisp.org>
75890
75891         * lib/inttypes_.h (SCNX*): Remove definitions.
75892         Reported by Eric Blake.
75893
75894 2006-08-28  Bruno Haible  <bruno@clisp.org>
75895
75896         * lib/c-strstr.h: New file, from GNU gettext.
75897         * lib/c-strstr.c: New file, from GNU gettext.
75898
75899 2006-08-28  Bruno Haible  <bruno@clisp.org>
75900
75901         * gnulib-tool: Reorder some statements.
75902
75903 2006-08-28  Bruno Haible  <bruno@clisp.org>
75904
75905         * gnulib-tool: New option --makefile-name.
75906         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75907         $makefile_name.
75908         (func_import): Write $makefile_name to the cache file, and read it from
75909         there unless explicitly specified. Use $makefile_name as file name
75910         instead of Makefile.am. Adjust the recommendations accordingly.
75911
75912 2006-08-28  Bruno Haible  <bruno@clisp.org>
75913
75914         * gnulib-tool (func_verify_module): Check against misapplying patch.
75915
75916 2006-08-28  Bruno Haible  <bruno@clisp.org>
75917
75918         * gnulib-tool (func_relativize, func_relconcat): New functions.
75919         Give an error if --local-dir is given with --update.
75920         Remove trailing slashes from $local_gnulib_dir.
75921         (func_import): Store the relativized $local_gnulib_dir in
75922         gnulib-cache.m4, and read it from there if not specified explicitly.
75923
75924 2006-08-28  Bruno Haible  <bruno@clisp.org>
75925
75926         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75927         is the current directory. Respect also $local_gnulib_dir.
75928
75929 2006-08-28  Bruno Haible  <bruno@clisp.org>
75930             Simon Josefsson  <jas@extundo.com>
75931
75932         BeOS portability.
75933         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75934
75935 2006-08-27  Jim Meyering  <jim@meyering.net>
75936
75937         * doc/visibility.texi: Remove duplicate word: "pointer".
75938
75939 2006-08-26  Bruno Haible  <bruno@clisp.org>
75940
75941         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75942         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75943         (Makefile.am): Create inttypes.h from inttypes_.h.
75944         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75945
75946         * modules/imaxabs: New file.
75947
75948         * modules/imaxdiv: New file.
75949
75950 2006-08-26  Bruno Haible  <bruno@clisp.org>
75951
75952         * m4/inttypes.m4: New file.
75953         * m4/_inttypes_h.m4: Remove file.
75954         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75955         PRI_MACROS_BROKEN.
75956         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75957
75958         * m4/imaxabs.m4: New file.
75959
75960         * m4/imaxdiv.m4: New file.
75961
75962 2006-08-26  Bruno Haible  <bruno@clisp.org>
75963
75964         * lib/inttypes_.h: New file.
75965         * lib/inttypes.h: Remove file.
75966         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75967
75968         * lib/imaxabs.c: New file.
75969
75970         * lib/imaxdiv.c: New file.
75971
75972 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75973
75974         New config-h module, so that "make" output needn't be cluttered
75975         by -DHAVE_CONFIG_H.
75976         * MODULES.html.sh (Support for building libraries and executables):
75977         Add config-h.
75978         * modules/config-h: New file.
75979         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75980         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75981         the config-h module is used.
75982
75983         New configmake module, so that "make" output needn't be cluttered
75984         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75985         * MODULES.html.sh (Support for building libraries and executables):
75986         Add configmake.
75987         * modules/configmake: New file.
75988
75989 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75990
75991         * m4/config-h.m4: New file.
75992
75993 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75994
75995         * config/srclist.txt: Add elisp-comp.
75996
75997 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75998
75999         * MODULES.html.sh (Support for building libraries and executables):
76000         Add elisp-comp.
76001         * build-aux/elisp-comp: New file.
76002         * modules/elisp-comp: New file.
76003
76004 2006-08-24  Bruno Haible  <bruno@clisp.org>
76005
76006         * gnulib-tool (func_create_testdir): Use non-default values of
76007         sourcebase and m4base.
76008
76009 2006-08-24  Bruno Haible  <bruno@clisp.org>
76010
76011         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76012         HTML structure.
76013
76014 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         * modules/openat (Depends-on): Add lchown.
76017
76018 2006-08-23  Bruno Haible  <bruno@clisp.org>
76019
76020         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76021         of gl_LOCK_EARLY instead of gl_LOCK.
76022
76023 2006-08-23  Bruno Haible  <bruno@clisp.org>
76024
76025         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76026         on OSF/1 to no.
76027         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76028
76029 2006-08-23  Bruno Haible  <bruno@clisp.org>
76030
76031         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76032         as unusable.
76033
76034         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76035         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76036         (gl_LOCK): New macro.
76037
76038 2006-08-22  Simon Josefsson  <jas@extundo.com>
76039
76040         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76041         to md5 module.
76042
76043 2006-08-22  Simon Josefsson  <jas@extundo.com>
76044
76045         * MODULES.html.sh: Add "Support for maintaining and release
76046         projects".
76047
76048         * build-aux/gnupload: New file, from coreutils.
76049
76050 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76051
76052         Avoid the need for AC_LIBSOURCES in m4 macros.
76053         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76054         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76055         * modules/check-version (EXTRA_DIST): Add check-version.h.
76056         * modules/crc (EXTRA_DIST): Add crc.h.
76057         * modules/des (EXTRA_DIST): Add des.h.
76058         * modules/gc (EXTRA_DIST): Add gc.h.
76059         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76060         * modules/getline (EXTRA_DIST): Add getline.h.
76061         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76062         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76063         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76064         * modules/md2 (EXTRA_DIST): Add md2.h.
76065         * modules/md4 (EXTRA_DIST): Add md4.h.
76066         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76067         * modules/read-file (EXTRA_DIST): Add read-file.h.
76068         * modules/readline (EXTRA_DIST): Add readline.h.
76069         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76070         rijndael-api-fst.h.
76071
76072 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76073
76074         * m4/rijndael.m4 (gl_ARCFOUR):
76075         * m4/arctwo.m4 (gl_ARCTWO):
76076         * m4/check-version.m4 (gl_CHECK_VERSION):
76077         * m4/crc.m4 (gl_CRC):
76078         * m4/des.m4 (gl_DES):
76079         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76080         * m4/gc.m4 (gl_GC):
76081         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76082         * m4/getline.m4 (gl_FUNC_GETLINE):
76083         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76084         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76085         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76086         * m4/md2.m4 (gl_MD2):
76087         * m4/md4.m4 (gl_MD4):
76088         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76089         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76090         * m4/readline.m4 (gl_FUNC_READLINE):
76091         * m4/rijndael.m4 (gl_RIJNDAEL):
76092         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76093         to get the necessary .h files and whatnot.
76094
76095 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76096
76097         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76098         gnulib rather than the other way around.
76099         * config/srclistvars.sh (COREUTILS): Remove.
76100
76101 2006-08-22  Jim Meyering  <jim@meyering.net>
76102
76103         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76104
76105         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76106
76107 2006-08-22  Eric Blake  <ebb9@byu.net>
76108
76109         * modules/regexprops-generic: New file.
76110         * MODULES.html.sh (Support for building documentation): List it.
76111
76112 2006-08-22  Eric Blake  <ebb9@byu.net>
76113
76114         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76115         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76116         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76117         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76118
76119 2006-08-22  Bruno Haible  <bruno@clisp.org>
76120
76121         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76122         and lib_LTLIBRARIES like the other lib_* variables.
76123
76124 2006-08-22  Bruno Haible  <bruno@clisp.org>
76125
76126         * build-aux/x-to-1.in: New file, from GNU gettext.
76127
76128 2006-08-22  Bruno Haible  <bruno@clisp.org>
76129
76130         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76131         <utmpx.h> exists.
76132
76133 2006-08-22  Bruno Haible  <bruno@clisp.org>
76134
76135         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76136         <utmpx.h> exists.
76137
76138 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76139
76140         BeOS portability.
76141         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76142         exist.
76143         Problem reported by Bruno Haible.
76144
76145 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76146
76147         Avoid the need for AC_LIBSOURCES in m4 macros.
76148         * modules/acl (EXTRA_DIST): Add acl.h.
76149         * modules/argmatch (Files): Add m4/argmatch.m4.
76150         (configure.ac): Add gl_ARGMATCH.
76151         (EXTRA_DIST): Renamed from lib_SOURCES, for
76152         consistency with the other modules.  Remove argmatch.c.
76153         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76154         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76155         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76156         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76157         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76158         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76159         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76160         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76161         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76162         * modules/closeout (EXTRA_DIST): Add closeout.h.
76163         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76164         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76165         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76166         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76167         dirname.h; remove basename.c and stripslash.c.
76168         * modules/exclude (EXTRA_DIST): Add exclude.h.
76169         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76170         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76171         * modules/file-type (EXTRA_DIST): Add file-type.h.
76172         * modules/filemode (EXTRA_DIST): Add filemode.h.
76173         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76174         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76175         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76176         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76177         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76178         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76179         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76180         * modules/getdate (EXTRA_DIST): Add getdate.c.
76181         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76182         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76183         * modules/getpass (EXTRA_DIST): Add getpass.h.
76184         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76185         * modules/group-member (EXTRA_DIST): Add group-member.h.
76186         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76187         * modules/hash (EXTRA_DIST): Add hash.h.
76188         * modules/human (EXTRA_DIST): Add human.h.
76189         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76190         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76191         * modules/lchown (EXTRA_DIST): Add lchown.h.
76192         * modules/long-options (EXTRA_DIST): Add long-options.h.
76193         * modules/lstat (EXTRA_DIST): Add lstat.h.
76194         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76195         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76196         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76197         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76198         * modules/memxor (EXTRA_DIST): Add memxor.h.
76199         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76200         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76201         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76202         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76203         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76204         * modules/physmem (EXTRA_DIST): Add physmem.h.
76205         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76206         * modules/posixver (EXTRA_DIST): Add posixver.h.
76207         * modules/quote (EXTRA_DIST): Add quote.h.
76208         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76209         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76210         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76211         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76212         regex_internal.h regexec.c.
76213         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76214         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76215         * modules/same (EXTRA_DIST): Add same.h.
76216         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76217         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76218         * modules/savedir (EXTRA_DIST): Add savedir.h.
76219         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76220         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76221         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76222         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76223         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76224         * modules/strdup (EXTRA_DIST): Add strdup.h.
76225         * modules/strftime (EXTRA_DIST): Add strftime.h.
76226         * modules/strndup (EXTRA_DIST): Add strndup.h.
76227         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76228         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76229         * modules/time_r (EXTRA_DIST): Add time_r.h.
76230         * modules/timespec (EXTRA_DIST): Add timespec.h.
76231         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76232         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76233         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76234         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76235         * modules/userspec (EXTRA_DIST): Add userspec.h.
76236         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76237         * modules/utimens (EXTRA_DIST): Add utimens.h.
76238         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76239         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76240         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76241         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76242         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76243         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76244         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76245         * modules/yesno (EXTRA_DIST): Add yesno.h.
76246
76247 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76248
76249         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76250
76251         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76252         * m4/dev-ino.m4, same-inode.m4: Remove.
76253
76254         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76255         * m4/acl.m4 (AC_FUNC_ACL):
76256         * m4/backupfile.m4 (gl_BACKUPFILE):
76257         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76258         * m4/canon-host.m4 (gl_CANON_HOST):
76259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76260         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76261         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76262         * m4/cloexec.m4 (gl_CLOEXEC):
76263         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76264         * m4/closeout.m4 (gl_CLOSEOUT):
76265         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76266         * m4/dirname.m4 (gl_DIRNAME):
76267         * m4/exclude.m4 (gl_EXCLUDE):
76268         * m4/exitfail.m4 (gl_EXITFAIL):
76269         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76270         * m4/file-type.m4 (gl_FILE_TYPE):
76271         * m4/filemode.m4 (gl_FILEMODE):
76272         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76273         * m4/fpending.m4 (gl_FUNC_FPENDING):
76274         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76275         * m4/fts.m4 (gl_FUNC_FTS):
76276         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76277         * m4/getdate.m4 (gl_GETDATE):
76278         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76279         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76280         * m4/getpass.m4 (gl_FUNC_GETPASS):
76281         * m4/gettime.m4 (gl_GETTIME):
76282         * m4/getugroups.m4 (gl_GETUGROUPS):
76283         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76284         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76285         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76286         * m4/hash.m4 (gl_HASH):
76287         * m4/idcache.m4 (gl_IDCACHE):
76288         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76289         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76290         * m4/long-options.m4 (gl_LONG_OPTIONS):
76291         * m4/lstat.m4 (gl_FUNC_LSTAT):
76292         * m4/md5.m4 (gl_MD5):
76293         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76294         * m4/memcoll.m4 (gl_MEMCOLL):
76295         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76296         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76297         * m4/memxor.m4 (gl_MEMXOR):
76298         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76299         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76300         * m4/modechange.m4 (gl_MODECHANGE):
76301         * m4/mountlist.m4 (gl_MOUNTLIST):
76302         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76303         * m4/openat.m4 (gl_FUNC_OPENAT):
76304         * m4/pathmax.m4 (gl_PATHMAX):
76305         * m4/physmem.m4 (gl_PHYSMEM):
76306         * m4/posixtm.m4 (gl_POSIXTM):
76307         * m4/posixver.m4 (gl_POSIXVER):
76308         * m4/quote.m4 (gl_QUOTE):
76309         * m4/quotearg.m4 (gl_QUOTEARG):
76310         * m4/readtokens.m4 (gl_READTOKENS):
76311         * m4/readutmp.m4 (gl_READUTMP):
76312         * m4/regex.m4 (gl_REGEX):
76313         * m4/safe-read.m4 (gl_SAFE_READ):
76314         * m4/safe-write.m4 (gl_SAFE_WRITE):
76315         * m4/same.m4 (gl_SAME):
76316         * m4/save-cwd.m4 (gl_SAVE_CWD):
76317         * m4/savedir.m4 (gl_SAVEDIR):
76318         * m4/settime.m4 (gl_SETTIME):
76319         * m4/sha1.m4 (gl_SHA1):
76320         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76321         * m4/stat-macros.m4 (gl_STAT_MACROS):
76322         * m4/stat-time.m4 (gl_STAT_TIME):
76323         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76324         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76325         * m4/strdup.m4 (gl_FUNC_STRDUP):
76326         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76327         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76328         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76329         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76330         * m4/time_r.m4 (gl_TIME_R):
76331         * m4/timespec.m4 (gl_TIMESPEC):
76332         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76333         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76334         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76335         * m4/userspec.m4 (gl_USERSPEC):
76336         * m4/utimecmp.m4 (gl_UTIMECMP):
76337         * m4/utimens.m4 (gl_UTIMENS):
76338         * m4/xalloc.m4 (gl_XALLOC):
76339         * m4/xgetcwd.m4 (gl_XGETCWD):
76340         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76341         * m4/xreadlink.m4 (gl_XREADLINK):
76342         * m4/xstrtod.m4 (gl_XSTRTOD):
76343         * m4/yesno.m4 (gl_YESNO):
76344         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76345         to get the necessary .h files and whatnot.
76346
76347 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76348             Bruno Haible  <bruno@clisp.org>
76349
76350         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76351         /bin/sh understanding of '!' conditional negation.
76352
76353 2006-08-21  Jim Meyering  <jim@meyering.net>
76354
76355         * modules/openat (Depends-on): Really alphabetize.
76356
76357         * modules/acl (Depends-on): Add error and quote.
76358
76359         * check-module (find_included_lib_files): Add at-func.c to the
76360         ok-to-include-more-than-once white list.
76361
76362         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76363
76364 2006-08-21  Bruno Haible  <bruno@clisp.org>
76365
76366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76367         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76368         Reported by Martin Lambers <marlam@marlam.de>.
76369
76370 2006-08-21  Bruno Haible  <bruno@clisp.org>
76371
76372         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76373         specify an installation location, don't emit a noinst_LIBRARIES or
76374         noinst_LTLIBRARIES assignment.
76375
76376 2006-08-21  Bruno Haible  <bruno@clisp.org>
76377
76378         BeOS portability.
76379         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76380         BeOS has mbrtowc() but no <wctype.h>.
76381
76382 2006-08-21  Bruno Haible  <bruno@clisp.org>
76383
76384         BeOS portability.
76385         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76386         exist.
76387
76388 2006-08-21  Bruno Haible  <bruno@clisp.org>
76389
76390         BeOS portability.
76391         * lib/mbchar.h: Include <wctype.h> only if it exists.
76392
76393 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76394
76395         Remove files that are no longer needed by their respective modules.
76396         * m4/obstack.m4: Remove.
76397         * m4/strerror_r.m4: Remove.
76398         * m4/uint32_t.m4: Remove.
76399         * m4/uintptr_t.m4: Remove.
76400         * m4/ullong_max.m4: Remove.
76401         * m4/xstrtoimax.m4: Remove.
76402         * m4/xstrtoumax.m4: Remove.
76403
76404         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76405         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76406         dependencies now capture this.
76407
76408         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76409         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76410         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76411         * m4/human.m4 (gl_HUMAN): Likewise.
76412         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76413         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76414
76415         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76416
76417         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76418         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76419         stdint.
76420         * m4/human.m4 (gl_HUMAN): Likewise.
76421         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76422         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76423         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76424         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76425         * m4/xstrtol (gl_XSTRTOL): Likewise.
76426
76427         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76428         AC_TYPE_LONG_LONG_INT.
76429         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76430         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76431         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76432         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76433
76434         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76435         on stdbool.
76436
76437         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76438         (gl_PREREQ_XSTRTOUL): Remove.
76439
76440         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76441
76442         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76443         mode.
76444
76445 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76446
76447         Add and change modules to make it easier for coreutils to use
76448         gnulib-tool.
76449         * modules/backupfile (Files): Remove m4/d-ino.m4.
76450         (Depends-on): Add d-ino.
76451         * modules/cycle-check (Depends-on): Add stdint.
76452         (lib_SOURCES): Add cycle-check.h.
76453         * modules/d-ino: New module.
76454         * modules/d-type: New module.
76455         * modules/error (Files): Remove m4/strerror_r.m4.
76456         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76457         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76458         m4/inttypes_h.m4, m4/uintmax_t.m4.
76459         (Depends-on): Add stdint.
76460         (lib_SOURCES): Add fsusage.h.
76461         * modules/getcwd (Files): Remove d-ino.m4.
76462         (Depends-on): Add d-ino.
76463         * modules/getndelim2 (Depends-on): Add stdint.
76464         * modules/glob (Files): Remove m4/d-type.m4.
76465         (Depends-on): Add d-type.
76466         * modules/host-os: New module.
76467         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76468         m4/inttypes_h.m4, m4/uintmax_t.m4.
76469         * Depends-on: Add stdint.
76470         (lib_SOURCES): Add human.h.
76471         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76472         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76473         m4/uintmax_t.m4, m4/ulonglong.m4.
76474         (Depends-on): Add stdint.
76475         (EXTRA_DIST): Add inttostr.h.
76476         * modules/lchmod: New module.
76477         * modules/link-follow: New module.
76478         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76479         (Depends-on): Add lchmod.
76480         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76481         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76482         (Depends-on): Add stdint.
76483         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76484         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76485         (Depends-on): Add stdint.
76486         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76487         * modules/perl: New module.
76488         * modules/regex (Depends-on): Add stdint.
76489         * modules/rmdir-errno: New module.
76490         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76491         m4/intmax_t.m4.
76492         (Depends-on): Add stdint.
76493         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76494         m4/uintmax_t.m4.
76495         (Depends-on): Add stdint.
76496         * modules/unlink-busy: New module.
76497         * modules/utimecmp (Depends-on): Add stdint.
76498         * modules/uptime: New module.
76499         * modules/winsz-ioctl: New module.
76500         * modules/winsz-termios: New module.
76501         * modules/xnanosleep (Depends-on): Add nanosleep.
76502         * modules/ullong_max: Remove.
76503         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76504         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76505         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76506         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76507         (Depends-on): Add inttypes.
76508         (lib_SOURCES): Add xstrtol.h.
76509         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76510         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76511         * MODULES.html.sh: Move 'assert' into the assert section.
76512         Move 'dummy' into the linking section.
76513         Remove ullong_max.
76514         Add section for compatibility checks for POSIX:2001 functions,
76515         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76516         winsz-ioctl, and winsz-termios into it.
76517         Add lchmod.
76518         Add top-level Misc section and put host-os, perl, and uptime
76519         into it.
76520
76521 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76522
76523         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76524         now assume the stdint module.  Do not include inttypes.h.
76525         * lib/fsusage.h: Likewise.
76526         * lib/getndelim2.c: Likewise.
76527         * lib/human.h: Likewise.
76528         * lib/inttostr.h: Likewise.
76529         * lib/obstack.c: Likewise.
76530         * lib/regex_internal.h: Likewise.
76531         * lib/tempname.c: Likewise.
76532         * lib/utimecmp.c: Likewise.
76533         * lib/xstrtol.h: Likewise.
76534
76535         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76536
76537         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76538         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76539         * lib/xtime.h: Likewise.
76540
76541 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76542
76543         * modules/openat (Files): Add lib/fchmodat.c.
76544         Fixes problem reported by Jay Youngman.
76545
76546 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76547
76548         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76549         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76550
76551 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76552             Bruno Haible  <bruno@clisp.org>
76553
76554         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76555         and is a script that invokes bison. Tighten the code. Add comments.
76556
76557 2006-08-18  Jim Meyering  <jim@meyering.net>
76558
76559         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76560         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76561         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76562         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76563
76564 2006-08-18  Bruno Haible  <bruno@clisp.org>
76565
76566         * modules/bison-i18n: New file.
76567         * MODULES.html.sh (Internationalization functions): Add it.
76568
76569 2006-08-18  Bruno Haible  <bruno@clisp.org>
76570
76571         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76572         sys/statvfs.h. When getmntinfo was found, check its declaration and
76573         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76574
76575 2006-08-18  Bruno Haible  <bruno@clisp.org>
76576
76577         * m4/bison-i18n.m4: New file, from bison.
76578
76579 2006-08-18  Bruno Haible  <bruno@clisp.org>
76580
76581         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76582         (ME_DUMMY): Treat "kernfs" as a dummy.
76583         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76584
76585 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         Update from coreutils.
76588
76589         2006-08-15  Jim Meyering  <jim@meyering.net>
76590
76591         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76592
76593         2006-01-17  Jim Meyering  <jim@meyering.net>
76594
76595         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76596
76597         2006-01-11  Jim Meyering  <jim@meyering.net>
76598
76599         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76600         Check for the lchmod function.
76601
76602 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76603
76604         Update from coreutils.
76605
76606         * lib/__fpending.h: Add copyright notice.
76607         * lib/fprintftime.h: Likewise.
76608         * lib/savedir.c: Use (C) in copyright notice.
76609         * lib/savedir.h: Likewise.
76610
76611         2006-08-15  Jim Meyering  <jim@meyering.net>
76612
76613         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76614         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76615         in support of the EXPECTED_ERRNO macro.
76616         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76617         definitions.  Instead, define the appropriate symbols and include
76618         "at-func.c".
76619         * lib/mkdirat.c (mkdirat): Likewise.
76620         * lib/fchmodat.c (fchmodat): Likewise.
76621         (ENOSYS): Remove definition.
76622         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76623         it.  Don't include "unistd--.h" -- it wasn't ever used.
76624
76625         2006-01-17  Jim Meyering  <jim@meyering.net>
76626
76627         Rewrite fts.c not to change the current working directory,
76628         by using openat, fstatat, fdopendir, etc..
76629
76630         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76631         (HAVE_OPENAT_SUPPORT): Define.
76632         [_LIBC] (fchdir): Don't undef or define; no longer used.
76633         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76634         Now, this `function' always succeeds, and consumes its file descriptor
76635         parameter -- so callers must not close such FDs.  Update callers.
76636         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76637         (diropen): Add parameter, SP.  Adjust all callers.
76638         Implement using diropen_fd, rather than open.
76639         (fts_open): Initialize new member, fts_cwd_fd.
76640         Remove fts_rft-setting code.
76641         (fts_close): Close fts_cwd_fd, if necessary.
76642         (__opendir2): Define in terms of opendir or opendirat,
76643         depending on whether the FST_NOCHDIR flag is set.
76644         (fts_build): Since fts_safe_changedir consumes its FD, and since
76645         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76646         and close the dup'd file descriptor upon failure.
76647         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76648         (fts_safe_changedir): Tweak semantics to reflect that this function
76649         now calls cwd_advance_fd and hence consumes its FD argument.
76650         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76651         [struct FTS] (fts_rft): Remove now-unused member.
76652         [struct FTS] (fts_cycle.state): Improve comment.
76653
76654         * lib/openat.c (openat_needs_fchdir): New function.
76655         * lib/openat.h (openat_needs_fchdir): Declare it.
76656
76657 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76658
76659         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76660         Problem and fix reported by Pádraig Brady in
76661         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
76662
76663 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76664
76665         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
76666
76667 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         * lib/memcoll.c (memcoll): Optimize for the common case where the
76670         arguments are bytewise equal.
76671
76672 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76673
76674         * doc/regexprops-generic.texi: Add a copyright notice.
76675
76676 2006-08-15  Bruno Haible  <bruno@clisp.org>
76677
76678         * modules/tmpdir (License): Change to LGPL.
76679
76680 2006-08-15  Bruno Haible  <bruno@clisp.org>
76681
76682         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
76683         module.
76684
76685 2006-08-14  Simon Josefsson  <jas@extundo.com>
76686
76687         * config/srclist.txt: Add gnupload.
76688
76689 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76690
76691         Change copyright notice from LGPL 2 to GPL 2, since that's the
76692         standard form used in the gnulib repository.
76693         * tests/test-lock.c: Likewise.
76694         * tests/test-stdint.c: Likewise.
76695         * tests/test-tls.c: Likewise.
76696
76697         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76698         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76699         Add copyright notice.
76700
76701         * check-module: Add copyright notice.  Output a copyright
76702         notice if "--version" is specified.
76703         * modules/COPYING: New file.
76704         * tests/test-getaddrinfo.c: Add copyright notice.
76705         * tests/test-verify.c: Likewise.
76706
76707 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76708
76709         Change copyright notice from LGPL 2 to GPL 2, since that's the
76710         standard form used in the gnulib repository.
76711         * lib/lock.c: LGPL -> GPL.
76712         * lib/lock.h: Likewise.
76713         * lib/strnlen1.c: Likewise.
76714         * lib/strnlen1.h: Likewise.
76715         * lib/tls.c: Likewise.
76716         * lib/tls.h: Likewise.
76717         * lib/tmpdir.c: Likewise.
76718
76719         * lib/TODO: Remove; this belongs only in coreutils.
76720
76721 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76722
76723         Add copyright notices to long-enough files that lack them, since
76724         otherwise the files aren't clearly free.  Use the same notice that
76725         getdate.texi already uses.
76726         * doc/alloca-opt.texi: Add copyright notice.
76727         * doc/alloca.texi: Likewise.
76728         * doc/ctime.texi: Likewise.
76729         * doc/functions.texi: Likewise.
76730         * doc/gcd.texi: Likewise.
76731         * doc/gnulib-tool.texi: Likewise.
76732         * doc/inet_ntoa.texi: Likewise.
76733         * doc/visibility.texi: Likewise.
76734
76735         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76736         * doc/quote.texi: Add copyright notice.
76737
76738         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76739         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76740         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76741         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76742         is now obsolete, and give a pointer to the Sun list.
76743         Add copyright notice.
76744
76745 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76746
76747         * config/srclistvars.sh: Add copyright notice.
76748
76749 2006-08-14  Eric Blake  <ebb9@byu.net>
76750
76751         Import the following change from libc:
76752
76753         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76754
76755         Upstream bug 2997.
76756         * lib/misc/error.c: Add space between program name and message if file
76757         name is missing.
76758
76759 2006-08-12  Karl Berry  <karl@gnu.org>
76760
76761         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76762         remove, these originate in gnulib now.
76763
76764 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76765
76766         * doc/Makefile (standards.info standards.html standards.dvi):
76767         Also depend on make-stds.texi.
76768
76769 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76770
76771         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76772         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76773
76774         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76775         in wchar_t.  Problem reported by Eric Blake.
76776
76777         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76778         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76779         Also, help the compiler to keep LEN in a register.
76780
76781 2006-08-11  Eric Blake  <ebb9@byu.net>
76782
76783         * users.txt: Sort.  Add tar.
76784
76785 2006-08-11  Bruno Haible  <bruno@clisp.org>
76786
76787         * users.txt: New file.
76788
76789 2006-08-11  Bruno Haible  <bruno@clisp.org>
76790
76791         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76792         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76793
76794 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76795
76796         * modules/snprintf (Depends-on): Remove minmax.
76797         (Maintainer): Add self and Bruno.
76798
76799 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76800
76801         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76802         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76803         (EOVERFLOW): Define if the system does not.
76804         Do not include "minmax.h"; it wasn't used.
76805         (snprintf): Don't assume size_t promotes to an unsigned type.
76806         Fix bug when generated string was too long for the buffer: the
76807         buffer's contents are supposed to be the initial prefix of the
76808         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76809         exceeds INT_MAX; do the check ourselves.
76810
76811         Import the following changes from libc:
76812
76813         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76814
76815         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76816         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76817         set wc to the byte which couldn't be converted.
76818         (re_string_reconstruct): Don't clear valid_raw_len before calling
76819         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76820         tip_context using re_string_context_at.
76821
76822         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76823
76824         * lib/posix/regex.h: g++ still cannot handled [restrict].
76825
76826         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76827
76828         * lib/posix/regex.h: Remove special handling for VMS.
76829
76830 2006-08-10  Jim Meyering  <jim@meyering.net>
76831
76832         * modules/same-inode: New module.
76833         * modules/dev-ino: New module.
76834         * modules/cycle-check: Depend on these modules, rather than simply
76835         including their .h files.
76836         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76837         required via m4/cycle-check.m4.
76838         * modules/same: Depend on new same-inode module, rather than
76839         including same-inode.h.
76840         * modules/chdir-safer: New file.
76841
76842         * modules/chown (Depends-on): Add stat-macros.
76843
76844 2006-08-10  Jim Meyering  <jim@meyering.net>
76845
76846         * m4/cycle-check.m4: New file.
76847         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76848         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76849
76850 2006-08-10  Eric Blake  <ebb9@byu.net>
76851
76852         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76853         in from original proposal.
76854
76855 2006-08-10  Eric Blake  <ebb9@byu.net>
76856         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76857
76858         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76859         namespace.
76860
76861 2006-08-10  Bruno Haible  <bruno@clisp.org>
76862
76863         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76864         as well.
76865
76866 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76867
76868         Sync from coreutils.
76869
76870         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76871
76872         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76873         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76874
76875 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76876
76877         * modules/restrict: Remove; no longer needed now that we assume
76878         Autoconf 2.59 or later.
76879         * MODULES.html.sh: Remove 'restrict'.
76880         * modules/argp (Depends-on): Remove 'restrict'.
76881         * modules/base64 (Depends-on): Likewise.
76882         * modules/gc (Depends-on): Likewise.
76883         * modules/getaddrinfo (Depends-on): Likewise.
76884         * modules/glob (Depends-on): Likewise.
76885         * modules/inet_ntop (Depends-on): Likewise.
76886         * modules/inet_pton (Depends-on): Likewise.
76887         * modules/memxor (Depends-on): Likewise.
76888         * modules/regex (Depends-on): Likewise.
76889         * modules/strtok_r (Depends-on): Likewise.
76890         * modules/time_r (Depends-on): Likewise.
76891
76892 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76893
76894         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76895         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76896         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76897         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76898         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76899         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76900         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76901         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76902
76903         Merge from coreutils.
76904         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76905         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76906         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76907         * m4/time_r.m4 (gl_TIME_R): Likewise.
76908
76909 2006-08-09  Karl Berry  <karl@gnu.org>
76910
76911         * config/srclist.txt: no more gettext-tools, per Bruno.
76912
76913 2006-08-08  Eric Blake  <ebb9@byu.net>
76914
76915         * modules/verror: New module.
76916         * MODULES.html.sh: Document it.
76917
76918 2006-08-08  Eric Blake  <ebb9@byu.net>
76919
76920         * lib/verror.h, lib/verror.c: New files.
76921
76922 2006-08-08  Eric Blake  <ebb9@byu.net>
76923
76924         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76925         verror_at_line output complies with GNU Coding Standards even when
76926         file is NULL.
76927
76928 2006-08-07  Bruno Haible  <bruno@clisp.org>
76929
76930         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76931         versions of AIX.
76932         Reported by Ralf Wildenhues.
76933
76934 2006-08-07  Bruno Haible  <bruno@clisp.org>
76935
76936         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76937         in an AC_DEFUN. Needed so that the autoconf snippets can use
76938         AC_REQUIRE.
76939
76940 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76941
76942         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76943         Initialize pkgdata_DATA.
76944         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76945         overriding it.
76946
76947 2006-08-06  Eric Blake  <ebb9@byu.net>
76948
76949         * lib/error.h: Fold in some upstream changes from glibc.
76950         * lib/error.c: Likewise.
76951
76952 2006-08-04  Bruno Haible  <bruno@clisp.org>
76953
76954         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76955         Make the mostlyclean-local rule depend on mostlyclean-generic.
76956         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76957
76958 2006-07-31  Bruno Haible  <bruno@clisp.org>
76959
76960         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76961         <stdlib.h>, <string.h>.
76962
76963 2006-07-30  Bruno Haible  <bruno@clisp.org>
76964
76965         * modules/readlink (License): Change to LGPL.
76966
76967 2006-07-30  Bruno Haible  <bruno@clisp.org>
76968
76969         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76970         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76971         set PKGDATADIR to point to it.
76972
76973 2006-07-30  Bruno Haible  <bruno@clisp.org>
76974
76975         * modules/csharpexec (configure.ac): Comment out macro invocation.
76976         * modules/javaexec (configure.ac): Likewise.
76977         * modules/javacomp-script (configure.ac): Likewise.
76978
76979         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76980
76981 2006-07-30  Bruno Haible  <bruno@clisp.org>
76982
76983         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76984         linked-list.
76985
76986 2006-07-30  Bruno Haible  <bruno@clisp.org>
76987
76988         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76989
76990 2006-07-30  Bruno Haible  <bruno@clisp.org>
76991
76992         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76993         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
76994         get removed.
76995
76996 2006-07-29  Bruno Haible  <bruno@clisp.org>
76997
76998         Make it possible for gnulib-tool to work with locally modified or
76999         augmented gnulib repositories.
77000         * gnulib-tool (func_usage): Document --local-dir option.
77001         (local_gnulib_dir): New variable.
77002         Handle --local-dir option.
77003         (func_lookup_file): New function.
77004         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77005         (func_get_description, func_get_filelist, func_get_description,
77006         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77007         func_get_automake_snippet, func_get_include_directive,
77008         func_get_license, func_get_maintainer): Use func_lookup_file.
77009         (func_import, func_create_testdir): Use func_lookup_file.
77010
77011 2006-07-29  Bruno Haible  <bruno@clisp.org>
77012
77013         * modules/setenv (Depends-on): Add unistd.
77014
77015 2006-07-29  Bruno Haible  <bruno@clisp.org>
77016
77017         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77018
77019 2006-07-29  Bruno Haible  <bruno@clisp.org>
77020
77021         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77022
77023 2006-07-29  Bruno Haible  <bruno@clisp.org>
77024
77025         * gnulib-tool (import, update): If there is no Makefile.am, look at
77026         aclocal.m4, instead of bailing out.
77027
77028 2006-07-29  Bruno Haible  <bruno@clisp.org>
77029
77030         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77031         Categorize the options by when they are useful.
77032
77033 2006-07-29  Bruno Haible  <bruno@clisp.org>
77034
77035         * gnulib-tool (func_usage): Document option --no-libtool.
77036         Handle option --no-libtool.
77037         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77038         for changed semantics of $libtool variable.
77039         (func_import): Likewise. If libtool is not used, show this through
77040         an option --no-libtool.
77041         (func_create_testdir): Update.
77042
77043 2006-07-29  Bruno Haible  <bruno@clisp.org>
77044
77045         * gnulib-tool (func_import): Extend error message about missing
77046         --doc-base.
77047
77048 2006-07-29  Bruno Haible  <bruno@clisp.org>
77049
77050         * gnulib-tool (func_import): Don't create the $docbase directory if
77051         there is no file to store there.
77052
77053 2006-07-29  Bruno Haible  <bruno@clisp.org>
77054
77055         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77056         relevant, look for configure.ac there, not in the current directory.
77057         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77058
77059 2006-07-29  Bruno Haible  <bruno@clisp.org>
77060
77061         * gnulib-tool (SORT): New variable.
77062         (func_usage): Undocument --assume-autoconf option.
77063         Remove --assume-autoconf option handling.
77064         (autoconf_minversion): Determine from the contents of configure.ac.
77065         (func_import): Remove autoconf_minversion handling.
77066         Suggested by Eric Blake.
77067
77068 2006-07-29  Bruno Haible  <bruno@clisp.org>
77069
77070         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77071
77072 2006-07-29  Bruno Haible  <bruno@clisp.org>
77073
77074         * config/srclist.txt (*setenv.[ch]): Remove rules.
77075
77076 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77077
77078         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77079
77080 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77081
77082         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77083         arpa/inet.h.
77084
77085 2006-07-28  Simon Josefsson  <jas@extundo.com>
77086
77087         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77088         * modules/inet_pton (Depends-on): Likewise.
77089
77090 2006-07-28  Simon Josefsson  <jas@extundo.com>
77091
77092         * m4/netinet_in_h.m4: New file.
77093
77094 2006-07-28  Simon Josefsson  <jas@extundo.com>
77095
77096         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77097         #include's.
77098
77099 2006-07-28  Simon Josefsson  <jas@extundo.com>
77100
77101         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77102         #include's.
77103
77104 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77105
77106         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77107         setgid on directories only if they set these bits.
77108         * lib/modechange.h: Remove obsolete comment about masks.
77109
77110 2006-07-28  Eric Blake  <ebb9@byu.net>
77111
77112         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77113         macro expansion.
77114
77115 2006-07-28  Bruno Haible  <bruno@clisp.org>
77116
77117         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77118
77119 2006-07-28  Bruno Haible  <bruno@clisp.org>
77120
77121         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77122
77123 2006-07-28  Bruno Haible  <bruno@clisp.org>
77124
77125         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77126         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77127         Define fallbacks.
77128         Avoids link error on FreeBSD 4.x.
77129         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77130
77131         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77132         encoding.
77133         * lib/mbswidth.c (iswcntrl): Likewise.
77134
77135 2006-07-27  Bruno Haible  <bruno@clisp.org>
77136
77137         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77138         test.
77139
77140 2006-07-27  Bruno Haible  <bruno@clisp.org>
77141
77142         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77143         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77144         defined.
77145
77146 2006-07-26  Eric Blake  <ebb9@byu.net>
77147
77148         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77149
77150 2006-07-26  Eric Blake  <ebb9@byu.net>
77151
77152         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77153         like mingw that lack mkstemp.
77154         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77155         avoid compilation warning on mingw.
77156
77157 2006-07-26  Bruno Haible  <bruno@clisp.org>
77158
77159         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77160         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77161         INT_FAST*_MIN, INTPTR_MIN.
77162
77163 2006-07-25  Bruno Haible  <bruno@clisp.org>
77164
77165         * modules/version-etc (Depends-on): Add stdarg.
77166
77167 2006-07-25  Bruno Haible  <bruno@clisp.org>
77168
77169         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77170         complex commands.
77171
77172 2006-07-25  Bruno Haible  <bruno@clisp.org>
77173
77174         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77175         defined in <stdarg.h> or config.h.
77176
77177 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77178
77179         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77180         (gl_STDIO_SAFER): Remove.
77181
77182 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77183
77184         * MODULES.html.sh (File stream based Input/Output):
77185         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77186         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77187         * modules/fopen-safer, modules/tmpfile-safer: New files.
77188         * modules/stdio-safer: Remove.
77189
77190 2006-07-24  Bruno Haible  <bruno@clisp.org>
77191
77192         * modules/tmpdir: New file.
77193         * MODULES.html.sh (File system functions): Add it.
77194
77195 2006-07-24  Bruno Haible  <bruno@clisp.org>
77196
77197         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77198         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77199
77200 2006-07-24  Bruno Haible  <bruno@clisp.org>
77201
77202         * modules/clean-temp: New file.
77203
77204 2006-07-24  Bruno Haible  <bruno@clisp.org>
77205
77206         * m4/tmpdir.m4: New file, from GNU gettext.
77207
77208 2006-07-24  Bruno Haible  <bruno@clisp.org>
77209
77210         * lib/tmpdir.h: New file, from GNU gettext.
77211         * lib/tmpdir.c: New file, from GNU gettext.
77212
77213 2006-07-24  Bruno Haible  <bruno@clisp.org>
77214
77215         * lib/clean-temp.h: New file, from GNU gettext.
77216         * lib/clean-temp.c: New file, from GNU gettext.
77217
77218 2006-07-23  Eric Blake  <ebb9@byu.net>
77219
77220         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77221         (Depends-on): Add binary-io.
77222
77223 2006-07-23  Eric Blake  <ebb9@byu.net>
77224
77225         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77226
77227 2006-07-23  Eric Blake  <ebb9@byu.net>
77228
77229         * lib/tmpfile-safer.c: New file.
77230         * lib/stdio-safer.h (fopen_safer): Add prototype.
77231         * lib/stdio--.h (tmpfile): Make safer.
77232
77233 2006-07-23  Bruno Haible  <bruno@clisp.org>
77234
77235         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77236         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77237         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77238         gl_linked_remove_at): Use it.
77239
77240 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77241         and Simon Josefsson <jas@extundo.com>
77242
77243         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77244
77245         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77246
77247 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77248
77249         * modules/close-stream: New file.
77250         * modules/closeout (Description): Make it clear that it exits
77251         with a diagnostic on error.
77252         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77253         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77254
77255 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77256
77257         * m4/close-stream.m4: New file.
77258
77259 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77260
77261         * lib/close-stream.c, lib/close-stream.h: New files.
77262
77263 2006-07-22  Bruno Haible  <bruno@clisp.org>
77264
77265         Merge from GNU gettext 0.15.
77266
77267         2006-05-01  Bruno Haible  <bruno@clisp.org>
77268
77269                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77270
77271         2006-07-22  Bruno Haible  <bruno@clisp.org>
77272
77273                 * modules/javaversion: New file.
77274                 * MODULES.html.sh (Java): Add javaversion.
77275
77276         2006-03-12  Bruno Haible  <bruno@clisp.org>
77277
77278                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77279
77280         2005-12-04  Bruno Haible  <bruno@clisp.org>
77281
77282                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77283                 (untested).
77284
77285         2006-06-21  Bruno Haible  <bruno@clisp.org>
77286
77287                 Avoid warnings from recent versions of mcs.
77288                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77289                 -o, -L, -r any more. Use options documented since mcs-1.0
77290                 instead. Similarly for -g.
77291
77292         2005-12-04  Bruno Haible  <bruno@clisp.org>
77293
77294                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77295                 .resources, not .resource.
77296
77297         2005-07-09  Bruno Haible  <bruno@clisp.org>
77298
77299                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77300                 add a .dll suffix.
77301                 Reported by Mark Junker <mjscod@gmx.de>.
77302
77303         2006-07-22  Bruno Haible  <bruno@clisp.org>
77304
77305                 * modules/gettext: Upgrade to gettext-0.15.
77306                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77307                 m4/visibility.m4.
77308                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77309
77310 2006-07-22  Bruno Haible  <bruno@clisp.org>
77311
77312         Merge from GNU gettext 0.15.
77313
77314         2006-03-25  Bruno Haible  <bruno@clisp.org>
77315
77316                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77317
77318         2006-07-21  Bruno Haible  <bruno@clisp.org>
77319
77320                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77321                 "1.1".
77322
77323         2006-05-09  Bruno Haible  <bruno@clisp.org>
77324
77325                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77326                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77327                 for the conftestver execution.
77328
77329         2006-05-01  Bruno Haible  <bruno@clisp.org>
77330
77331                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77332                 optional target-version argument. Verify that the compiler
77333                 groks source of the specified source-version, or add -source
77334                 option as necessary. Verify that the compiler produces
77335                 bytecode in the specified target-version, or add -target and
77336                 -source options as necessary. Make the result of the test
77337                 available as variable CONF_JAVAC. Also log error output in
77338                 config.log.
77339
77340         2006-03-11  Bruno Haible  <bruno@clisp.org>
77341
77342                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77343
77344         2006-05-09  Bruno Haible  <bruno@clisp.org>
77345
77346                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77347                 CLASSPATH_SEPARATOR to a semicolon.
77348
77349         2006-03-12  Bruno Haible  <bruno@clisp.org>
77350
77351                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77352                 available as variable CONF_JAVA, for subsequent autoconf
77353                 tests. Also log error output in config.log.
77354
77355         2006-07-19  Bruno Haible  <bruno@clisp.org>
77356
77357                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77358                 that getline works on glibc2 systems. Needed to avoid trouble
77359                 in relocatable.c.
77360                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77361
77362         2005-12-04  Bruno Haible  <bruno@clisp.org>
77363
77364                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77365                 launcher (untested).
77366
77367         2005-12-04  Bruno Haible  <bruno@clisp.org>
77368
77369                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77370
77371         2006-07-22  Bruno Haible  <bruno@clisp.org>
77372
77373                 * gettext.m4: Update from GNU gettext-0.15.
77374                 * nls.m4: Likewise.
77375                 * po.m4: Likewise.
77376                 * inttypes-pri.m4: Likewise.
77377                 * inttypes-h.m4: Renamed from inttypes.m4.
77378                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77379
77380 2006-07-22  Bruno Haible  <bruno@clisp.org>
77381
77382         Merge from GNU gettext 0.15.
77383
77384         2005-07-05  Bruno Haible  <bruno@clisp.org>
77385
77386                 * printf-args.c (printf_fetchargs): Work around broken
77387                 definition of wint_t on mingw.
77388
77389         2005-02-12  Bruno Haible  <bruno@clisp.org>
77390
77391                 * xallocsa.h: Add extern "C" for C++.
77392
77393         2006-05-17  Bruno Haible  <bruno@clisp.org>
77394
77395                 Cygwin portability.
77396                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77397
77398         2006-04-30  Bruno Haible  <bruno@clisp.org>
77399
77400                 * progreloc.c: Include <mach-o/dyld.h> if available.
77401                 (find_executable): Use _NSGetExecutablePath when possible.
77402
77403         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77404
77405                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77406                 function.
77407
77408         2005-12-29  Bruno Haible  <bruno@clisp.org>
77409
77410                 * progreloc.c (set_program_name_and_installdir): Fix
77411                 compilation error.
77412
77413         2005-12-04  Bruno Haible  <bruno@clisp.org>
77414
77415                 Cygwin portability.
77416                 * progreloc.c: Include <windows.h> also on Cygwin.
77417                 (find_executable): Add support for Cygwin.
77418                 (set_program_name_and_installdir): Handle also platforms with
77419                 nonempty EXEEXT.
77420
77421         2006-07-11  Bruno Haible  <bruno@clisp.org>
77422
77423                 * javacomp.c: Fix a comment.
77424                 Reported by Jim Meyering.
77425
77426         2006-04-30  Bruno Haible  <bruno@clisp.org>
77427
77428                 * javacomp.h (compile_java_class): Add source_version,
77429                 target_version arguments.
77430                 * javacomp.c: Rewritten to choose only a compiler that
77431                 respects the specified source_version and target_version.
77432
77433         2006-06-27  Bruno Haible  <bruno@clisp.org>
77434
77435                 Assume correct S_ISDIR macro.
77436                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77437
77438         2006-07-22  Bruno Haible  <bruno@clisp.org>
77439
77440                 * javaversion.h: New file, from GNU gettext.
77441                 * javaversion.c: New file, from GNU gettext.
77442                 * javaversion.java: New file, from GNU gettext.
77443                 * javaversion.class: New file, from GNU gettext.
77444
77445         2006-05-17  Bruno Haible  <bruno@clisp.org>
77446
77447                 Cygwin portability.
77448                 * javaexec.c (execute_java_class): Test for jview program
77449                 also on Cygwin.
77450
77451         2006-04-09  Bruno Haible  <bruno@clisp.org>
77452
77453                 * fatal-signal.c: Don't include string.h.
77454                 (at_fatal_signal): Use a copying loop instead of memcpy.
77455
77456         2005-12-04  Bruno Haible  <bruno@clisp.org>
77457
77458                 * csharpexec.c: Add support for 'clix' launcher (untested).
77459                 (execute_csharp_using_sscli): New function.
77460                 (execute_csharp_program): Call it.
77461
77462         2006-06-21  Bruno Haible  <bruno@clisp.org>
77463
77464                 Avoid warnings from recent versions of mcs.
77465                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77466                 -o, -L, -r any more. Use options documented since mcs-1.0
77467                 instead. Similarly for -g.
77468
77469         2005-07-09  Bruno Haible  <bruno@clisp.org>
77470
77471                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77472                 add a .dll suffix.
77473                 Reported by Mark Junker <mjscod@gmx.de>.
77474
77475         2006-06-17  Bruno Haible  <bruno@clisp.org>
77476
77477                 * config.charset: Update for NetBSD 3.0.
77478
77479         2006-05-17  Bruno Haible  <bruno@clisp.org>
77480
77481                 Cygwin portability.
77482                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77483
77484         2006-05-16  Bruno Haible  <bruno@clisp.org>
77485
77486                 * localcharset.c [CYGWIN]: Include <windows.h>.
77487                 (get_charset_aliases): For Cygwin, return the same CPxxx
77488                 aliases list as under WIN32.
77489                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77490                 the environment variables. Fall back to GetACP().
77491
77492         2006-04-05  Bruno Haible  <bruno@clisp.org>
77493
77494                 * config.charset: Update Juan Manuel Guerrero's address.
77495
77496         2005-02-12  Bruno Haible  <bruno@clisp.org>
77497
77498                 * allocsa.h: Add extern "C" for C++.
77499
77500         2005-02-10  Bruno Haible  <bruno@clisp.org>
77501
77502                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77503                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77504
77505         2006-07-22  Bruno Haible  <bruno@clisp.org>
77506
77507                 * gettext.h: Update to GNU gettext-0.15.
77508
77509 2006-07-22  Bruno Haible  <bruno@clisp.org>
77510
77511         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77512         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77513         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77514
77515 2006-07-21  Eric Blake  <ebb9@byu.net>
77516
77517         * modules/stdlib-safer: New file.
77518         * MODULES.html.sh (File stream based Input/Output): Add
77519         stdlib-safer.
77520
77521 2006-07-21  Eric Blake  <ebb9@byu.net>
77522
77523         * lib/stdlib-safer.h: New file from coreutils, required by
77524         stdlib--.h.
77525
77526 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77527
77528         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77529
77530 2006-07-20  Bruno Haible  <bruno@clisp.org>
77531
77532         * gnulib-tool: Recognize new option --assume-autoconf.
77533         (autoconf_minversion): New variable.
77534         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77535
77536 2006-07-20  Bruno Haible  <bruno@clisp.org>
77537
77538         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77539
77540 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77541
77542         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77543         Reindent and repaginate.
77544
77545 2006-07-19  Derek Price  <derek@ximbiot.com>
77546
77547         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77548         Correct grammar.
77549
77550 2006-07-17  Bruno Haible  <bruno@clisp.org>
77551
77552         * modules/list: New file.
77553         * modules/array-list: New file.
77554         * modules/carray-list, modules/carray-list-tests: New files.
77555         * modules/linked-list, modules/linked-list-tests: New files.
77556         * modules/avltree-list, modules/avltree-list-tests: New files.
77557         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77558         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77559         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77560         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77561         * modules/oset: New file.
77562         * modules/array-oset: New file.
77563         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77564         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77565         * tests/test-carray_list.c: New file.
77566         * tests/test-linked_list.c: New file.
77567         * tests/test-avltree_list.c: New file.
77568         * tests/test-rbtree_list.c: New file.
77569         * tests/test-linkedhash_list.c: New file.
77570         * tests/test-avltreehash_list.c: New file.
77571         * tests/test-rbtreehash_list.c: New file.
77572         * tests/test-avltree_oset.c: New file.
77573         * tests/test-rbtree_oset.c: New file.
77574         * MODULES.html.sh (Container data structures): New section.
77575
77576 2006-07-17  Bruno Haible  <bruno@clisp.org>
77577
77578         * m4/gl_list.m4: New file.
77579
77580 2006-07-17  Bruno Haible  <bruno@clisp.org>
77581
77582         * lib/gl_list.h: New file.
77583         * lib/gl_list.c: New file.
77584         * lib/gl_array_list.h: New file.
77585         * lib/gl_array_list.c: New file.
77586         * lib/gl_carray_list.h: New file.
77587         * lib/gl_carray_list.c: New file.
77588         * lib/gl_linked_list.h: New file.
77589         * lib/gl_linked_list.c: New file.
77590         * lib/gl_anylinked_list1.h: New file.
77591         * lib/gl_anylinked_list2.h: New file.
77592         * lib/gl_avltree_list.h: New file.
77593         * lib/gl_avltree_list.c: New file.
77594         * lib/gl_anyavltree_list1.h: New file.
77595         * lib/gl_anyavltree_list2.h: New file.
77596         * lib/gl_rbtree_list.h: New file.
77597         * lib/gl_rbtree_list.c: New file.
77598         * lib/gl_anyrbtree_list1.h: New file.
77599         * lib/gl_anyrbtree_list2.h: New file.
77600         * lib/gl_anytree_list1.h: New file.
77601         * lib/gl_anytree_list2.h: New file.
77602         * lib/gl_linkedhash_list.h: New file.
77603         * lib/gl_linkedhash_list.c: New file.
77604         * lib/gl_anyhash_list1.h: New file.
77605         * lib/gl_anyhash_list2.h: New file.
77606         * lib/gl_avltreehash_list.h: New file.
77607         * lib/gl_avltreehash_list.c: New file.
77608         * lib/gl_rbtreehash_list.h: New file.
77609         * lib/gl_rbtreehash_list.c: New file.
77610         * lib/gl_anytreehash_list1.h: New file.
77611         * lib/gl_anytreehash_list2.h: New file.
77612
77613         * lib/gl_oset.h: New file.
77614         * lib/gl_oset.c: New file.
77615         * lib/gl_array_oset.h: New file.
77616         * lib/gl_array_oset.c: New file.
77617         * lib/gl_avltree_oset.h: New file.
77618         * lib/gl_avltree_oset.c: New file.
77619         * lib/gl_rbtree_oset.h: New file.
77620         * lib/gl_rbtree_oset.c: New file.
77621         * lib/gl_anytree_oset.h: New file.
77622
77623 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77624
77625         * m4/mkancesdirs.m4: New file.
77626         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77627         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77628         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77629         it.
77630
77631 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77632
77633         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77634         * lib/mkancesdirs.h: New files.
77635         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77636         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77637         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77638         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77639         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77640         callers changed.  Revamp internals significantly, by not
77641         attempting to create directories that are temporarily more
77642         permissive than the final results.  Do not attempt to use
77643         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77644         This removes some race conditions, fixes some bugs, and simplifies
77645         things.  Use new dirchownmod function to do owner and mode changes.
77646         * lib/mkdir-p.h: Likewise.
77647         * lib/modechange.c (octal_to_mode): New function.
77648         (struct mode_change): New member mentioned.
77649         (make_node_op_equals): New arg mentioned.  All callers changed.
77650         (mode_compile): Keep track of which mode bits the user has explicitly
77651         mentioned.
77652         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77653         New arg PMODE_BITS, to keep track of which mode bits the user
77654         mentioned; it treats S_ISUID and S_ISGID speciall.
77655         All callers changed.
77656         * lib/modechange.h: Likewise.
77657
77658 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77659
77660         * MODULES.html.sh: Add mkancestors.
77661         * modules/mkancesdirs: New module.
77662         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
77663         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
77664         The chdir-safer and afs files are now orphans; I'll remove them
77665         unless someone speaks up.
77666         Add lib/dirchownmod.c, lib/dirchownmod.h.
77667         (Depends-on): Remove alloca, chown, save-cwd, dirname.
77668         Add lchown, mkancesdirs.
77669         (Maintainer): Add self.
77670
77671 2006-07-15  Karl Berry  <karl@gnu.org>
77672
77673         * gnulib-tool: help message wording/arrangement.
77674
77675 2006-07-14  Simon Josefsson  <jas@extundo.com>
77676
77677         * doc/gnulib.texi (Libtool and Windows): New section.
77678
77679 2006-07-12  Simon Josefsson  <jas@extundo.com>
77680
77681         * modules/gendocs (License): Fix license, approved by Karl.
77682
77683 2006-07-12  Eric Blake  <ebb9@byu.net>
77684
77685         * MODULES.html.sh: Add gendocs.
77686
77687 2006-07-11  Eric Blake  <ebb9@byu.net>
77688
77689         * modules/fdl: New module, to install doc/fdl.texi.
77690         * MODULES.html.sh: Add new section for documentation modules.
77691         * gnulib-tool: Avoid space-tab.
77692         (--doc-base): New option, to manage files from doc.
77693
77694 2006-07-11  Eric Blake  <ebb9@byu.net>
77695
77696         * m4/absolute-header.m4: Fix comments to match recent change.
77697
77698 2006-07-11  Eric Blake  <ebb9@byu.net>
77699
77700         * gnulib-tool: List --doc-base before --tests-base.
77701
77702 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77703
77704         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77705
77706 2006-07-11  Bruno Haible  <bruno@clisp.org>
77707
77708         * README: Mention where to put documentation.
77709
77710 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77711
77712         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77713
77714 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77715
77716         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77717         to stdint.m4.
77718
77719 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77720
77721         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77722         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77723         "no/such/file/stdint.h" when there is no such file, so that
77724         the resulting C code can be parsed by dodgy compilers.
77725         Problems reported by Bob Proulx.
77726
77727 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77728
77729         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77730         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77731         macros into the GNU _D_EXACT_NAMLEN.
77732         * lib/savedir.c:  Likewise.
77733         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77734
77735 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77736         and Paul Eggert  <eggert@cs.ucla.edu>
77737
77738         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77739         * m4/savedir.m4:
77740         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77741         macros into the GNU _D_EXACT_NAMLEN.
77742
77743 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77744
77745         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77746         around the absolute name, to work around a problem with the HP-UX
77747         11.23 native C compiler, reported by Bob Proulx.
77748
77749 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77750
77751         * doc/maintain.texi, make-stds.texi: Sync from
77752         <http://savannah.gnu.org/projects/gnustandards>.
77753
77754 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77755
77756         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77757
77758 2006-07-09  Jim Meyering  <jim@meyering.net>
77759
77760         * m4/glob.m4: Remove a doubled word in a comment.
77761
77762 2006-07-09  Jim Meyering  <jim@meyering.net>
77763
77764         * lib/argp-pv.c: Remove a doubled word in a comment.
77765         * lib/check-version.c (check_version): Likewise.
77766         * lib/javacomp.c (compile_java_class): Likewise.
77767
77768 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77769
77770         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77771         for the benefit of people using Autoconf 2.60.  If you want to
77772         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77773         (or m4/onceonly.m4, if pre-2.57) manually.
77774
77775 2006-07-08  Jim Meyering  <jim@meyering.net>
77776
77777         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77778         comment.
77779         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77780         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77781         comment.
77782
77783 2006-07-08  Jim Meyering  <jim@meyering.net>
77784
77785         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77786
77787 2006-07-07  Simon Josefsson  <jas@extundo.com>
77788
77789         * tests/test-crc.c: Change expected crc value, the test vector
77790         were probably computed using the old broken crc.c?
77791
77792 2006-07-06  Simon Josefsson  <jas@extundo.com>
77793
77794         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77795         now the canonical place for the M4 file).
77796
77797         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77798         from the sys_socket dependency now.
77799
77800         * modules/inet_pton (Files): Ditto.
77801
77802         * modules/inet_ntop (Files): Ditto.
77803
77804 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77805
77806         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77807         not gl_PREREQ_GETUSERSHELL.
77808
77809 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77810
77811         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77812         with only one argument, for Autoconf 2.60.
77813         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77814         expand to nothing, so add a shell command to avoid syntax error.
77815         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77816
77817 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77818
77819         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77820
77821 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77822
77823         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77824         no longer needed.  Check for isblank decl.
77825         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77826         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77827         of existence.
77828
77829 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77830
77831         * lib/getloadavg.c: Use __VMS, not VMS.
77832         * lib/getopt.c: Likewise.
77833         * lib/getpagesize.h: Likewise.
77834         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77835         and probably does not work.
77836
77837 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77838
77839         * lib/.cppi-disable: Add wcwidth.
77840         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77841         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77842         (ISGRAPH): Remove.  All uses changed to isgraph.
77843         (FOLD) [!defined _LIBC]: Remove special case.
77844         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77845         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77846         HAVE_ISBLANK.
77847         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77848         case.
77849
77850 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77851
77852         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77853         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77854         brackets.  Other minor changes to suppress some compiler
77855         warnings.
77856
77857 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77858         and Paul Eggert  <eggert@cs.ucla.edu>
77859
77860         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77861         of invoking obsolescent AC_HEADER_DIRENT macro.
77862         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77863         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77864         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77865         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77866         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77867         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77868         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77869         * m4/readdir.m4: Remove; no longer needed.
77870
77871 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77872         and Paul Eggert  <eggert@cs.ucla.edu>
77873
77874         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77875         Don't worry about this obsolete case any more.
77876         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77877         directories.
77878         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77879         worry about this obsolete case any more.
77880         * lib/fts.c: Likewise.
77881         * lib/getcwd.c: Likewise.
77882         * lib/glob.h: Likewise.
77883         * lib/savedir.c: Likewise.
77884
77885 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77886
77887         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77888         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77889         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77890         needed.
77891         All uses removed.
77892         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77893         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77894         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77895         needed.
77896         * m4/getdate.m4 (gl_GETDATE): Likewise.
77897         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77898         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77899         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77900         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77901         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77902         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77903         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77904         needed.
77905
77906 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77907
77908         * lib/memcasecmp.c: Include <limits.h>.
77909         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77910         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77911         Don't assume isdigit succeeds only on '0' through '9'.
77912
77913 2006-07-05  Eric Blake  <ebb9@byu.net>
77914
77915         * modules/getaddrinfo (Depends-on): Add snprintf.
77916
77917 2006-07-05  Eric Blake  <ebb9@byu.net>
77918
77919         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77920         to avoid 'header present but could not be compiled' on cygwin.
77921
77922 2006-07-05  Eric Blake  <ebb9@byu.net>
77923
77924         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77925         missing from netdb.h.
77926         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77927
77928 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77929
77930         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77931         no longer needed.
77932         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77933         * m4/getdate.m4 (gl_GETDATE): Likewise.
77934         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77935         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77936         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77937         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77938         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77939
77940 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77941
77942         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77943         All uses of is_space replaced by isspace.
77944         * lib/exit.h: Don't talk about STDC_HEADERS.
77945         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77946         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77947         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77948         replaced by isprint etc.
77949         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77950         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77951         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77952         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77953         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77954         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77955
77956 2006-07-05  Bruno Haible  <bruno@clisp.org>
77957
77958         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77959         the function exists, before testing against AIX.
77960         Reported by Martin Lambers <marlam@marlam.de>.
77961
77962 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77963
77964         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77965         From Mark D. Baushke.
77966
77967 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77968
77969         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77970         to the absolute name, not just one, to bypass Sun C 5.8's
77971         "warning: #include of /usr/include/... may be non-portable".
77972
77973 2006-07-04  Eric Blake  <ebb9@byu.net>
77974
77975         * modules/dirname-tests: New test module.
77976         * tests/test-dirname.c: New file, replacing dirname.c
77977         TEST_DIRNAME section that was recently deleted.
77978
77979 2006-07-04  Bruno Haible  <bruno@clisp.org>
77980
77981         Assume ANSI C header files and <ctype.h> functions.
77982         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77983         (mbsnwidth): Use isprint, iscntrl instead.
77984
77985 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77986
77987         Merge from coreutils.
77988         * MODULES.html.sh: Add xstrtold.
77989         * modules/xstrtold: New file.
77990         * modules/cycle-check (Files): Add lib/same-inode.h.
77991         * modules/dirname (Files): Add m4/double-slash-root.m4.
77992         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
77993         * modules/mkdir-p (Files): Add lib/same-inode.h.
77994         * modules/same (Files): Add lib/same-inode.h.
77995
77996 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77997
77998         * m4/absolute-header.m4: Renamed from full-header-path.m4.
77999         This is to keep the terminology clean; POSIX talks about
78000         "absolute pathnames", not "full pathnames", but the GNU
78001         Coding Standards say to use "path" for something else;
78002         so use "absolute" to keep both sides happy.
78003         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78004         Set gl_absolute_header, not gl_full_header_path.
78005         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78006         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78007         All uses changed.
78008
78009         Merge from coreutils.
78010
78011         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78012
78013         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78014         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78015         want to require the building of c-strtod.o.
78016         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78017         needs -lm directly.
78018         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78019
78020         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78021
78022         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78023         --as-needed option if available.  Problem reported by Albert Chin in
78024         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78025         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78026         cc merely issues a bunch of annoying warnings for --as-needed
78027         (this problem was reported by Bob Proulx).  Also, try linking with
78028         -lm to detect a bug in binutils 2.16 (this problem was reported
78029         by Ralf Wildenhues).
78030
78031         2006-06-18  Jim Meyering  <jim@meyering.net>
78032
78033         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78034         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78035         macro.
78036         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78037         also check for glibc-2.4's abort-inducing bug.
78038
78039         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78040         Low-probability clean-up should be to use rmdir to get rid of
78041         the just-created directory, not unlink.
78042
78043         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78044         configure fail, and request a bug report to inform us about it.
78045         Add a comment that, barring reports to the contrary, in 2007 we'll
78046         assume ftruncate is universally available.
78047
78048         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78049
78050         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78051
78052         2006-03-12  Jim Meyering  <jim@meyering.net>
78053
78054         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78055         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78056         * m4/same.m4 (gl_SAME): Likewise.
78057         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78058
78059         2006-03-11  Eric Blake  <ebb9@byu.net>
78060
78061         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78062         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78063         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78064         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78065
78066 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78067
78068         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78069         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78070         reported by Mark D. Baushke, one in
78071         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78072
78073         Merge from coreutils.
78074
78075         * lib/.cppi-disable: Add stdint_.h.
78076         * lib/.cvsignore: Add stdint.h.
78077
78078         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78079
78080         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78081         both double and long double versions.
78082         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78083         * lib/xstrtold.c: New file.
78084         * lib/xstrtod.h (xstrtold): New decl.
78085
78086         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78087
78088         * lib/filemode.c (setst): Remove.
78089         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78090         (arguably) clearer, and the generated code is a bit smaller on my
78091         Debian GNU/Linux stable x86 host.
78092
78093         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78096         Assume that filemode.h includes sys/types.h and sys/stat.h.
78097         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78098         (ftypelet): Reorder to put common cases first, for efficiency.
78099         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78100         to do 'M'.
78101         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78102         of 10, for compatibility with FreeBSD.  All callers changed.
78103         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78104         types that can't be deduced solely from st_mode.  First arg is now a
78105         const pointer.
78106         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78107         (strmode): Renamed from mode_string.
78108         (filemodestring): New decl.
78109         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78110         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78111         needed.
78112         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78113
78114         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78115
78116         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78117         fsusage.h now does that.  Include fsusage.h first, to test interface.
78118         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78119         at most one method (the old code could have generated decls that
78120         didn't conform to C89, not that this was ever exercised).
78121         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78122
78123         2006-03-19  Jim Meyering  <jim@meyering.net>
78124
78125         Work even in a chroot where d_ino values for entries in "/"
78126         don't match the stat.st_ino values for the same names.
78127         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78128         number, iterate through all entries again, using lstat instead.
78129         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78130         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78131
78132         * lib/getcwd.c (__getcwd): Clarify a comment.
78133         Use memcpy in place of a call to strcpy.
78134
78135         2006-03-12  Jim Meyering  <jim@meyering.net>
78136
78137         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78138         matches that of the current directory (which we're about to chdir ".."
78139         out of), then save the dev-ino of the parent, instead.
78140
78141         * lib/same-inode.h (SAME_INODE): New file/macro.
78142         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78143         Include "same-inode.h", instead.
78144         * lib/same.c: Likewise.
78145         * lib/cycle-check.h: Include "same-inode.h".
78146         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78147         * lib/cycle-check.c (SAME_INODE): Remove definition.
78148         * lib/root-dev-ino.h: Include "same-inode.h".
78149
78150         2006-03-11  Eric Blake  <ebb9@byu.net>
78151
78152         * lib/same.c (same_name): s/base_name/last_component/
78153         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78154         * lib/filenamecat.c (file_name_concat): Likewise.
78155
78156         2006-03-11  Eric Blake  <ebb9@byu.net>,
78157                     Paul Eggert  <eggert@cs.ucla.edu>
78158
78159         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78160         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78161         drive prefix.
78162         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78163         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78164         (last_component): New method.
78165         * lib/dirname.c (dir_len): Determine when drive letters need a
78166         subsequent slash.  Preserve // when it is special.
78167         (dir_name): Don't append dot when drive letter is absolute.
78168         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78169         * lib/basename.c (base_name): New semantics - malloc the result.
78170         Preserve // when it is special.  Preserve relative files that look
78171         like drive letters.
78172         (base_len): Preserve // when it is special.
78173         (last_component): New method, similar to old base_name semantics.
78174         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78175         base_name.  Strip redundant slashes from ///.
78176
78177 2006-07-03  Jim Meyering  <jim@meyering.net>
78178
78179         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78180         macro is used before the first cycle_check call.
78181
78182 2006-07-03  Eric Blake  <ebb9@byu.net>
78183
78184         * modules/dirname (Depends-on): Add xstrndup.
78185
78186 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78187
78188         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78189         test cases, so that config.log is a bit easier to follow.
78190
78191 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78194         both are 64 bits, since this seems to be the tradition, and this
78195         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78196         we ever run into a host that prefers long long to long in this
78197         case, we'll need another configure-time test.  Problem reported by
78198         Jim Meyering.
78199
78200 2006-07-02  Eric Blake  <ebb9@byu.net>
78201
78202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78203
78204 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78205
78206         * modules/inttypes (Depends-on): No longer depends on stdint.
78207         * modules/stdint (Description): Say more about assumptions.
78208         Say that the fast types might differ.  Say macros are used.
78209         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78210         (Makefile.am): Revise list of substituted symbols to match
78211         new stdint.m4.
78212         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78213         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78214         * tests/test-stdint.c (verify_same_types)
78215         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78216         the code conforms to C99/C89.
78217         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78218         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78219
78220 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78221
78222         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78223         but fix a bug, by requiring at least 64 bits.
78224         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78225         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78226         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78227         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78228
78229         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78230         changes.  Make 2.59 a prerequisite.  Check and substitute for
78231         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78232         inttypes.h.  Do not use special include files; just use the
78233         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78234         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78235         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78236         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78237         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78238         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78239         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78240         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78241         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78242         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78243         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78244         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78245         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78246         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78247         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78248         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78249         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78250         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78251         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78252         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78253         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78254         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78255         not check for things that C99 does not require, e.g., int8_t.  If
78256         a test isn't needed unless <stdint.h> isn't working, and is
78257         unlikely to be needed for any other reason, then don't do it
78258         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78259         size_t, since we assume C89 freestanding at least.  Do not check
78260         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78261         the right thing even if the types are not defined.  Instead use:
78262         (gl_STDINT_TYPE_PROPERTIES): New macro.
78263         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78264         testing whether <sys/types.h> clashes, as Autoconf does this for
78265         us now.  All uses removed.
78266         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78267         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78268         (gl_CHECK_TYPE_SAME):
78269         Remove; no longer needed.
78270         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78271         exists, since we'll return 0 anyway in that case.
78272         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78273
78274 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78275
78276         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78277         possible collision with system files.
78278         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78279         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78280         WCHAR_MIN and WCHAR_MAX in this case.
78281         (<stddef.h>): Do not include; no longer needed.
78282         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78283         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78284         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78285         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78286         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78287         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78288         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78289         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78290         !defined(__c99))]: Include in this case too, since it's harmless
78291         now.
78292         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78293         dangerous to do so.
78294         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78295         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78296         (_STDINT_MIN, _STDINT_MAX): New macros.
78297         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78298         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78299         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78300         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78301         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78302         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78303         macros, not typedefs; this simplifies things quite a bit.
78304         Use long int for all types narrower than int64_t.
78305         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78306         Define in terms of long long int or int64_t or long int,
78307         not int64_t or int32_t.  This saves some compile-time testing.
78308         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78309         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78310         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78311         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78312         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78313         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78314         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78315         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78316         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78317         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78318         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78319         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78320         undef any previous version and define our own version, for
78321         simplicity and consistency with the new macros for types.
78322         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78323         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78324         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78325         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78326         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78327         @WINT_T_SUFFIX@ to keep things simple here.
78328         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78329         Simplify by assuming typical 8/16/32/64 host, since we're
78330         already doing that elsewhere anyway.
78331         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78332         and assume long long int is 64 bits if available.  This
78333         speeds up 'configure'.
78334
78335 2006-07-01  Eric Blake  <ebb9@byu.net>
78336
78337         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78338         Reported by Andreas Buening.
78339
78340 2006-07-01  Eric Blake  <ebb9@byu.net>
78341
78342         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78343
78344 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78345
78346         * lib/getaddrinfo.c: fixed typo
78347
78348 2006-06-29  Jim Meyering  <jim@meyering.net>
78349
78350         * modules/strftime (Maintainer): Add my name, since with the
78351         FPRINTFTIME changes strftime.c has forked from glibc.
78352
78353 2006-06-29  Eric Blake  <ebb9@byu.net>
78354
78355         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78356
78357 2006-06-29  Eric Blake  <ebb9@byu.net>
78358
78359         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78360
78361 2006-06-29  Eric Blake  <ebb9@byu.net>
78362
78363         * lib/stat_.h: New file.
78364
78365 2006-06-29  Eric Blake  <ebb9@byu.net>
78366
78367         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78368         unused static function.
78369
78370 2006-06-29  Eric Blake  <ebb9@byu.net>
78371
78372         * doc/functions.texi (Function Portability): Document missing lstat
78373         on mingw.
78374
78375 2006-06-29  Eric Blake  <ebb9@byu.net>
78376
78377         * MODULES.html.sh: Add sys_stat.
78378         * modules/sys_stat: New module.
78379         * modules/mkstemp (Depends-on): Add sys_stat.
78380
78381 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78382
78383         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78384
78385 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78386
78387         * m4/c-bs-a.m4: Removed.
78388
78389 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78390
78391         * lib/strftime.c: Assume strftime() exists.
78392
78393 2006-06-29  Derek Price  <derek@ximbiot.com>
78394
78395         * modules/c-bs-a: Removed - \a is C89.
78396         * MODULES.html.sh: Remove c-bs-a.
78397
78398 2006-06-29  Bruno Haible  <bruno@clisp.org>
78399
78400         * modules/wcwidth (License): Change to LGPL.
78401
78402 2006-06-28  Simon Josefsson  <jas@extundo.com>
78403
78404         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78405         on _WIN32.
78406
78407         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78408         getnameinfo.
78409
78410 2006-06-28  Simon Josefsson  <jas@extundo.com>
78411
78412         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78413
78414 2006-06-28  Simon Josefsson  <jas@extundo.com>
78415
78416         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78417         functions there.  It will succeed on Windows XP, but on Windows
78418         2000 and (presumably) earlier, it will fail, and use the internal
78419         re-implementation.
78420         (use_win32_p): New function.
78421         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78422         Support AI_NUMERICSERV to disable getservbyname.
78423         (getnameinfo): New function, only supports
78424         NI_NUMERICHOST|NI_NUMERICSERV for now.
78425
78426         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78427         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78428         getnameinfo.
78429
78430 2006-06-28  Eric Blake  <ebb9@byu.net>
78431
78432         * modules/wcwidth: New file.
78433         * modules/mbchar (Depends-on): Add wcwidth.
78434         * modules/mbswidth (Depends-on): Add wcwidth.
78435         * MODULES.html.sh: Add wcwidth.
78436
78437 2006-06-28  Eric Blake  <ebb9@byu.net>
78438
78439         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78440         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78441
78442 2006-06-28  Eric Blake  <ebb9@byu.net>
78443
78444         * lib/xvasprintf.h: Fix comments.
78445
78446 2006-06-28  Eric Blake  <ebb9@byu.net>
78447
78448         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78449         * lib/mbswidth.c (wcwidth): Move from here...
78450         * lib/wcwidth.h: ...to this new file.
78451
78452 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78453
78454         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78455
78456         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78457         it's obsolete.
78458         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78459
78460 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78461
78462         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78463         Autoconf 2.60 says this stuff was obsolete.
78464
78465 2006-06-28  Bruno Haible  <bruno@clisp.org>
78466
78467         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78468
78469 2006-06-28  Bruno Haible  <bruno@clisp.org>
78470
78471         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78472         gt_TYPE_WCHAR_T.
78473
78474 2006-06-28  Bruno Haible  <bruno@clisp.org>
78475
78476         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78477         declaration for wcwidth.
78478         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78479
78480 2006-06-28  Bruno Haible  <bruno@clisp.org>
78481
78482         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78483         (mkdir): Define using _mkdir.
78484
78485 2006-06-28  Bruno Haible  <bruno@clisp.org>
78486
78487         * lib/getaddrinfo.h: Fix POSIX URL.
78488         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78489         _WIN32.
78490         (use_win32_p): Make static.
78491         (getaddrinfo): Reject service name if it is empty or does not consist
78492         solely of decimal digits, or if its value is > 65535.
78493         (getnameinfo): Remove useless casts.
78494
78495 2006-06-27  Simon Josefsson  <jas@extundo.com>
78496
78497         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78498         Eggert and Martin Lambers.
78499
78500 2006-06-27  Simon Josefsson  <jas@extundo.com>
78501
78502         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78503         Eggert and Martin Lambers.
78504
78505 2006-06-27  Bruno Haible  <bruno@clisp.org>
78506
78507         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78508         result to 0, not to empty.
78509         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78510
78511 2006-06-27  Bruno Haible  <bruno@clisp.org>
78512
78513         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78514
78515 2006-06-26  Simon Josefsson  <jas@extundo.com>
78516
78517         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78518         present.
78519
78520 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78523         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78524         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78525
78526 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78527
78528         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78529
78530 2006-06-26  Bruno Haible  <bruno@clisp.org>
78531
78532         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78533
78534 2006-06-26  Bruno Haible  <bruno@clisp.org>
78535
78536         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78537
78538 2006-06-26  Bruno Haible  <bruno@clisp.org>
78539
78540         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78541         SGI C compiler in pre-C99 mode.
78542         Suggested by Mark D. Baushke and Larry Jones.
78543
78544 2006-06-26  Bruno Haible  <bruno@clisp.org>
78545
78546         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78547         WCHAR_MAX.
78548         Reported by Mark D. Baushke and Larry Jones.
78549
78550 2006-06-26  Bruno Haible  <bruno@clisp.org>
78551
78552         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78553         in pre-C99 mode.
78554         Suggested by Mark D. Baushke and Larry Jones.
78555
78556 2006-06-23  Simon Josefsson  <jas@extundo.com>
78557             Bruno Haible  <bruno@clisp.org>
78558
78559         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78560         Emit mostlyclean-local rule.
78561         (func_emit_tests_Makefile_am): Likewise.
78562         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78563
78564 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78565
78566         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78567
78568 2006-06-23  Bruno Haible  <bruno@clisp.org>
78569
78570         * tests/test-stdint.c: Update to match ISO C 99 Technical
78571         Corrigendum 1.
78572
78573 2006-06-23  Bruno Haible  <bruno@clisp.org>
78574
78575         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78576
78577 2006-06-23  Bruno Haible  <bruno@clisp.org>
78578
78579         * lib/stdint_.h: Treat IRIX like OpenBSD.
78580
78581 2006-06-23  Bruno Haible  <bruno@clisp.org>
78582
78583         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78584         ISO C 99 Technical Corrigendum 1.
78585
78586 2006-06-22  Simon Josefsson  <jas@extundo.com>
78587
78588         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78589         MinGW.
78590
78591 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78592
78593         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78594         needed.  Some compiler complained about some of them.  Problem reported
78595         by Larry Jones in
78596         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78597
78598 2006-06-21  Simon Josefsson  <jas@extundo.com>
78599
78600         * tests/test-getaddrinfo.c: New file.
78601
78602         * modules/getaddrinfo-tests: New file.
78603
78604         * MODULES.html.sh: Add inet_pton.
78605
78606         * modules/inet_pton: New file.
78607
78608 2006-06-21  Simon Josefsson  <jas@extundo.com>
78609
78610         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78611         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78612         of using the (limited) gnulib implementation on Windows XP.
78613
78614         * m4/inet_pton.m4: New file.
78615
78616 2006-06-21  Simon Josefsson  <jas@extundo.com>
78617
78618         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78619         variable.
78620
78621         * lib/socket_.h: Don't define WINVER.
78622
78623         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78624         slightly modified to work in gnulib.
78625
78626 2006-06-21  Simon Josefsson  <jas@extundo.com>
78627
78628         * doc/gnulib.texi (Windows sockets): Add.
78629
78630 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78631
78632         * lib/read-file.c (fread_file): Start with buffer allocation of
78633         0 bytes rather than 1 byte; this simplifies the code.
78634         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78635         code to free buffer and save/restore errno.
78636         (internal_read_file): Remove unused local.
78637
78638 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78639
78640         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78641         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78642         Problem reported by Denis Excoffier in
78643         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78644
78645 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78646
78647         * modules/sys_socket, modules/socklen: Include sys/types since
78648         FreeBSD 4.x's sys/socket.h needs it.
78649
78650 2006-06-19  Simon Josefsson  <jas@extundo.com>
78651
78652         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78653
78654 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78655
78656         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78657
78658 2006-06-19  Bruno Haible  <bruno@clisp.org>
78659
78660         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78661         and FULL_PATH_INTTYPES_H in angle brackets.
78662         Reported by Mark D. Baushke <mdb@gnu.org>.
78663
78664 2006-06-17  Eric Blake  <ebb9@byu.net>
78665
78666         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
78667         errno.
78668
78669 2006-06-17  Bruno Haible  <bruno@clisp.org>
78670
78671         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
78672         <sys/inttypes.h>.
78673
78674 2006-06-17  Bruno Haible  <bruno@clisp.org>
78675
78676         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
78677         whether errno is declared. Assume <errno.h> declares errno.
78678
78679 2006-06-17  Bruno Haible  <bruno@clisp.org>
78680
78681         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
78682
78683 2006-06-17  Bruno Haible  <bruno@clisp.org>
78684
78685         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78686         problem on Solaris 2.5.1.
78687
78688 2006-06-16  Eric Blake  <ebb9@byu.net>
78689
78690         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78691         * lib/unicodeio.c [!defined errno]: Likewise.
78692         * lib/strtol.c [!defined errno]: Likewise.
78693         * lib/strtod.c [!defined errno]: Likewise.
78694
78695 2006-06-15  Eric Blake  <ebb9@byu.net>
78696
78697         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78698
78699 2006-06-15  Eric Blake  <ebb9@byu.net>
78700
78701         * config/srclist.txt (ssize_t.m4): Lose sync.
78702
78703 2006-06-15  Bruno Haible  <bruno@clisp.org>
78704
78705         * modules/stdint (Files): Include m4/full-header-path.m4,
78706         m4/size_max.m4, m4/wchar_t.m4.
78707         (Makefile.am): Many more substitutions.
78708         * modules/stdint-tests: New file.
78709         * tests/test-stdint.c: New file.
78710
78711 2006-06-15  Bruno Haible  <bruno@clisp.org>
78712
78713         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78714         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78715         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78716         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78717         gl_CHECK_TYPE_SAME): New macros.
78718
78719 2006-06-15  Bruno Haible  <bruno@clisp.org>
78720
78721         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78722
78723 2006-06-15  Bruno Haible  <bruno@clisp.org>
78724
78725         * lib/stdint_.h: Rewritten to be fully auto-configured.
78726         Fixes bug on HP-UX/IA64.
78727
78728 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78729
78730         * lib/getdate.y (__attribute__): Don't define if already defined.
78731         Problem reported by Larry Jones.
78732         * lib/utimens.c (__attribute__): Likewise.
78733
78734 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78735
78736         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78737         reported by Andreas Schwab.
78738
78739 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78740             Bruno Haible  <bruno@clisp.org>
78741
78742         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78743         check for the declaration of strnlen and a run test that exposes the
78744         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78745         rpl_strndup.
78746
78747 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78748             Bruno Haible  <bruno@clisp.org>
78749
78750         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78751
78752 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78753
78754         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78755         compile test, for Tru64 4.0D.
78756
78757 2006-05-28  Karl Berry  <karl@gnu.org>
78758
78759         * config/srclist.txt (printf-args.c): lose sync.
78760
78761 2006-05-26  Martin Lambers  <marlam@marlam.de>
78762
78763         * lib/getpass.c: Updates the test for the native W32 API, and adds
78764         missing includes, thus fixing compilation warnings.
78765
78766 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78767
78768         * lib/exclude.c (exclude_fnmatch): New function.
78769         (excluded_file_name): Call exclude_fnmatch.
78770         * lib/exclude.h (excluded_file_name): New prototype
78771
78772 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * lib/tempname.c (small_open, large_open): New macros.
78775         (__open, __open64) [!_LIBC]: Remove.
78776         (__gen_tempname): Use small_open and large_open instead of __open
78777         and __open64.  This fixes a portability bug on HP-UX 11.11i
78778         reported by Simon Wing-Tang in
78779         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78780
78781 2006-05-24  Bruno Haible  <bruno@clisp.org>
78782
78783         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78784         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78785         Reported by Thorsten Maerz <torte@netztorte.de> via
78786         Aaron Stone <aaron@serendipity.cx>.
78787
78788 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78789
78790         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78791         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78792         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78793         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78794         not really conditional on the cache.
78795         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78796
78797 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78798
78799         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78800         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78801         (my_usleep): Don't mishandle maximum value.
78802
78803 2006-05-19  Jim Meyering  <jim@meyering.net>
78804
78805         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78806
78807 2006-05-17  Bruno Haible  <bruno@clisp.org>
78808
78809         Cygwin portability.
78810         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78811
78812 2006-05-17  Bruno Haible  <bruno@clisp.org>
78813
78814         * lib/stdint_.h: Fix recognition of Cygwin.
78815
78816 2006-05-15  Bruno Haible  <bruno@clisp.org>
78817
78818         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78819         on libtool patch by Ralf Wildenhues.
78820
78821 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78822
78823         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78824         test for C99 conformance; (bool) 0.5 is an integer constant
78825         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78826         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78827
78828 2006-05-11  Simon Josefsson  <jas@extundo.com>
78829
78830         * m4/xvasprintf.m4: Fix obvious typo.
78831
78832 2006-05-11  Jim Meyering  <jim@meyering.net>
78833
78834         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78835         James Lemley.
78836
78837 2006-05-10  Simon Josefsson  <jas@extundo.com>
78838
78839         * lib/md4.c: Typo fix, update copyright years.
78840         (K1, K2): Don't use L because it turn computations into 64-bit on
78841         64-bit platforms.
78842
78843 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78846         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78847         unwanted sign propagation, e.g., on hosts with 64-bit int.
78848         There still are some problems with reeelly weird theoretical hosts
78849         (e.g., 33-bit int) but it's not worth worrying about now.
78850         * lib/sha1.c (rol): Likewise.
78851         (K1, K2, K3, K4): Remove unnecessary L suffix.
78852
78853 2006-05-10  Bruno Haible  <bruno@clisp.org>
78854
78855         * lib/des.c: Cast to avoid warnings.
78856
78857 2006-05-09  Bruno Haible  <bruno@clisp.org>
78858
78859         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78860         (Depends-on): Depend also on xsize, stdarg.
78861         (configure.ac): Add gl_XVASPRINTF.
78862
78863 2006-05-09  Bruno Haible  <bruno@clisp.org>
78864
78865         * m4/xvasprintf.m4: New file.
78866
78867 2006-05-09  Bruno Haible  <bruno@clisp.org>
78868
78869         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78870         (EOVERFLOW): Define fallback value.
78871         (xstrcat): New function.
78872         (xvasprintf): Recognize the special case of a string concatenation.
78873
78874 2006-05-08  Eric Blake  <ebb9@byu.net>
78875
78876         * gnulib-tool (func_version): Base copyright year on CVS date.
78877         (func_emit_copyright_notice): New function.
78878         (func_emit_lib_Makefile_am): Use it.
78879         (func_emit_tests_Makefile_am): Likewise.
78880         (func_import): Likewise.
78881
78882 2006-05-08  Bruno Haible  <bruno@clisp.org>
78883
78884         * modules/stdarg: New file.
78885         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78886
78887 2006-05-08  Bruno Haible  <bruno@clisp.org>
78888
78889         * m4/stdarg.m4: New file, from GNU gettext.
78890
78891 2006-05-08  Bruno Haible  <bruno@clisp.org>
78892
78893         * config/srclist.txt (build-aux/config.rpath): different from latest
78894         release.
78895
78896 2006-05-08  Bruno Haible  <bruno@clisp.org>
78897
78898         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78899
78900 2006-05-05  Jim Meyering  <jim@meyering.net>
78901
78902         * m4/warning.m4: New file, derived from bison's file by the same name.
78903
78904 2006-05-03  Bruno Haible  <bruno@clisp.org>
78905
78906         * lib/stdint_.h: Shorter URL.
78907         * lib/inttypes.h: Likewise.
78908
78909 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78910
78911         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78912
78913 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * lib/verify.h: Document the internals better.  Most of this change
78916         was written by Bruno Haible.
78917
78918 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78919
78920         * doc/verify.texi: New file, partly based on a proposal by
78921         Bruno Haible.
78922
78923 2006-05-02  Bruno Haible  <bruno@clisp.org>
78924
78925         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78926         test from here...
78927         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78928
78929 2006-04-29  Bruno Haible  <bruno@clisp.org>
78930
78931         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78932         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78933
78934 2006-04-29  Bruno Haible  <bruno@clisp.org>
78935
78936         * gnulib-tool: Make --update option actually work.
78937
78938 2006-04-29  Bruno Haible  <bruno@clisp.org>
78939
78940         * doc/gcd.texi: New file.
78941         * doc/gnulib.texi: Include it.
78942
78943 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78944
78945         * lib/getdate.y (get_date): When adding relative date, start with the
78946         initial time, not with the result of the first mktime call.
78947
78948 2006-04-25  Bruno Haible  <bruno@clisp.org>
78949
78950         * gnulib-tool (func_import): Output the include directives in three
78951         blocks, sorted separately.
78952         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78953
78954 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78955
78956         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78957         to define main with arguments, for C++.  Reported by Eric Blake.
78958         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78959         Prefer 'int main ()' to 'int main (void)', for C++.
78960         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78961         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78962         for 'main', for C99 and C++.
78963
78964 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78965
78966         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78967         Don't assume that exit status -1 is valid.
78968         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78969         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78970         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78971         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78972         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78973         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78974         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78975         functions can be used without declaring them, or that you can
78976         exit with status -1.
78977         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78978
78979 2006-04-24  Karl Berry  <karl@gnu.org>
78980
78981         * config/srclist.txt (longdouble.m4): sync lost.
78982
78983 2006-04-24  Eric Blake  <ebb9@byu.net>
78984
78985         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78986
78987 2006-04-24  Bruno Haible  <bruno@clisp.org>
78988
78989         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78990         poll() implementation in AIX.
78991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78992
78993 2006-04-24  Bruno Haible  <bruno@clisp.org>
78994
78995         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
78996         assigned exactly once.
78997
78998 2006-04-23  Claudio Fontana  <claudio@gnu.org>
78999             Bruno Haible  <bruno@clisp.org>
79000
79001         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79002         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79003         for AM_CPPFLAGS.
79004
79005 2006-04-23  Bruno Haible  <bruno@clisp.org>
79006
79007         * modules/copy-file: Depend on unistd.
79008         * modules/execute: Likewise.
79009         * modules/fatal-signal: Likewise.
79010         * modules/findprog: Likewise.
79011         * modules/mkdtemp : Likewise.
79012         * modules/pipe: Likewise.
79013         * modules/wait-process: Likewise.
79014
79015 2006-04-23  Bruno Haible  <bruno@clisp.org>
79016
79017         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79018         condition was already detected.
79019         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79020
79021 2006-04-23  Bruno Haible  <bruno@clisp.org>
79022
79023         * lib/copy-file.c: Include <unistd.h> unconditionally.
79024         * lib/execute.c: Likewise.
79025         * lib/fatal-signal.c: Likewise.
79026         * lib/findprog.c: Likewise.
79027         * lib/mkdtemp.c: Likewise.
79028         * lib/pipe.h: Likewise.
79029         * lib/pipe.c: Likewise.
79030         * lib/wait-process.h: Likewise.
79031
79032 2006-04-23  Bruno Haible  <bruno@clisp.org>
79033
79034         * gnulib-tool (func_usage): Fix --import description. Document
79035         --update.
79036         (func_import): Create temporary file in a temporary directory, if
79037         --dry-run is specified. Silence errors from 'grep' when there are no
79038         m4 files in $m4dir.
79039         (func_create_testdir): Silence errors from 'grep' when there are no
79040         m4 files in $m4dir.
79041         Reported by Karl Berry <karl@freefriends.org>.
79042
79043 2006-04-20  Bruno Haible  <bruno@clisp.org>
79044
79045         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79046         one argument, so that the code will be portable to Autoconf 2.60.
79047         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79048         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79049         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79050
79051 2006-04-19  Derek Price  <derek@ximbiot.com>
79052             Eric Blake  <ebb9@byu.net>
79053
79054         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79055         rather than "/full/path.h".  Update comment to match.  Shorten &
79056         generalize m4_translit call via AS_TR_CPP.
79057
79058 2006-04-19  Derek Price  <derek@ximbiot.com>
79059             Eric Blake  <ebb9@byu.net>
79060
79061         * lib/inttypes.h: Correct grammar in comment.
79062
79063 2006-04-18  Derek Price  <derek@ximbiot.com>
79064             Paul Eggert  <eggert@cs.ucla.edu>
79065
79066         * modules/inttypes: New file.
79067         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79068
79069 2006-04-18  Derek Price  <derek@ximbiot.com>
79070             Paul Eggert  <eggert@cs.ucla.edu>
79071
79072         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79073         New files.
79074
79075 2006-04-18  Derek Price  <derek@ximbiot.com>
79076             Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * lib/inttypes.h: New file.
79079         * lib/strtoimax.c: Assume <inttypes.h>.
79080
79081 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79082
79083         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79084         isn't mounted.  Problem reported by Kir Kolyshkin.
79085
79086 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79087
79088         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79089         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79090         Derek R. Price.
79091         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79092         implementation.
79093
79094 2006-04-12  Eric Blake  <ebb9@byu.net>
79095
79096         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79097         is now done automatically by the corresponding Autoconf macro.
79098
79099 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79100
79101         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79102         time_r.h.
79103
79104 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         Merge regex changes from libc, removing some of our
79107         POSIX-conformance changes that were rejected and redoing them in a
79108         less-intrusive way.
79109
79110         * lib/regcomp.c (re_compile_internal, init_dfa):
79111         Length arg is now size_t, not Idx.  All uses changed.
79112         (peek_token): Forward decl now says internal_function.
79113         (__re_error_msgid, __re_error_msgid_idx):
79114         Now static rather than extern with attribute_hidden.
79115         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79116         For some reason libc prefers K&R style defns for external functions.
79117         (regerror) [!defined _LIBC]: Likewise.
79118         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79119         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79120         (build_range_exp, build_collating_symbol):
79121         Use K&R-style defn.
79122         (re_compile_fastmap): Use '\0' to memset, not 0.
79123         (utf8_sb_map): Make the calculations more obvious.
79124         (init_dfa, parse_bracket_exp, build_charclass_op):
79125         Call calloc and cast result, as glibc does.
79126         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79127         (build_range_exp, build_collating_symbol):
79128         Now internal functions.
79129
79130         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79131
79132         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79133         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79134         Don't depend on VMS; depend on __VMS instead, for POSIX
79135         namespace cleanness.
79136         (regoff_t): Define to ssize_t, not long int.
79137
79138         Remove the REG_ macros named below.  Instead, make the old names
79139         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79140         __USE_GNU_REGEX.
79141         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79142         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79143         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79144         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79145         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79146         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79147         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79148         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79149         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79150         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79151         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79152         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79153         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79154         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79155         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79156         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79157         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79158         (REG_NREGS):
79159         Remove.  All uses replaced by the old RE_* names.
79160         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79161         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79162         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79163         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79164         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79165         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79166         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79167         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79168         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79169         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79170         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79171         Don't bother having these macros be independent of each others'
79172         values, since they no longer exist in the POSIX name space.
79173
79174         Rename the following member names back to their old names,
79175         unless !__USE_GNU_REGEX.  All uses changed back.
79176         (buffer): Renamed from re_buffer.
79177         (allocated): Renamed from re_allocated.
79178         (used): Renamed from re_used.
79179         (syntax): Renamed from re_syntax.
79180         (fastmap): Renamed from re_fastmap.
79181         (translate): Renamed from re_translate.
79182         (can_be_null): Renamed from re_can_be_null.
79183         (regs_allocated): Renamed from re_regs_allocated.
79184         (fastmap_accurate): Renamed from re_fastmap_accurate.
79185         (no_sub): Renamed from re_no_sub.
79186         (not_bol): Renamed from re_not_bol.
79187         (not_eol): Renamed from re_not_eol.
79188         (newline_anchor): Renamed from re_newline_anchor.
79189         (num_regs): Renamed from rm_num_regs.
79190         (start): Renamed from rm_start.
79191         (end): Renamed from rm_end.
79192
79193         (free_state): Move up a bit.
79194
79195         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79196         #define to be empty.
79197         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79198         when that is what is intended.
79199         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79200         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79201         (MAX): New macro.
79202         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79203         All uses changed back to re_malloc, etc.  It's now the caller's
79204         responsibility to check for overflow; all callers changed.
79205         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79206         (re_x2nrealloc): Remove.
79207         (free_state): Remove decl.
79208
79209         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79210         (re_set_registers, re_exec):
79211         Use K&R-style defn.
79212
79213         2006-01-31  Roland McGrath  <roland@redhat.com>
79214
79215         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79216         Reported by Mike Frysinger <vapier@gentoo.org>.
79217
79218         2006-01-15  Andreas Jaeger  <aj@suse.de>
79219
79220         [BZ #1950]
79221         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79222         build_wcs_upper_buffer change.
79223         (build_wcs_upper_buffer): Change return type.
79224
79225         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79226
79227         * lib/regex_internal.h: Include <stdint.h> if available.
79228
79229         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79230
79231         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79232
79233         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79234
79235         * lib/regcomp.c: Adjust for changed secondary hash function.
79236
79237         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79238
79239         * lib/regex.h: Pretty printing.
79240         Clean up namespace a bit.
79241
79242         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79243
79244         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79245         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79246
79247         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79248                     Ulrich Drepper  <drepper@redhat.com>
79249
79250         [BZ #1302]
79251         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79252         changed.
79253         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79254
79255         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79256
79257         [BZ #281]
79258         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79259         * lib/regcomp.c: Remove unnecessary uses of
79260         unsigned RE_TRANSLATE_TYPE.
79261         * lib/regex_internal.h: Likewise.
79262         * lib/regex_internal.c: Likewise.
79263         * lib/regexec.c: Likewise.
79264         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79265
79266         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79267
79268         * lib/regexec.c (find_recover_state): Remove unnecessary
79269         initialization.
79270         (transit_state_bkref): Make DFA a const pointer.
79271         (get_subexp): Likewise.
79272         (check_arrival): Likewise.
79273         (update_cur_sifted_state): Likewise.
79274         (re_search_internal): Likewise.
79275         (prune_impossible_nodes): Likewise.
79276         (acquire_init_state_context): Likewise.
79277         (proceed_next_node): Likewise.
79278         (set_regs): Likewise.
79279         (free_fail_stack_return): Likewise.
79280         (check_arrival_expand_ecl): Mark DFA parameter as const.
79281         (check_arrival_expand_ecl_sub): Likewise.
79282         (check_subexp_limits): Likewise.
79283         (sub_epsilon_src_nodes):  Likewise.
79284         (add_epsilon_src_nodes):  Likewise.
79285         (merge_state_array): Likewise.
79286         (update_regs): Likewise.
79287         (build_trtable): Likewise.
79288         (sift_states_backward): Mark MCTX parameter as const.
79289         (build_sifted_states): Likewise.
79290         (update_cur_sifted_state): Likewise.
79291         (sift_states_mkref): Likewise.
79292         (check_arrival_expand_ecl): Mark eclosure as const.
79293         (check_dst_limits_calc_pos_1): Likewise.
79294         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79295         pointer.
79296
79297         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79298
79299         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79300         (transit_state_sb): Likewise.
79301         (transit_state_mb): Likewise.
79302         (sift_states_iter_mb): Likewise.
79303         (check_arrival_add_next_nodes): Likewise.
79304         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79305         [_LIBC] (re_search_2_stub): Use mempcpy.
79306
79307         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79308         mbrtowc for very simple UTF-8 case.
79309
79310         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79311         a pointer-to-const.
79312         (re_acquire_state_context): Likewise.
79313         * lib/regex_internal.h: Adjust prototypes.
79314
79315         * lib/regex.c: Prevent using C++ compilers.
79316
79317         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79318         (re_acquire_state_context): Likewise.
79319
79320 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79321
79322         * modules/regex (Depends-on): Add ssize_t.
79323
79324 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79325
79326         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79327         translation table.
79328
79329 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79330
79331         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79332
79333 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79334             Bruno Haible  <bruno@clisp.org>
79335
79336         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79337         <sys/types.h> and <inttypes.h>.
79338
79339 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79340
79341         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79342         `__error_t_defined', so argp.h will not typedef the former.
79343
79344 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79345
79346         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79347         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79348         glibc names.  Even if glibc is changed to conform to POSIX, the
79349         traditional names will be available anyway, since regex depends on
79350         the extensions module.  Also, fix a longstanding typo in the
79351         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79352         reported by Emanuele Giaquinta.  Also, change sense of cached
79353         variable, so that the message makes sense.
79354
79355 2006-03-24  Simon Josefsson  <jas@extundo.com>
79356
79357         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79358         including some doc fixes.
79359         (base64_encode_alloc): Fix +1 bug on allocation failures.
79360
79361 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79362
79363         * lib/base64.c (base64_encode): Do not read past end of array with
79364         unsanitized input on systems with CHAR_BIT > 8.
79365
79366 2006-03-24  Eric Blake  <ebb9@byu.net>
79367
79368         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79369
79370 2006-03-22  Karl Berry  <karl@gnu.org>
79371
79372         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79373         * config/srclistvars.sh (COREUTILS): new var.
79374
79375 2006-03-17  Jim Meyering  <jim@meyering.net>
79376
79377         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79378         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79379
79380 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79381
79382         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79383         no longer needs it.  Instead, check that regoff_t is as least
79384         as wide as ptrdiff_t.
79385
79386         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79387         so that our regex.h stays compatible with the installed regex.
79388         This is helpful for installers who configure --without-included-regex.
79389         Problem reported by Emanuele Giaquinta.
79390
79391 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79392
79393         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79394         Typedef to long int, not to off_, as POSIX will likely change
79395         in that direction.
79396
79397 2006-03-15  Eric Blake  <ebb9@byu.net>
79398
79399         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79400
79401 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79402
79403         * lib/argp-help.c (validate_uparams): Fix typo
79404         * lib/argp-parse.c (argp_default_options): Consistently begin help
79405         messages with a lowercase letter.
79406
79407 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79408
79409         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79410         overrun buffers and shouldn't be used (much as gets shouldn't be
79411         used).
79412         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79413
79414 2006-03-08  Simon Josefsson  <jas@extundo.com>
79415
79416         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79417         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79418
79419 2006-03-08  Simon Josefsson  <jas@extundo.com>
79420
79421         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79422         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79423
79424 2006-03-08  Simon Josefsson  <jas@extundo.com>
79425
79426         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79427         signal that configure disabled the device.
79428
79429 2006-03-08  Simon Josefsson  <jas@extundo.com>
79430
79431         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79432         languages.
79433
79434 2006-03-07  Simon Josefsson  <jas@extundo.com>
79435
79436         * modules/getopt (Depends-on): Add unistd.
79437
79438         * modules/unistd: New file.
79439
79440 2006-03-07  Simon Josefsson  <jas@extundo.com>
79441
79442         * modules/gc-random: New file.
79443
79444 2006-03-07  Simon Josefsson  <jas@extundo.com>
79445
79446         * m4/unistd_h.m4: New file.
79447
79448 2006-03-07  Simon Josefsson  <jas@extundo.com>
79449
79450         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79451         test to be side-effect free by storing the result in the cache
79452         variable gl_cv_lib_readline, and moving the assignment of
79453         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79454         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79455
79456 2006-03-07  Simon Josefsson  <jas@extundo.com>
79457
79458         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79459         error on missing devices (the functions will return an error).
79460
79461         * m4/gc.m4: Move random stuff to gc-random.m4
79462
79463 2006-03-07  Simon Josefsson  <jas@extundo.com>
79464
79465         * lib/unistd_.h: New file.
79466
79467 2006-03-07  Simon Josefsson  <jas@extundo.com>
79468
79469         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79470
79471 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79472
79473         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79474         Problem reported by Juan Manuel Guerrero.
79475
79476 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79479         the unistd module.
79480         * lib/getlogin_r.c: Likewise.
79481         * lib/getlogin_r.h: Likewise.
79482         * lib/glob.c: Likewise.
79483         * lib/pagealign_alloc.c: Likewise.
79484         * lib/unistd_.h: Remove; no longer needed.
79485
79486 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79487
79488         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79489         Add unistd.
79490         * modules/c-stack (Depends-on): Add unistd.
79491         * modules/getlogin_r: Likewise.
79492         * modules/glob: Likewise.
79493         * modules/pagealign_alloc: Likewise.
79494         * modules/unistd (Files): Remove lib/unistd_.h.
79495         (EXTRA_DIST): Remove.
79496         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79497         need unistd_.h.
79498         (MOSTLYCLEANFILES): Remove unistd.h-t.
79499
79500 2006-03-03  Simon Josefsson  <jas@extundo.com>
79501
79502         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79503
79504 2006-03-03  Simon Josefsson  <jas@extundo.com>
79505
79506         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79507         libidn and bison.
79508
79509 2006-03-03  Simon Josefsson  <jas@extundo.com>
79510
79511         * build-aux/maint.mk: Add indent target.
79512
79513 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79514
79515         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79516         our replacement poll.h in any case, to avoid a differing
79517         declaration from a system header.  Seen on AIX.
79518
79519 2006-03-01  Simon Josefsson  <jas@extundo.com>
79520
79521         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79522         <kasal@ucw.cz>.
79523
79524 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79525
79526         * modules/gettime (Depends-on): Add extensions module.
79527         * modules/nanosleep (Depends-on): Likewise.
79528         * modules/settime (Depends-on): Likewise.
79529
79530 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79531
79532         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79533         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79534         pedantically.
79535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79536         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79537
79538         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79539         not "==".  Reported by Ralf Wildenhues.
79540
79541 2006-03-01  Karl Berry  <karl@gnu.org>
79542
79543         * doc/Copyright/request-*: new files, synced from gnuorg.
79544
79545 2006-03-01  Karl Berry  <karl@gnu.org>
79546
79547         * config/srclist.txt (Copyright/*): new entries.
79548
79549 2006-02-28  Simon Josefsson  <jas@extundo.com>
79550
79551         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79552
79553 2006-02-27  Simon Josefsson  <jas@extundo.com>
79554
79555         * lib/base64.h: Indent #define's.  From Jim Meyering
79556         <jim@meyering.net>.
79557
79558 2006-02-27  Jim Meyering  <jim@meyering.net>
79559
79560         Revert the change of 2006-02-24, so these files can continue
79561         to be sync'd from gettext.
79562         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79563         of `config.h'.
79564
79565 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79566
79567         * modules/intprops: New file.
79568         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79569         Add intprops.
79570         * modules/getloadavg (Files): Remove lib/intprops.h.
79571         (Depends-on): Add intprops.
79572         * modules/human: Likewise.
79573         * modules/inttostr: Likewise.
79574         * modules/openat: Likewise.
79575         * modules/sig2str: Likewise.
79576         * modules/userspec: Likewise.
79577         * modules/utimecmp: Likewise.
79578         * modules/xnanosleep: Likewise.
79579         * modules/xstrtol: Likewise.
79580
79581 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79582
79583         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79584         * modules/lock-tests (TESTS): Use $(EXEEXT).
79585         * modules/tls-tests: Likewise.
79586         * modules/argp-tests: Likewise.
79587         (check_PROGRAMS): New var, replacing...
79588         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79589
79590 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79591
79592         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79593         `config.h'.
79594
79595 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79596
79597         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79598
79599 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79600
79601         Sync from coreutils.
79602         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79603         gl_CHDIR_SAFER.
79604
79605 2006-02-22  Jim Meyering  <jim@meyering.net>
79606
79607         Sync from coreutils.
79608         * m4/chdir-safer.m4: New file.
79609
79610 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79611
79612         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79613         AT_FDCWD exceeds INT_MAX.
79614         * lib/openat.h (AT_FDCWD): Likewise.
79615
79616 2006-02-17  Eric Blake  <address@hidden>
79617
79618         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79619
79620 2006-02-16  Simon Josefsson  <jas@extundo.com>
79621
79622         * modules/getaddrinfo (Depends-on): Add sys_socket.
79623
79624 2006-02-15  Simon Josefsson  <jas@extundo.com>
79625
79626         * build-aux/maint.mk: Add dsyntax-check rule.
79627
79628 2006-02-15  Eric Blake  <ebb9@byu.net>
79629
79630         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79631         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79632         'present but cannot compile' warnings on cygwin.
79633         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79634         use ws2tcpip.h if sys/socket.h works.
79635         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79636         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79637
79638 2006-02-14  Simon Josefsson  <jas@extundo.com>
79639
79640         * modules/maintainer-makefile (Files): Rename.
79641
79642         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79643         and (the local) Makefile.cfg to maint-cfg.mk.
79644
79645         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79646         to the latter.
79647
79648         * modules/maintainer-makefile: New module.
79649
79650         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79651         severaly stripped to make it possible to build it up from scratch
79652         with reliable tests.
79653
79654         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79655         fixes to permit overriding the default actions when configure and
79656         makefile are not available.
79657
79658 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79659
79660         Sync from coreutils.
79661         * modules/lstat (Depends-on): Don't depend on xalloc.
79662         (License): Change from GPL to LGPL, since this is now simply a
79663         replacement for a libc function.
79664
79665 2006-02-14  Jim Meyering  <jim@meyering.net>
79666
79667         Sync from coreutils.
79668
79669         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
79670         failure on deficient systems, and simplify gnulib lgpl dependencies.
79671         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
79672         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
79673
79674         * lib/xalloc-die.c: Remove unused definition of N_.
79675
79676 2006-02-14  Jim Meyering  <jim@meyering.net>
79677
79678         Sync from coreutils.
79679         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
79680         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
79681         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
79682         double-quote uses of that variable, to accommodate the rare case in
79683         which getmntent is available in none of the libraries checked.  This
79684         happens at least on FreeBSD 5.0.
79685
79686 2006-02-13  Simon Josefsson  <jas@extundo.com>
79687
79688         * gnulib-tool (Usage): Fix --import, from
79689         karl@freefriends.org (Karl Berry).
79690
79691 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79692
79693         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79694
79695 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79696
79697         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79698         "autoupdate" on 2005-12-12.
79699
79700 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79701
79702         * modules/closeout (Depends-on): Remove atexit.
79703
79704 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79705
79706         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79707         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79708
79709 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79710
79711         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79712         __EXTENSIONS__ if this causes compilation to fail.  Problem
79713         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79714         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79715
79716 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79717
79718         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79719         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79720         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79721         All uses changed.
79722
79723 2006-01-26  Simon Josefsson  <jas@extundo.com>
79724
79725         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79726         prototype is visible on mingw32.
79727
79728         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79729         for mingw32.
79730
79731         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79732         mingw32).
79733
79734 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79735
79736         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79737         attempt to open for write; this always fails, at least on POSIX
79738         hosts.  This reinstates the 2006-01-09 change, which was
79739         inadvertently removed.
79740
79741 2006-01-26  Bruno Haible  <bruno@clisp.org>
79742
79743         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79744         Reported by Paul Eggert.
79745
79746 2006-01-26  Bruno Haible  <bruno@clisp.org>
79747             Paul Eggert  <eggert@cs.ucla.edu>
79748
79749         * lib/stdbool_.h (_Bool)
79750         [(! (defined __cplusplus || defined __BEOS__)
79751           && !defined __GNUC__
79752           && !(defined __HP_cc || defined __xlc__
79753                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79754                || defined __sgi))]:
79755         #define to signed char in these cases too; this simplifies
79756         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79757         etc., separately) and makes it more conservative.
79758
79759 2006-01-25  Simon Josefsson  <jas@extundo.com>
79760
79761         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79762         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79763         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79764
79765 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79766
79767         * lib/argp-namefrob.h: Bugfix. Remove stray #
79768
79769 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79770
79771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79772         so that we test the test.
79773         Check for yet another HP-UX cc bug involving *bool |= bool.
79774
79775 2006-01-25  Karl Berry  <karl@gnu.org>
79776
79777         * config/srclist.txt (vasnprintf.c): sync lost.
79778
79779 2006-01-25  Jim Meyering  <jim@meyering.net>
79780
79781         Sync from the stable (b5) branch of coreutils:
79782
79783         * lib/fts.c (fts_children): Don't let close() clobber errno from
79784         failed fchdir().
79785
79786         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79787         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79788         a dangling symlink.  That can also happen at least for ELOOP.
79789         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79790         FYI, this bug predates the inclusion of fts.c in coreutils.
79791
79792         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79793         in their own block, so pre-c99 compilers don't object.
79794
79795         Avoid the double-free (first in fts_read, second in fts_close) that
79796         would occur when an `active' directory is made inaccessible (e.g.,
79797         via chmod a-x) during a traversal.
79798         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79799         before returning.  Reproduce this failure by
79800         mkdir -p a/b; cd a; chmod a-x . b
79801         Reported by Stavros Passas.
79802
79803 2006-01-25  Jim Meyering  <jim@meyering.net>
79804
79805         * lib/fileblocks.c: Remove more useless parentheses.
79806         * lib/readutmp.h: Likewise.
79807
79808 2006-01-25  Bruno Haible  <bruno@clisp.org>
79809
79810         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79811         warnings.
79812         Reported by Paul Eggert.
79813
79814 2006-01-25  Bruno Haible  <bruno@clisp.org>
79815
79816         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79817         rid of a trap command. For Solaris sh.
79818         Reported by Mark D. Baushke <mdb@gnu.org>.
79819
79820 2006-01-24  Simon Josefsson  <jas@extundo.com>
79821
79822         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79823         Bruno.
79824
79825 2006-01-24  Karl Berry  <karl@gnu.org>
79826
79827         * config/srclist.txt (argp-namefrob.h): sync lost.
79828
79829 2006-01-24  Jim Meyering  <jim@meyering.net>
79830
79831         * modules/openat (Files): Add lib/intprops.h.
79832         From Mark D. Baushke.
79833
79834 2006-01-24  Jim Meyering  <jim@meyering.net>
79835
79836         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79837         Reported by Mark D. Baushke.
79838
79839 2006-01-24  Jim Meyering  <jim@meyering.net>
79840
79841         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79842
79843 2006-01-24  Bruno Haible  <bruno@clisp.org>
79844
79845         * modules/strnlen (Maintainer): Change from glibc to all.
79846
79847 2006-01-24  Bruno Haible  <bruno@clisp.org>
79848
79849         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79850         Patch by Paul Eggert.
79851
79852 2006-01-24  Bruno Haible  <bruno@clisp.org>
79853
79854         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79855         already has it.
79856         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79857         2005-11-26.
79858
79859         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79860         'signed char' to avoid problems with the built-in _Bool type.
79861         Reported by Paul Eggert on 2005-11-26.
79862
79863 2006-01-24  Bruno Haible  <bruno@clisp.org>
79864
79865         * gnulib-tool (func_import): Avoid constructing complicated sed
79866         expressions inside backquote.
79867         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79868
79869 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79870
79871         These changes imported from libc.
79872         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79873         test and two separate function calls.
79874         * lib/strndup.c (__strndup): Add libc_hidden_def.
79875
79876 2006-01-23  Simon Josefsson  <jas@extundo.com>
79877
79878         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79879         Remove the test_*_SOURCES variable: automake infers it by default.
79880         * modules/tls-tests: Likewise.
79881
79882 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79883
79884         Work around porting bugs reported by Dieter in
79885         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79886         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79887         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79888         Include "getopt.h" first, to check interface.
79889         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79890         !HAVE_DECL_GETENV.
79891         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79892         (__strndup): Revert to K&R-style function dfns, the glibc style.
79893         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79894         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79895         Include strnlen.h first, to get prototype properly.
79896         (strnlen): Renamed from __strnlen.
79897         Remove weak alias.
79898
79899 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79900
79901         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79902
79903 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79904
79905         * config/srclist.txt: Adjust to reflect glibc reorganization.
79906         This affects only comments.
79907
79908 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79909
79910          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79911          Reported by Bruce Korb <bkorb@gnu.org>.
79912
79913 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79914
79915         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79916         to pacify gcc -Wswitch-default.
79917
79918 2006-01-22  Bruno Haible  <bruno@clisp.org>
79919
79920         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79921         temporary buffer for sprintf, take into account the precision also
79922         for 'd', 'i', 'u', 'o', 'x', 'X'.
79923
79924 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79925
79926         * modules/argp-tests: New module
79927         * tests/test-argp.c: New file
79928         * tests/test-argp-2.sh: New file
79929
79930 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79931
79932         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79933         (__argp_base_name): Removed
79934         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79935         typo.
79936         (__argp_base_name): Provide macro definition or extern declaration
79937         depending on the configuration
79938
79939 2006-01-20  Simon Josefsson  <jas@extundo.com>
79940
79941         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79942
79943 2006-01-20  Simon Josefsson  <jas@extundo.com>
79944
79945         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79946
79947 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79948
79949         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79950         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79951         Suggested by Bruno Haible.
79952
79953 2006-01-20  Karl Berry  <karl@gnu.org>
79954
79955         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79956         until changes propagate, I guess.
79957
79958 2006-01-19  Simon Josefsson  <jas@extundo.com>
79959
79960         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79961
79962 2006-01-19  Simon Josefsson  <jas@extundo.com>
79963
79964         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79965
79966 2006-01-19  Simon Josefsson  <jas@extundo.com>
79967
79968         * gnulib-tool: Set check_PROGRAMS.
79969
79970         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79971         modules/des-tests, modules/gc-arcfour-tests,
79972         modules/gc-arctwo-tests, modules/gc-des-tests,
79973         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79974         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79975         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79976         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79977         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79978         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79979         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79980         test_*_SOURCES.
79981
79982 2006-01-18  Simon Josefsson  <jas@extundo.com>
79983
79984         * modules/socklen (Depends-on): Depend on sys_socket.
79985
79986 2006-01-18  Simon Josefsson  <jas@extundo.com>
79987
79988         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79989         modules/des-tests, modules/gc-arcfour-tests,
79990         modules/gc-arctwo-tests, modules/gc-des-tests,
79991         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79992         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79993         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79994         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79995         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79996         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
79997         $(EXEEXT) to automake TESTS variable, for mingw32.
79998
79999 2006-01-17  Simon Josefsson  <jas@extundo.com>
80000
80001         * modules/socklen (Include): Need sys/socket.h.
80002
80003 2006-01-17  Bruno Haible  <bruno@clisp.org>
80004
80005         * modules/ssize_t (Include): Add <sys/types.h>.
80006
80007 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80008
80009         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80010         it's not portable and it doesn't work with cross-compiles.
80011         Problem reported by Bruno Haible.  Fix missing-$ typo in
80012         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80013         -zignore from being used with Sun's C compiler.
80014
80015 2006-01-12  Simon Josefsson  <jas@extundo.com>
80016
80017         * lib/base64.c: Fix warning, reported by Bruno Haible
80018         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80019
80020 2006-01-12  Bruno Haible  <bruno@clisp.org>
80021
80022         * modules/ldd: New file.
80023         * build-aux/ldd.sh.in: New file.
80024         * MODULES.html.sh (Support for building libraries and executables): Add
80025         ldd.
80026
80027 2006-01-12  Bruno Haible  <bruno@clisp.org>
80028
80029         * m4/ldd.m4: New file.
80030
80031 2006-01-12  Bruno Haible  <bruno@clisp.org>
80032
80033         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80034         endless loop while replacing $auxdir with build-aux.
80035
80036 2006-01-11  Simon Josefsson  <jas@extundo.com>
80037
80038         * lib/stdint_.h (SIZE_MAX): Add missing (.
80039
80040 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80041
80042         Sync from coreutils.
80043         * lib/md5.c: Fix commentary typos.
80044         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80045         * lib/md5.h (__attribute__): Remove; unused.
80046         * lib/sha1.c: Fix commentary to match md5 better.
80047         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80048         so that we don't need to worry about alignment.  All uses changed.
80049         This merges the 2005-10-28 md5 change into sha1.
80050
80051 2006-01-11  Jim Meyering  <jim@meyering.net>
80052
80053         Sync from coreutils.
80054         * lib/md5.c (OP): Fix spacing.
80055
80056 2006-01-11  Bruno Haible  <bruno@clisp.org>
80057
80058         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80059         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80060         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80061
80062 2006-01-11  Bruno Haible  <bruno@clisp.org>
80063
80064         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80065         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80066         the "early" section as well.
80067
80068 2006-01-11  Bruno Haible  <bruno@clisp.org>
80069
80070         Avoid "ar: no archive members specified" error on MacOS X.
80071         * gnulib-tool (func_modules_add_dummy): New function.
80072         (func_import, func_create_testdir): Invoke it.
80073
80074 2006-01-11  Bruno Haible  <bruno@clisp.org>
80075
80076         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80077         with $auxdir in AC_CONFIG_FILES statements.
80078
80079 2006-01-11  Bruno Haible  <bruno@clisp.org>
80080
80081         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80082         Initialize also noinst_HEADERS to empty.
80083
80084 2006-01-11  Bruno Haible  <bruno@clisp.org>
80085
80086         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80087         variables.
80088         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80089         autoreconf.
80090
80091 2006-01-11  Bruno Haible  <bruno@clisp.org>
80092
80093         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80094         overridable by the user.
80095         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80096
80097 2006-01-10  Simon Josefsson  <jas@extundo.com>
80098
80099         * modules/sys_socket: New file.
80100
80101 2006-01-10  Simon Josefsson  <jas@extundo.com>
80102
80103         * m4/sys_socket_h.m4: New file.
80104
80105 2006-01-10  Simon Josefsson  <jas@extundo.com>
80106
80107         * lib/socket_.h: New file.
80108
80109 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80110
80111         * modules/readutmp (Maintainer): Add myself.
80112
80113 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80114
80115         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80116         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80117         People who are still concerned with buggy memcmp implementations
80118         can invoke gl_FUNC_MEMCMP themselves.
80119
80120 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80121
80122         * lib/regex_internal.h (BITSET_WORD_BITS):
80123         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80124         preprocessor mishandles large unsigned values as if they were signed.
80125         Problem reported by Claudio Fontana in
80126         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80127
80128 2006-01-10  Jim Meyering  <jim@meyering.net>
80129
80130         Avoid the double-free (first in fts_read, second in fts_close) that
80131         would occur when an `active' directory is made inaccessible (e.g.,
80132         via chmod a-x) during a traversal.
80133         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80134         before returning.  Reproduce this failure by
80135         mkdir -p a/b; cd a; chmod a-x . b
80136         Reported by Stavros Passas.
80137
80138         Sync from coreutils.
80139         * lib/sha1.c: Tweak grammar in a comment.
80140
80141 2006-01-10  Jim Meyering  <jim@meyering.net>
80142
80143         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80144         Patch by Joerg Sonnenberger.
80145
80146 2006-01-10  Bruno Haible  <bruno@clisp.org>
80147
80148         * modules/readutmp: Depend on module free.
80149         * modules/strtok_r: Depend on module restrict.
80150
80151 2006-01-10  Bruno Haible  <bruno@clisp.org>
80152
80153         * modules/gettext (configure.ac): Add an invocation of
80154         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80155
80156 2006-01-10  Bruno Haible  <bruno@clisp.org>
80157
80158         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80159         Reported by Werner Lemberg <wl@gnu.org>.
80160
80161 2006-01-10  Bruno Haible  <bruno@clisp.org>
80162
80163         * lib/localcharset.c: Update from GNU gettext.
80164
80165 2006-01-10  Bruno Haible  <bruno@clisp.org>
80166
80167         * lib/argp.h (__const): Remove macro. Use const instead.
80168         * lib/argp-fmtstream.h (__const): Likewise.
80169         * lib/glob_.h (__const): Remove macro.
80170         * lib/glob-libc.h: Use const instead of __const.
80171
80172 2006-01-10  Bruno Haible  <bruno@clisp.org>
80173
80174         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80175         variable.
80176         Needed to avoid an automake error regarding the 'gettext' module.
80177
80178 2006-01-09  Simon Josefsson  <jas@extundo.com>
80179
80180         * modules/inet_ntop (Depends-on): Add restrict.
80181
80182 2006-01-09  Simon Josefsson  <jas@extundo.com>
80183
80184         * modules/gc-rijndael-tests (License): Put under LGPL.
80185
80186         * modules/gc-des-tests (License): Likewise.
80187
80188         * modules/gc-arcfour-tests (License): Likewise.
80189
80190         * modules/gc-arctwo-tests (License): Likewise.
80191
80192         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80193
80194         * modules/gc-hmac-sha1-tests (Files): Likewise.
80195
80196         * modules/gc-hmac-md5-tests (License): Likewise.
80197
80198         * modules/gc-sha1-tests (License): Likewise.
80199
80200         * modules/gc-md5-tests (License): Likewise.
80201
80202         * modules/gc-md4-tests (License): Likewise.
80203
80204         * modules/gc-md2-tests (License): Likewise.
80205
80206         * modules/gc-tests (License): Likewise.
80207
80208         * modules/des-tests (License): Likewise.
80209
80210         * modules/md4-tests (License): Likewise.
80211
80212         * modules/md2-tests (License): Likewise.
80213
80214 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80215
80216         Sync from coreutils:
80217
80218         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80219         * modules/lib-ignore: New file.
80220         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80221         chdir-safer.m4, lchmod.m4.
80222         * modules/openat: Add mkdirat.c, openat-priv.h.
80223
80224 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80225
80226         Sync from coreutils.
80227         * m4/lib-ignore.m4: New file.
80228         * m4/lchmod.m4: New file.
80229
80230 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80231
80232         Sync from coreutils.
80233         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80234         for write access: POSIX says that must fail.
80235         * lib/fts.c (diropen): Likewise.
80236         * lib/save-cwd.c (save_cwd): Likewise.
80237         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80238         well, for minor improvements on hosts that lack O_DIRECTORY.
80239         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80240         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80241         Fall back on chown if open failed with EACCES.
80242
80243         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80244         Report an error at compile-time if only a 1-second nominal clock
80245         resolution is found.
80246
80247         * lib/lchmod.h: New file.
80248         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80249         (make_dir_parents): Use lchown rather than chown, and
80250         lchmod rather than chmod.
80251
80252         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80253         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80254         "proc" reported by n0dalus.
80255
80256         * lib/mountlist.c: Include <limits.h>.
80257         (dev_from_mount_options)
80258         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80259         New function.  It no longer assumes "dev=" has the System V meaning
80260         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80261         (read_file_system_list)
80262         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80263         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80264         dev= in that case.
80265
80266         * lib/posixtm.h (PDS_PRE_2000): New macro.
80267         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80268         allow_century.  All usages changed.  Reject dates outside the range
80269         1969-1999 if PDS_PRE_2000 is used.
80270
80271 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80272
80273         Sync from coreutils.
80274         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80275         (Time of day items): Mention the possibility of leap seconds.
80276         Problem reported by Dr. David Alan Gilbert.
80277
80278 2006-01-09  Jim Meyering  <jim@meyering.net>
80279
80280         Sync from coreutils.
80281
80282         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80283
80284         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80285
80286         * lib/modechange.c (mode_compile): Reject an invalid mode string
80287         that starts with an octal digit.  From Andreas Gruenbacher.
80288
80289         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80290         and dup to open_safer and dup_safer, respectively.
80291         (openat_permissive): Fix typo in comment.
80292
80293         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80294         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80295         (_): Remove; no longer needed.
80296         (openat): Renamed from rpl_openat; no need for rpl_openat
80297         since openat.h renames openat for us.
80298         Replace most of the body with a call to openat_permissive,
80299         to avoid duplicate code.
80300         Port to (probably hypothetical) environments were mode_t is
80301         wider than int.
80302         (openat_permissive): Require mode arg, so that we can check
80303         types better.  Put it just after flags.  Change cwd failure
80304         indicator from pointer-to-bool to pointer-to-errno-value.
80305         All callers changed.
80306         Invoke openat_save_fail and/or openat_restore_fail if
80307         cwd_errno is null, so that openat can call us.
80308         (openat_permissive, fdopendir, fstatat, unlinkat):
80309         Simplify errno handling to avoid some duplicate code,
80310         as it's OK to set errno on success.
80311         * lib/openat.h: Revamp code so that function macros depend on
80312         __OPENAT_PREFIX only, not also on AT_FDCWD.
80313         (openat_ro): Remove.  Caller changed to use openat_permissive.
80314         (openat_permissive): Now a macro, if not a function.
80315         (openat_restore_fail, openat_save_fail): Now always functions,
80316         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80317
80318         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80319         and openat.c.
80320         * lib/mkdirat.c: Include openat-priv.h.
80321         Remove definitions of macros defined therein.
80322         * lib/openat.c: Likewise.
80323
80324         * lib/mkdirat.c (mkdirat): New file and function.
80325         * lib/openat.h (mkdirat): Declare.
80326
80327         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80328
80329         * lib/openat.h (openat_permissive): Declare.
80330         (openat_ro): Define.
80331
80332         * lib/openat.c (EXPECTED_ERRNO): New macro.
80333         (openat_permissive): New function -- used in remove.c rewrite.
80334         (all functions): Set errno just before returning, only if there
80335         was an actual failure.
80336         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80337
80338         Emulate openat-family functions using Linux's procfs, if possible.
80339         Idea and some code based on Ulrich Drepper's glibc changes.
80340
80341         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80342         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80343         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80344         before falling back on save_cwd and restore_cwd.
80345         (fdopendir, fstatat, unlinkat): Likewise.
80346
80347         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80348         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80349
80350         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80351         as second argument to va_arg.  Otherwise, some versions of gcc
80352         warn that `if this code is reached, the program will abort'.
80353
80354 2006-01-09  Jim Meyering  <jim@meyering.net>
80355
80356         Sync from coreutils.
80357         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80358         Require openat-priv.h.
80359
80360 2006-01-09  Bruno Haible  <bruno@clisp.org>
80361
80362         * modules/strnlen (Include): Use strnlen.h.
80363
80364 2006-01-09  Bruno Haible  <bruno@clisp.org>
80365
80366         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80367
80368 2006-01-09  Bruno Haible  <bruno@clisp.org>
80369
80370         * lib/sysexit_.h (EX_OK): New macro.
80371         Suggested by Martin Lambers <marlam@marlam.de>.
80372
80373 2006-01-09  Bruno Haible  <bruno@clisp.org>
80374
80375         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80376         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80377
80378 2006-01-09  Bruno Haible  <bruno@clisp.org>
80379
80380         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80381         numbers.
80382
80383 2006-01-09  Bruno Haible  <bruno@clisp.org>
80384
80385         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80386         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80387         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80388         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80389
80390 2006-01-09  Bruno Haible  <bruno@clisp.org>
80391
80392         * build-aux/javacomp.sh.in: New file, moved from lib/.
80393         * modules/javacomp-script (Files): Update.
80394         (configure.ac): Add AC_CONFIG_FILES invocation.
80395         (EXTRA_DIST): Remove variable.
80396
80397         * build-aux/javaexec.sh.in: New file, moved from lib/.
80398         * modules/javaexec (Files): Update.
80399         (configure.ac): Add AC_CONFIG_FILES invocation.
80400         (EXTRA_DIST): Remove javaexec.sh.in.
80401
80402         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80403         * modules/csharpcomp-script (Files): Update.
80404         (configure.ac): Add AC_CONFIG_FILES invocation.
80405         (EXTRA_DIST): Remove variable.
80406
80407         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80408         * modules/csharpexec (Files): Update.
80409         (configure.ac): Add AC_CONFIG_FILES invocation.
80410         (EXTRA_DIST): Remove csharpexec.sh.in.
80411
80412 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80413
80414         Sync from coreutils.
80415
80416         Add POSIX ACL support
80417         * lib/acl.h (copy_acl, set_acl): Add declarations.
80418         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80419         systems other than Linux.
80420         (chmod_or_fchmod): New function: use fchmod when possible,
80421         and chmod otherwise.
80422         (file_has_acl): Add a POSIX ACL implementation, with a
80423         Linux-specific subcase.
80424         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80425         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80426         acls are unsupported.
80427         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80428         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80429         are unsupported.
80430
80431 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80432
80433         Sync from coreutils.
80434         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80435
80436 2006-01-07  Bruno Haible  <bruno@clisp.org>
80437
80438         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80439         gl_EARLY.
80440
80441 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80442
80443         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80444         Problem reported for Mingw by Mark Junker.
80445
80446 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         * README: Gnulib normally doesn't generate a tarball.
80449
80450 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80451
80452         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80453         long int, not int, for nanosecond counts, so that people who are
80454         used to POSIX struct timespec won't be surprised.  Reported by Jim
80455         Meyering.
80456
80457 2005-12-28  Bruno Haible  <bruno@clisp.org>
80458
80459         * build-aux/config.rpath: Update from GNU gettext.
80460
80461 2005-12-16  Jim Meyering  <jim@meyering.net>
80462
80463         * modules/fprintftime: New module.
80464         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80465
80466 2005-12-16  Jim Meyering  <jim@meyering.net>
80467
80468         * m4/fprintftime.m4: New file.
80469
80470 2005-12-16  Jim Meyering  <jim@meyering.net>
80471
80472         * lib/fprintftime.c, lib/fprintftime.h: New files.
80473
80474 2005-12-15  Simon Josefsson  <jas@extundo.com>
80475
80476         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80477         new m4/socklen.m4.
80478
80479 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80480
80481         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80482         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80483
80484 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80485
80486         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80487         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80488         struct uparams is valid. Fall back to the default values if it is
80489         not.
80490
80491 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80492
80493         * modules/argp (Files): Add argp-pin.c
80494         (Depends-on): dirname
80495         (lib_SOURCES): Add argp-pin.c
80496
80497 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80498
80499         * m4/argp.m4:  Check if program_invocation_name and
80500         program_invocation_short_name are declared and define appropriate
80501         macros if they are not.
80502
80503 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80504
80505         * lib/argp-help.c (__argp_base_name): New function
80506         (__argp_short_program_name): Rewrite using __argp_base_name
80507         * lib/argp-namefrob.h: Define program_invocation_name and
80508         program_invocation_short_name if requested
80509         (__argp_base_name): Add prototype
80510         * lib/argp-parse.c (argp_def): Use gettext wrappers
80511         (argp_default_parser): Use __argp_base_name
80512         * lib/argp-pin.c: New file. Defines program_invocation_name and
80513         program_invocation_short_name on systems that lack them.
80514
80515 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80516
80517         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80518         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80519         porting problem reported by Georg Schwarz in
80520         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80521
80522 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80523
80524         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): 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-05  Bruno Haible  <bruno@clisp.org>
80530
80531         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80532         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80533         Reported by Mark Junker <mjscod@gmx.de>.
80534
80535 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80536
80537         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80538         Use implementation from Albert Chin, with some
80539         comments/corrections by Stepan Kasal and myself.
80540
80541 2005-12-02  Bruno Haible  <bruno@clisp.org>
80542
80543         * gnulib-tool (func_import): Accept GPLed build tool modules when
80544         --lgpl is given.
80545         * modules/csharpcomp-script: New file.
80546         * modules/csharpcomp: Depend on it.
80547         * modules/javacomp-script: New file.
80548         * modules/javacomp: Depend on it.
80549         Suggested by Simon Josefsson.
80550
80551 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80552
80553         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80554         statement, to work around an HP-UX 10.20 compiler bug reported by
80555         Peter O'Gorman.
80556
80557 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80558
80559         * modules/savedir (Depends-on): Add openat.
80560
80561 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80562
80563         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80564         (uintmax_t) [defined uintmax_t]: Do not declare.
80565         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80566         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80567         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80568         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80569         sake of portability to weird hosts that C allows (though we don't
80570         know of any practical examples).
80571
80572         * lib/savedir.h (fdsavedir): New decl.
80573         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80574         contains most of the former guts of savedir.
80575         (savedir): Use savedirstream.
80576         Include "openat.h".
80577
80578 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80579
80580         * modules/obstack (Files): Add m4/ulonglong.m4.
80581         Problem reported by Davide Angelocola.
80582
80583 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80584
80585         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80586         coreutils no longer futzes with rounding modes.
80587
80588 2005-11-14  Jim Meyering  <jim@meyering.net>
80589
80590         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80591         replacement of mkstemp.
80592
80593 2005-11-10  Simon Josefsson  <jas@extundo.com>
80594
80595         * lib/readline.c: Remove EOL.
80596
80597 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80598
80599         * modules/gethrxtime (Depends-on): Add gettime.
80600
80601 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80602
80603         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80604         or gettimeofday; no longer needed.
80605
80606 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80607
80608         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80609         time business.
80610         (gethrxtime) [! (HAVE_NANOUPTIME
80611         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80612         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80613         our own approximation.
80614
80615 2005-11-08  Eric Blake  <ebb9@byu.net>
80616
80617         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80618
80619 2005-11-08  Eric Blake  <ebb9@byu.net>
80620
80621         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80622
80623 2005-11-04  Bruno Haible  <bruno@clisp.org>
80624
80625         * gnulib-tool: Implement --update mode.
80626
80627 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80628
80629         Fix porting problem reported by Theodoros V. Kalamatianos.
80630         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80631         Don't assume that futimes failing means we must fail.
80632
80633 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80634
80635         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80636         variables to suggest the intended function of the PATH_MAX check.
80637
80638 2005-10-30  Kean Johnston  <jkj@sco.com>
80639
80640         Trivial changes to support SCO systems.
80641         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80642         as PATH_MAX.
80643         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80644         where __ptr is null when no I/O is pending.
80645
80646 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80647
80648         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80649         leave errno alone.  Problem reported by Dmitry V. Levin.
80650
80651 2005-10-28  Simon Josefsson  <jas@extundo.com>
80652
80653         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80654         Test more.
80655
80656         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80657
80658         * modules/md2, modules/md2-tests: New files.
80659
80660 2005-10-28  Simon Josefsson  <jas@extundo.com>
80661
80662         * m4/inet_ntop.m4: More tests.
80663
80664         * m4/gc-md2.m4, md2.m4: New file.
80665
80666 2005-10-28  Simon Josefsson  <jas@extundo.com>
80667
80668         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
80669         "restrict" keywords, as per POSIX.  Protect the function
80670         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
80671         Don't use K&R prototypes.  Check the sprintf return values.
80672         Re-define EAFNOSUPPORT if not present.  Indent.
80673
80674         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
80675         suggested by Bruno Haible <bruno@clisp.org>.
80676
80677         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
80678
80679         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
80680
80681         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
80682         libgcrypt).
80683
80684         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80685
80686         * lib/md2.h, lib/md2.c: New files.
80687
80688 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80689
80690         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80691         errno alone.  Problem reported by Frederic Jolliton.
80692
80693 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80694
80695         * modules/verify (License): Change from GPL to LGPL.  This is a
80696         tiny module and there are apparently near-equivalents that are
80697         under the BSD license.
80698
80699 2005-10-24  Simon Josefsson  <jas@extundo.com>
80700
80701         * modules/sha1: Relicense to LGPL.
80702
80703 2005-10-24  Simon Josefsson  <jas@extundo.com>
80704
80705         * lib/md4.h: Shrink buffer size, now that we changed the type.
80706
80707 2005-10-23  Simon Josefsson  <jas@extundo.com>
80708
80709         * gnulib-tool (func_import): Fix --tests-base.
80710
80711 2005-10-22  Simon Josefsson  <jas@extundo.com>
80712
80713         * modules/arcfour (Depends-on): Need stdint.
80714
80715 2005-10-22  Simon Josefsson  <jas@extundo.com>
80716
80717         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80718         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80719
80720 2005-10-22  Simon Josefsson  <jas@extundo.com>
80721
80722         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80723         suggested by Bruno Haible <bruno@clisp.org>.
80724
80725 2005-10-22  Simon Josefsson  <jas@extundo.com>
80726
80727         * lib/crc.h: Include stddef.h, for size_t.
80728
80729 2005-10-22  Simon Josefsson  <jas@extundo.com>
80730
80731         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80732         arcfour_context struct (simplify test vector testing in GNU
80733         Shishi).
80734
80735 2005-10-21  Simon Josefsson  <jas@extundo.com>
80736
80737         * modules/des, modules/des-tests: New files.
80738
80739         * modules/gc-des, modules/gc-des-tests: New files.
80740
80741         * tests/test-des.c, tests/test-gc-des.c: New file.
80742
80743 2005-10-21  Simon Josefsson  <jas@extundo.com>
80744
80745         * modules/arctwo, modules/arctwo-tests: New files.
80746
80747         * tests/test-arctwo.c: New file.
80748
80749         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80750
80751         * tests/test-gc-arctwo.c: New file.
80752
80753 2005-10-21  Simon Josefsson  <jas@extundo.com>
80754
80755         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80756         Bruno Haible <bruno@clisp.org>.
80757
80758         * m4/gc-des.m4: New file.
80759
80760 2005-10-21  Simon Josefsson  <jas@extundo.com>
80761
80762         * m4/arctwo.m4: New file.
80763
80764         * m4/gc-arctwo.m4: New file.
80765
80766 2005-10-21  Simon Josefsson  <jas@extundo.com>
80767
80768         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80769         block.
80770
80771 2005-10-21  Simon Josefsson  <jas@extundo.com>
80772
80773         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80774         <bruno@clisp.org>.
80775
80776         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80777
80778         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80779         Bruno Haible <bruno@clisp.org>.
80780
80781         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80782         <bruno@clisp.org>.
80783
80784 2005-10-21  Simon Josefsson  <jas@extundo.com>
80785
80786         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80787
80788 2005-10-21  Simon Josefsson  <jas@extundo.com>
80789
80790         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80791
80792 2005-10-21  Simon Josefsson  <jas@extundo.com>
80793
80794         * lib/des.h, lib/des.c: New files.
80795
80796         * lib/gc-gnulib.c: Support DES.c
80797
80798 2005-10-21  Simon Josefsson  <jas@extundo.com>
80799
80800         * lib/arctwo.h, lib/arctwo.c: New files.
80801
80802         * lib/gc-gnulib.c: Support ARCTWO.
80803
80804 2005-10-21  Simon Josefsson  <jas@extundo.com>
80805
80806         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80807         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80808
80809 2005-10-21  Simon Josefsson  <jas@extundo.com>
80810
80811         * gnulib-tool (func_import, func_create_testdir): Define automake
80812         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80813         Makefile.am snippet),
80814         suggested by Bruno Haible <bruno@clisp.org>.
80815
80816         * modules/gc (Makefile.am): Use it.
80817
80818 2005-10-21  Bruno Haible  <bruno@clisp.org>
80819
80820         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80821         patch.
80822
80823 2005-10-19  Simon Josefsson  <jas@extundo.com>
80824
80825         * tests/test-gc-rijndael.c: New file.
80826
80827         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80828
80829 2005-10-19  Simon Josefsson  <jas@extundo.com>
80830
80831         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80832         interface too.
80833
80834 2005-10-19  Simon Josefsson  <jas@extundo.com>
80835
80836         * tests/test-gc-arcfour.c: New file.
80837
80838         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80839
80840 2005-10-19  Simon Josefsson  <jas@extundo.com>
80841
80842         * modules/gc-md4, modules/gc-md4-tests: New file.
80843
80844         * tests/test-gc-md4.c: New file.
80845
80846 2005-10-19  Simon Josefsson  <jas@extundo.com>
80847
80848         * m4/gc-md4.m4: New file.
80849
80850 2005-10-19  Simon Josefsson  <jas@extundo.com>
80851
80852         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80853         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80854         <kasal@ucw.cz>.
80855
80856 2005-10-19  Simon Josefsson  <jas@extundo.com>
80857
80858         * m4/gc-arcfour.m4: New file.
80859
80860         * m4/gc-rijndael.m4: New file.
80861
80862 2005-10-19  Simon Josefsson  <jas@extundo.com>
80863
80864         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80865
80866 2005-10-19  Simon Josefsson  <jas@extundo.com>
80867
80868         * lib/gc-gnulib.c: Support ARCFOUR.
80869
80870 2005-10-19  Simon Josefsson  <jas@extundo.com>
80871
80872         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80873         support.
80874
80875         * lib/gc.h: Add ECB enum type.
80876
80877         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80878
80879 2005-10-18  Simon Josefsson  <jas@extundo.com>
80880
80881         * tests/test-md5.c: New file.
80882
80883         * modules/md5-tests: New file.
80884
80885 2005-10-18  Simon Josefsson  <jas@extundo.com>
80886
80887         * tests/test-md4.c: New file.
80888
80889         * modules/md4, modules/md4-tests: New files.
80890
80891 2005-10-18  Simon Josefsson  <jas@extundo.com>
80892
80893         * m4/md4.m4: New file.
80894
80895 2005-10-18  Simon Josefsson  <jas@extundo.com>
80896
80897         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80898
80899 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80900
80901         * gnulib-tool (func_create_testdir): Omit the second check whether
80902         BUILT_SOURCES in nonempty.
80903
80904 2005-10-17  Simon Josefsson  <jas@extundo.com>
80905
80906         * tests/test-rijndael.c: New file.
80907
80908 2005-10-17  Simon Josefsson  <jas@extundo.com>
80909
80910         * modules/sha1: Depend on stdint instead of md5.
80911
80912         * modules/md5: Depend on stdint, remove uint32_t.
80913
80914 2005-10-17  Simon Josefsson  <jas@extundo.com>
80915
80916         * modules/gc-sha1-tests: New file.
80917
80918         * tests/test-gc-sha1.c: New file.
80919
80920 2005-10-17  Simon Josefsson  <jas@extundo.com>
80921
80922         * m4/md5.m4: Remove call to uint32_t.m4.
80923
80924 2005-10-17  Simon Josefsson  <jas@extundo.com>
80925
80926         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80927
80928         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80929         md5.h.
80930
80931         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80932
80933         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80934
80935 2005-10-17  Simon Josefsson  <jas@extundo.com>
80936
80937         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80938
80939 2005-10-17  Simon Josefsson  <jas@extundo.com>
80940
80941         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80942
80943 2005-10-17  Simon Josefsson  <jas@extundo.com>
80944
80945         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80946
80947         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80948
80949 2005-10-17  Bruno Haible  <bruno@clisp.org>
80950
80951         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80952         that it can also be used in a test.
80953
80954 2005-10-16  Bruno Haible  <bruno@clisp.org>
80955
80956         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80957         TESTS_ENVIRONMENT, so that individual tests can augment it.
80958
80959         * gnulib-tool (func_create_testdir): Use an intermediate target for
80960         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80961         macros, like $(ALLOCA_H), which cannot be passed through the command
80962         line.
80963
80964 2005-10-15  Simon Josefsson  <jas@extundo.com>
80965
80966         * modules/rijndael-tests: New file.
80967
80968         * modules/rijndael: New file.
80969
80970 2005-10-15  Simon Josefsson  <jas@extundo.com>
80971
80972         * m4/rijndael.m4: New file.
80973
80974 2005-10-15  Simon Josefsson  <jas@extundo.com>
80975
80976         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80977
80978         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80979
80980 2005-10-14  Simon Josefsson  <jas@extundo.com>
80981
80982         * tests/test-arcfour.c: New file.
80983
80984         * modules/arcfour, modules/arcfour-tests: New files.
80985
80986 2005-10-14  Simon Josefsson  <jas@extundo.com>
80987
80988         * m4/arcfour.m4: New file.
80989
80990 2005-10-14  Simon Josefsson  <jas@extundo.com>
80991
80992         * lib/arcfour.h, lib/arcfour.c: New files.
80993
80994 2005-10-14  Roland McGrath  <roland@redhat.com>
80995
80996         Import from libc.  [BZ #1331]
80997         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
80998         macro argument.
80999         Reported by Matej Vela <vela@debian.org>.
81000
81001 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81004         include <wchar.h>; no longer needed.
81005
81006 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81007
81008         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81009
81010 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81011         and  Ulrich Drepper  <drepper@redhat.com>
81012
81013         Import from libc.
81014         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81015         instead of inline stream orientation test and two separate
81016         function calls.  Pay no attention to USE_IN_LIBIO.
81017
81018 2005-10-13  Simon Josefsson  <jas@extundo.com>
81019
81020         * modules/gc-hmac-md5-tests: New file.
81021
81022         * tests/test-gc-hmac-sha1.c: New file.
81023
81024         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81025
81026         * modules/gc-hmac-md5-tests: New file.
81027
81028         * tests/test-gc-md5.c: New file.
81029
81030         * modules/gc-md5-tests: New file.
81031
81032 2005-10-13  Simon Josefsson  <jas@extundo.com>
81033
81034         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81035         Move memory allocation outside of loop.
81036
81037 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81038
81039         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81040         intermediate directory is in a read-only file system.  Problem
81041         reported by Eric Blake.
81042
81043 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81044
81045         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81046
81047 2005-10-12  Simon Josefsson  <jas@extundo.com>
81048
81049         * tests/test-hmac-sha1.c: New file.
81050
81051         * modules/hmac-sha1-tests: New file.
81052
81053         * modules/hmac-sha1: New file.
81054
81055 2005-10-12  Simon Josefsson  <jas@extundo.com>
81056
81057         * modules/gc-sha1: New file.
81058
81059 2005-10-12  Simon Josefsson  <jas@extundo.com>
81060
81061         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81062
81063         * tests/test-gc-pbkdf2-sha1.c: New file.
81064
81065 2005-10-12  Simon Josefsson  <jas@extundo.com>
81066
81067         * modules/gc-md5, modules/gc-hmac-md5: New files.
81068
81069         * modules/gc (Files): Remove md5, memxor and hmac files.
81070
81071 2005-10-12  Simon Josefsson  <jas@extundo.com>
81072
81073         * m4/gc-pbkdf2-sha1.m4: New file.
81074
81075         * m4/gc-hmac-sha1.m4: New file.
81076
81077         * m4/gc-sha1: New file.
81078
81079         * m4/hmac-sha1.m4: New file.
81080
81081 2005-10-12  Simon Josefsson  <jas@extundo.com>
81082
81083         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81084
81085         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81086
81087 2005-10-12  Simon Josefsson  <jas@extundo.com>
81088
81089         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81090         suggested by Bruno Haible <bruno@clisp.org>.
81091
81092 2005-10-12  Simon Josefsson  <jas@extundo.com>
81093
81094         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81095
81096 2005-10-12  Simon Josefsson  <jas@extundo.com>
81097
81098         * lib/gc-pbkdf2-sha1.c: New file.
81099
81100         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81101
81102 2005-10-12  Simon Josefsson  <jas@extundo.com>
81103
81104         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81105
81106         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81107
81108 2005-10-12  Simon Josefsson  <jas@extundo.com>
81109
81110         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81111         GC_USE_HMAC_MD5, respectively.
81112
81113         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81114         (gc_md5): Fix typo.
81115
81116         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81117
81118         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81119
81120         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81121
81122 2005-10-12  Bruno Haible  <bruno@clisp.org>
81123
81124         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81125         Reported by Stepan Kasal <kasal@ucw.cz>.
81126
81127 2005-10-11  Simon Josefsson  <jas@extundo.com>
81128
81129         * tests/test-crc.c: New file.
81130
81131         * modules/crc, modules/crc-tests: New files.
81132
81133 2005-10-11  Simon Josefsson  <jas@extundo.com>
81134
81135         * m4/crc.m4: New file.
81136
81137 2005-10-11  Simon Josefsson  <jas@extundo.com>
81138
81139         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81140
81141         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81142
81143         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81144
81145 2005-10-11  Simon Josefsson  <jas@extundo.com>
81146
81147         * lib/crc.h, lib/crc.c: New files.
81148
81149         * lib/gc.h (gc_hash_buffer): Add doc.
81150
81151 2005-10-11  Bruno Haible  <bruno@clisp.org>
81152
81153         * modules/c-strcasestr: New file.
81154         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81155
81156 2005-10-11  Bruno Haible  <bruno@clisp.org>
81157
81158         * modules/c-strcase: New file.
81159         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81160
81161 2005-10-11  Bruno Haible  <bruno@clisp.org>
81162
81163         * lib/strcasecmp.c: Include limits.h.
81164         (strcasecmp): Avoid integer overflow on exotic platforms.
81165         * lib/strncasecmp.c: Include limits.h.
81166         (strncasecmp): Avoid integer overflow on exotic platforms.
81167         Reported by Paul Eggert.
81168
81169 2005-10-11  Bruno Haible  <bruno@clisp.org>
81170
81171         * lib/c-strcasestr.h: New file, from GNU gettext.
81172         * lib/c-strcasestr.c: New file, from GNU gettext.
81173
81174 2005-10-11  Bruno Haible  <bruno@clisp.org>
81175
81176         * lib/c-strcase.h: New file, from GNU gettext.
81177         * lib/c-strcasecmp.c: New file, from GNU gettext.
81178         * lib/c-strncasecmp.c: New file, from GNU gettext.
81179
81180 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81181
81182         * modules/mempcpy (License): GPL -> LGPL.
81183         * modules/strchrnul (License): Likewise.
81184         * modules/sysexits (License): Likewise.
81185
81186 2005-10-08  Simon Josefsson  <jas@extundo.com>
81187
81188         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81189
81190 2005-10-07  Simon Josefsson  <jas@extundo.com>
81191
81192         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81193
81194 2005-10-06  Simon Josefsson  <jas@extundo.com>
81195
81196         * tests/test-hmac-md5.c: New file.
81197
81198         * modules/hmac-md5-tests: New file.
81199
81200         * modules/hmac-md5: New file.
81201
81202 2005-10-06  Simon Josefsson  <jas@extundo.com>
81203
81204         * m4/hmac-md5.m4: New file.
81205
81206         * m4/memxor.m4: Require gl_C_RESTRICT.
81207
81208 2005-10-06  Simon Josefsson  <jas@extundo.com>
81209
81210         * lib/memxor.c (memxor): Avoid casts and warnings.
81211
81212 2005-10-06  Simon Josefsson  <jas@extundo.com>
81213
81214         * lib/hmac-md5.c: New file.
81215
81216         * lib/hmac.h: New file.
81217
81218 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81219
81220         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81221         promotes to int, not unsigned int, to catch the AIX 5.3
81222         compiler bug.
81223
81224 2005-10-05  Simon Josefsson  <jas@extundo.com>
81225
81226         * modules/memxor: New file.
81227
81228         * modules/iconv (Files): Move config.rpath to havelib, it is used
81229         there.
81230
81231         * modules/havelib (Files): Add config.rpath.
81232
81233 2005-10-05  Simon Josefsson  <jas@extundo.com>
81234
81235         * m4/memxor.m4: New file.
81236
81237 2005-10-05  Simon Josefsson  <jas@extundo.com>
81238
81239         * lib/memxor.c (memxor): Fix compiler error.
81240
81241         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81242         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81243
81244         * lib/memxor.h, lib/memxor.c: New files.
81245
81246         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81247         we assume all systems have it, suggested by Jim Meyering
81248         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81249         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81250         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81251         same reasons.
81252
81253 2005-10-05  Simon Josefsson  <jas@extundo.com>
81254
81255         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81256
81257 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81258
81259         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81260         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81261         needed, since the source code now assumes these .h files.
81262
81263 2005-10-05  Derek Price  <derek@ximbiot.com>
81264
81265         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81266
81267 2005-10-05  Bruno Haible  <bruno@clisp.org>
81268
81269         * modules/stdint (License): Change to LGPL.
81270
81271 2005-10-04  Simon Josefsson  <jas@extundo.com>
81272
81273         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81274         D. Baushke" <mdb@gnu.org>.
81275
81276 2005-10-04  Bruno Haible  <bruno@clisp.org>
81277
81278         * lib/verify.h (verify_true): Provide alternative definition for C++.
81279
81280 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81281
81282         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81283         (SSIZE_MAX): New macro, if not already defined.
81284         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81285         than 2 GiB.
81286
81287 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81288
81289         Sync from coreutils.
81290         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81291         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81292         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81293         ULLONG_MAX doesn't work with 2.7.2.1.
81294
81295 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81296
81297         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81298         From Ben Pfaff.
81299
81300         * modules/exclude (Depends-on): Depend on verify.
81301         * modules/strtoimax (Depends-on): Likewise.
81302         * modules/utimecmp (Depends-on): Likewise.
81303
81304 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81305
81306         * lib/exclude.c: Include verify.h.
81307         (verify): Remove.  All callers changed to use verify.h's version.
81308         * lib/strtoimax.c: Likewise.
81309         * lib/utimecmp.c: Likewis.e
81310
81311         Sync from coreutils.
81312         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81313         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81314         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81315         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81316         bother returning ENOSYS if settimeofday or stime fails; just let
81317         them return whatever errno they want to return.
81318         * lib/utimens.c: Include unistd.h, for dup2.
81319         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81320         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81321
81322 2005-10-02  Jim Meyering  <jim@meyering.net>
81323
81324         Sync from coreutils.
81325         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81326         from glibc-2.2.5 that fails for read-only files.
81327
81328 2005-10-02  Jim Meyering  <jim@meyering.net>
81329
81330         Sync from coreutils.
81331         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81332         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81333         `#if HAVE_CONFIG_H'.
81334         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81335         Remove AT_FDCWD test.
81336         Do not consume the fd unless successful.
81337         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81338         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81339         block, so that we don't even try to compile it if settimeofday is
81340         available.  This works around a compilation failure on OSF1 V5.1,
81341         due to stime requiring a `long int*' while tv_sec is `int'.
81342
81343 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81344
81345         Sync from coreutils.
81346         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81347         against `yes', rather than just testing for nonempty.
81348
81349 2005-10-01  Simon Josefsson  <jas@extundo.com>
81350
81351         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81352         and Darwin.
81353
81354         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81355         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81356         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81357         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81358         Check if struct addrinfo is declared.
81359
81360 2005-10-01  Simon Josefsson  <jas@extundo.com>
81361
81362         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81363         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81364         AI_* and EAI_* definitions.  Protect function declarations.
81365
81366 2005-10-01  Jim Meyering  <jim@meyering.net>
81367
81368         Sync from coreutils.
81369
81370         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81371         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81372         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81373         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81374         in the inet and nsl libraries.  Required on Solaris 5.7.
81375
81376 2005-10-01  Jim Meyering  <jim@meyering.net>
81377
81378         Sync from coreutils.
81379         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81380         in the inet and nsl libraries.  Required on Solaris 5.7.
81381
81382 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
81383
81384         * lib/getdelim.c (getdelim): Remove unused variables.
81385
81386 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81387
81388         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81389         so that the code works even with ancient cpp.  Portability problem
81390         with GCC 2.7.2.1 reported by Thomas M.Ott.
81391
81392 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81393
81394         * modules/regex (Depends-on): Add strcase.
81395
81396         * modules/gethostname (Licence): Change from GPL to LGPL, since
81397         gethostname.c is a trivial implementation of a standard library
81398         function.
81399         * modules/poll (License): Change from GPL to LGPL, since it's
81400         derived from LGPL code.
81401
81402 2005-09-27  Jim Meyering  <jim@meyering.net>
81403
81404         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81405         HAVE_CONFIG_H.
81406
81407         * lib/intprops.h (signed_type_or_expr__): Define.
81408         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81409         for unsigned types.
81410
81411 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81412
81413         * lib/verify.h (verify_expr): Remove, replacing with:
81414         (verify_true): New macro that returns true instead of void.
81415         (verify_type__): Remove.
81416         (verify): Use verify_true rather than verify_type__.
81417
81418 2005-09-26  Bruno Haible  <bruno@clisp.org>
81419
81420         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81421         is necessary.
81422         (lib_SOURCES): Remove mbchar.c.
81423         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81424         (Files): Add m4/mbrtowc.m4.
81425         * modules/mbiter: Likewise.
81426         * modules/mbuiter: Likewise.
81427
81428 2005-09-26  Bruno Haible  <bruno@clisp.org>
81429
81430         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81431         compile mbchar.c if they are not both present.
81432         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81433         * m4/mbiter.m4 (gl_MBITER): Likewise.
81434         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81435         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81436         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81437
81438 2005-09-25  Jim Meyering  <jim@meyering.net>
81439
81440         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81441         also uses socklen_t.
81442
81443 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81444
81445         * lib/utimens.c (ENOSYS): Define if not already defined.
81446         (futimens): Support having a null PATH if the file descriptor
81447         is nonnegative.
81448
81449         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81450         Remove.
81451         (__attribute): Define to empty unless GCC 3.1 or later.
81452         This works around a core dump on OpenBSD 3.4, which has GCC
81453         2.95.3, which dumps core when given __attribute__(()).  It also
81454         simplifies other tests, since we really don't want to bother with
81455         worrying about which ancient version of GCC supported what.
81456         Original problem reported by Yoann Vandoorselaere, with part of
81457         the fix suggested by Derek Price.
81458
81459 2005-09-24  Jim Meyering  <jim@meyering.net>
81460
81461         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81462         so we can once again use a positive bitfield width of 1 -- now we
81463         don't have to explain why we were using a bitfield width of 2.
81464
81465 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81466
81467         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81468         and similarly for the other external symbols.  Problem reported
81469         by James Gallager.
81470
81471         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81472         bug reported by Jim Meyering.
81473
81474         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81475         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81476         not needed, since socklen is a prerequisite module.
81477
81478 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81481         Problem reported by Eric Blake.
81482         (getaddrinfo): Initialize se so that it's not garbage.
81483         Redo internal storage allocation so that it doesn't make unportable
81484         assumptions about alignment.
81485         Fix a memory leak.
81486
81487         * lib/utimens.c (futimens): Use futimesat if available.
81488         Prefer it to futimes since it doesn't have the futimes bug.
81489
81490         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81491         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81492         Instead, declare a function that returns a pointer to an array,
81493         and use verify_type__ to declare the size of the array.
81494         Problem and germ of a solution reported by Bruno Haible.
81495         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81496         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81497
81498 2005-09-23  Jim Meyering  <jim@meyering.net>
81499
81500         Sync from coreutils.
81501         Correct build failure (socklen_t not defined) on at least
81502         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81503         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81504
81505 2005-09-23  Jim Meyering  <jim@meyering.net>
81506
81507         * modules/getaddrinfo (Depends-on): Add socklen.
81508
81509 2005-09-23  Bruno Haible  <bruno@clisp.org>
81510
81511         * tests/test-verify.c: New file.
81512
81513 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81514
81515         Sync from coreutils.
81516
81517         * modules/argmatch (Depends-on): Add verify.
81518         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81519         unistd-safer.
81520         * modules/save-cwd (Depends-on): Likewise.
81521
81522         * modules/openat (Files): Add lib/openat-die.c.
81523         (Depends-on): Remove error, exitfail.
81524         Add dirname.
81525
81526         * modules/verify: New file.
81527         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81528         with "verify" module.
81529
81530 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81531
81532         Sync from coreutils.
81533
81534         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81535         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81536         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81537         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81538         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81539         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81540         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81541         Don't bother checking for string.h, stdlib.h, unistd.h.
81542         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81543         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81544         module's job.
81545         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81546         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81547
81548         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81549         (gl_GETDATE): Use it.
81550
81551         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81552
81553 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         Sync from coreutils.
81556
81557         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81558         stat-time.h.
81559         * lib/argmatch.h: Include verify.h
81560         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81561         (ARGMATCH_ASSERT): Remove; unused.
81562         * lib/canonicalize.c: Assume STDC_HEADERS.
81563         * lib/exclude.c: Include "strcase.h".
81564         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81565         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81566         and stdio-safer.h.
81567         (getusershell): Call fopen, not fopen_safer.
81568         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81569         Do not include unistd-safer.h.
81570         (save_cwd): Don't call fd_safer; no longer needed
81571         now that we include fcntl--.h.
81572
81573         * lib/getdate.y (relative_time): New type.
81574         (RELATIVE_TIME_0): New constant.
81575         (parser_control): Use relative_time instead of doing it ourselves.
81576         (%union): Add new relative_time rel member.
81577         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81578         Now typeless.
81579         (relunit, relunit_snumber): Now of type rel.
81580         (zone, rel, relunit, get_date): Adjust to above changes.
81581
81582         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81583         Do not include unistd-safer.h.
81584         (getloadavg): Don't call fd_safer; no longer needed
81585         now that we include fcntl--.h.
81586
81587         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81588         (make_dir_parents): Treat ENOSYS like EEXIST.
81589
81590         Improve quality of diagnostics on restore_cwd failure.
81591         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81592         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81593         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81594         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81595         each time through the loop.  Do not diagnose restore_cwd failure;
81596         that is the caller's job (and perhaps the caller does not care).
81597
81598         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81599         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81600         If the file already exists but is not a directory, don't bother
81601         to try to make its parents.
81602         Close potential file descriptor leak if we can't chdir("/") (!).
81603         Don't always return true if chdir($PWD) fails; return true only
81604         if the requested action was done successfully (except for the
81605         chdir($PWD)).
81606         Don't log final directory unless we actually made it.
81607         Refactor to avoid duplicate code to fix up permissions.
81608         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81609
81610         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81611         to make it a bit faster and (I hope) clearer.
81612         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81613         Fix bug in formats like %2N.
81614
81615         * lib/verify.h: New file.
81616
81617 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81618
81619         Sync from coreutils.
81620         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81621
81622 2005-09-22  Jim Meyering  <jim@meyering.net>
81623
81624         Sync from coreutils.
81625
81626         * m4/lstat.m4 (gl_FUNC_LSTAT):
81627         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81628         Remove obsolete comment.
81629         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81630         * m4/xstrtod.m4: Likewise.
81631
81632         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81633
81634 2005-09-22  Jim Meyering  <jim@meyering.net>
81635
81636         Sync from coreutils.
81637
81638         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81639
81640         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81641         the .tm_year member, since otherwise gcc-4.0 would now warn about
81642         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81643
81644         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81645         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81646
81647         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81648         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81649         when run in a time zone for which daylight savings time is in effect
81650         for the starting date.
81651
81652         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81653         stop us from restricting permissions of just-created absolute-named
81654         directories.
81655         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81656         to restore initial working directory.
81657         * lib/mkdir-p.c (make_dir_parents): New parameter:
81658         different_working_dir, to tell caller if/when we change the working
81659         directory and are unable to return to the initial one.
81660         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81661         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
81662         `return false'.  This fixes a bug introduced on 2004-07-30.
81663
81664         * lib/openat.c (fdopendir): Be sure to close the supplied
81665         file descriptor before returning.  This makes our replacement
81666         implementation a little closer to Solaris's, where fdopendir
81667         ties the file descriptor to the returned DIR* pointer.
81668         * lib/openat.c (unlinkat): New function.
81669         * lib/openat.h (unlinkat): Add prototype.
81670         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
81671         (openat_restore_fail): Rename from openat_restore_die.
81672         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
81673
81674         Provide an alternative to exiting immediately upon save_cwd or
81675         restore_cwd failure.  Now, an application can arrange e.g.,
81676         to perform a longjump in that case.
81677         * lib/openat.c: Include dirname.h.
81678         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
81679         (rpl_openat, fdopendir, fstatat): Call openat_save_die
81680         and openat_restore_die rather than calling error directly.
81681         Don't include "error.h" or "exitfail.h"; they're no longer needed.
81682
81683         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
81684         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81685         define.
81686
81687         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81688         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81689                             int utc, int nanoseconds);
81690         Background:
81691         date should not have to allocate a megabyte of virtual memory to
81692         handle a format argument like +%1048575T.  When implemented with
81693         strftime, it must allocate such a buffer, use strftime to fill it
81694         in, print it, then free it.
81695         With fprintftime, it simply prints everything and exits.
81696         With no need for memory allocation, that's one fewer way to fail.
81697         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81698         optional field width, not before, so we accept %9:z, not %:9z.
81699         (my_strftime): Be sure to use L_('x') for literals.
81700
81701         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81702         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81703         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81704         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81705         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81706         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81707         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81708         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81709         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81710         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81711         * lib/xgethostname.c, lib/xreadlink.c:
81712         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81713
81714         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81715         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81716         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81717         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81718         and don't include <sys/file.h>).
81719
81720 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81721
81722         Sync from coreutils.
81723
81724         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81725         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81726         [!LDAV_DONE]: Avoid unused variable warning.
81727
81728 2005-09-21  Bruno Haible  <bruno@clisp.org>
81729
81730         * lib/unicodeio.h (unicode_to_mb): New declaration.
81731
81732 2005-09-20  Derek Price  <derek@ximbiot.com>
81733
81734         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81735         getaddrinfo.h.
81736
81737 2005-09-20  Bruno Haible  <bruno@clisp.org>
81738
81739         * gnulib-tool: Remove trailing slashes from the values specified for
81740         --source-base, --m4-base, --tests-base, --aux-dir.
81741         Suggested by Simon Josefsson <jas@extundo.com>.
81742
81743 2005-09-20  Bruno Haible  <bruno@clisp.org>
81744
81745         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81746         func_modules_to_filelist, func_import, func_create_testdir): Make all
81747         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81748         change when gnulib-tool is invoked in a different locale.
81749
81750 2005-09-19  Simon Josefsson  <jas@extundo.com>
81751
81752         * m4/socklen.m4: Fix typo.
81753
81754 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81755
81756         Use a consistent style for including <config.h>.
81757         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81758         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81759         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81760         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81761         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81762         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81763         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81764         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81765         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81766         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81767         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81768         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81769         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81770         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81771         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81772         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81773         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81774         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81775         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81776         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81777         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81778         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81779         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81780         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81781         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81782         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81783         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81784         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81785         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81786         lib/xstrtoumax.c, lib/yesno.c:
81787         Standardize inclusion of config.h.
81788         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81789         lib/inttostr.h:  Removed inclusion of config.h from header files.
81790         * lib/inttostr.c:  Adjusted in-tree users.
81791         * lib/timespec.h: Remove superfluous warning to include config.h.
81792         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81793         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81794         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81795         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81796         config.h with HAVE_CONFIG_H.
81797
81798 2005-09-19  Jim Meyering  <jim@meyering.net>
81799
81800         * modules/pathmax (License): Change to LGPL.
81801
81802 2005-09-19  Derek Price  <derek@ximbiot.com>
81803
81804         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81805
81806 2005-09-19  Bruno Haible  <bruno@clisp.org>
81807
81808         * gnulib-tool (import): Provide default for --tests-base.
81809
81810 2005-09-19  Bruno Haible  <bruno@clisp.org>
81811
81812         * doc/quote.texi: New file, extracted from gnulib.texi.
81813         * doc/ctime.texi: New file, extracted from gnulib.texi.
81814         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81815         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81816         * doc/gnulib.texi: Include them.
81817
81818 2005-09-18  Bruno Haible  <bruno@clisp.org>
81819
81820         Portability fix.
81821         * gnulib-tool (func_readlink): New function.
81822         (func_ln_if_changed): Use it.
81823
81824 2005-09-18  Bruno Haible  <bruno@clisp.org>
81825
81826         * gnulib-tool: Support --with-tests also with --import.
81827         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81828         (func_import): Use variables $testsbase and $inctests. Emit a
81829         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81830         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81831         SUBDIRS += $testsdir.
81832         (func_create_testdir): Update.
81833
81834 2005-09-18  Bruno Haible  <bruno@clisp.org>
81835
81836         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81837         instead of $dry_run.
81838         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81839         (func_ln_if_changed): Don't handle dry-run here.
81840         (func_import): In dry-run mode, detect more precisely which actions
81841         would be performed, and don't use "...ing" verbs.
81842
81843 2005-09-18  Bruno Haible  <bruno@clisp.org>
81844
81845         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81846         (func_import): Use join on two temporary files instead of three nested
81847         loops, in order to determine which files are new or old.
81848
81849 2005-09-18  Bruno Haible  <bruno@clisp.org>
81850
81851         * gnulib-tool (func_import): Comment out code that spits out the
81852         new files with --dry-run.
81853
81854 2005-09-18  Bruno Haible  <bruno@clisp.org>
81855
81856         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81857
81858 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81859
81860         * lib/stat-time.h: New file.
81861         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81862         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81863         in a different way.
81864         (timespec_cmp): New function.
81865         * lib/utimecmp.c: Include stat-time.h.
81866         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81867         members exist, not on the obsolescent ST_MTIM_NSEC.
81868         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81869
81870 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81871
81872         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81873
81874 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81875
81876         * MODULES.html.sh (File system functions): Add stat-time.
81877         * modules/stat-time: New file.
81878         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81879         is now done in a different way, by the stat-time module.
81880         * modules/utimecmp (Depends-on): Add stat-time.
81881
81882 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81883
81884         * m4/st_mtim.m4: Remove.  Superseded by...
81885         * m4/stat-time.m4: New file.
81886         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81887         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81888
81889 2005-09-15  Derek Price  <derek@ximbiot.com>
81890
81891         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81892
81893 2005-09-15  Derek Price  <derek@ximbiot.com>
81894
81895         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81896         * lib/regex_internal.c: Ditto, using this...
81897         (__GNUC_PREREQ): ...new macro.
81898         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81899         using...
81900         (__GNUC_PREREQ): ...this new macro.
81901
81902         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81903
81904 2005-09-15  Derek Price  <derek@ximbiot.com>
81905             Paul Eggert  <eggert@cs.ucla.edu>
81906
81907         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81908         changes, consolidating in...
81909         * lib/regex_internal.h: ...this file.
81910
81911 2005-09-13  Jim Meyering  <jim@meyering.net>
81912
81913         * lib/canon-host.c: Filter through gnu indent and reword comments
81914         slightly.
81915         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81916
81917 2005-09-13  Derek Price  <derek@ximbiot.com>
81918
81919         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81920         failure.
81921         Reported by Jim Meyering  <jim@meyering.net>.
81922
81923 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81924
81925         * lib/base64.c: Typo.
81926         (base64_encode): Put b64str in initialized data section.
81927
81928 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81929
81930         Merge glibc and coreutils changes into gnulib, plus a few
81931         extra fixes.
81932         * lib/md5.c: Use #error rather than a string.
81933         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81934         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81935         (__attribute__): Define to empty for non recent-GCC.
81936         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81937         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81938         Renamed from their non-__ counterparts, with new macros replacing
81939         them if not _LIBC.  Add __THROW attribute.
81940         (rol): Remove.
81941         (struct md5_ctx): Align buffer if using GCC.
81942         * lib/sha1.h (struct sha1_ctx): Likewise.
81943         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81944         The old name was backwards.
81945         (NOTSWAP): Remove; not used.
81946         (rol): New macro, moved here from md5.h.
81947         (sha1_process_block): Remove a FIXME that doesn't make sense.
81948
81949 2005-09-12  Derek Price  <derek@ximbiot.com>
81950
81951         Return usable errors from canon-host.
81952         * lib/canon-host.h: New file.
81953         * lib/canon-host.c (canon_host): Wrap...
81954         (canon_host_r): ...this new function, which now relies exclusively on
81955         getaddrinfo.
81956         (ch_strerror): New function.
81957         (last_cherror): New global.
81958         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81959         interface.
81960         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81961         void *.
81962         (freeaddrinfo): Free ai->ai_canonname when set.
81963
81964 2005-09-12  Derek Price  <derek@ximbiot.com>
81965
81966         Make canon-host require getaddrinfo.
81967         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81968         AC_LIBSOURCE canon-host.h.  Call...
81969         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81970         gl_GETADDRINFO.
81971         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81972
81973 2005-09-12  Derek Price  <derek@ximbiot.com>
81974
81975         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81976         LGPL.
81977         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81978
81979 2005-09-12  Derek Price  <derek@ximbiot.com>
81980
81981         * lib/gai_strerror.c: Include config.h when available.  Include
81982         getaddrinfo.h before other headers to test interface.
81983         Reported by Larry Jones <lawrence.jones@ugs.com>.
81984
81985 2005-09-12  Derek Price  <derek@ximbiot.com>
81986             Paul Eggert  <eggert@cs.ucla.edu>
81987
81988         * modules/glob (Files): Add glob-libc.h.
81989
81990 2005-09-12  Derek Price  <derek@ximbiot.com>
81991             Paul Eggert  <eggert@cs.ucla.edu>
81992
81993         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
81994         glob_.h, glob-libc.h.
81995         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
81996
81997 2005-09-12  Derek Price  <derek@ximbiot.com>
81998             Paul Eggert  <eggert@cs.ucla.edu>
81999
82000         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82001         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82002         protecting things that should be done only in gnulib contexts.
82003         * lib/glob_.h: New file, containing only the glob things needed for
82004         gnulib.
82005         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82006         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82007         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82008         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82009         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82010         and to respect the namespace rules better.
82011
82012 2005-09-08  Simon Josefsson  <jas@extundo.com>
82013
82014         * modules/socklen: New file.
82015
82016 2005-09-08  Simon Josefsson  <jas@extundo.com>
82017
82018         * m4/socklen.m4: New file.
82019
82020 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82021
82022         * modules/utimens (Files): Add m4/utimbuf.m4, since
82023         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82024         Reported by Sergey Poznyakoff.
82025
82026 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82027
82028         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82029         definitions, since that's the preferred style in glibc.
82030         Fix a minor spacing issue, and update copyright notice to match
82031         glibc's.
82032
82033 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82034
82035         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82036
82037 2005-09-06  Simon Josefsson  <jas@extundo.com>
82038
82039         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82040         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82041
82042 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82043
82044         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82045         warning.
82046
82047 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82048
82049         * config/srclist.txt: Add glibc bug 1302.
82050
82051 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82052
82053         Change bitset word type from unsigned int to unsigned long int,
82054         as this has better performance on typical 64-bit hosts.
82055         Port bitset code to hosts with unusual word sizes.
82056         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82057         (build_collating_symbol):
82058         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82059         argument is a bitset.  This is merely a style issue, but it makes
82060         it clearer that an entire array is expected.
82061         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82062         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82063         Port to the case where bitset_word is not the same as unsigned int.
82064         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82065         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82066         Likewise.
82067         * lib/regexec.c (check_dst_limits_calc_pos_1,
82068         check_subexp_matching_top):
82069         (build_trtable, group_nodes_into_DFAstates):
82070         Likewise.
82071         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82072         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82073         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82074         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82075         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82076         * lib/regcomp.c (optimize_subexps, lower_subexp):
82077         Work even if bitset_word has holes in its bitwise representation.
82078         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82079         * lib/regexec.c (check_dst_limits_calc_pos_1,
82080         check_subexp_matching_top):
82081         Likewise.
82082         * lib/regex_internal.c (re_string_reconstruct):
82083         Don't assume UCHAR_MAX == 255.
82084         * lib/regex_internal.h (bitset_set_all): Likewise.
82085         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82086         All uses changed.
82087         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82088         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82089         All uses changed.
82090         (BITSET_WORD_MAX): New macro.
82091         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82092         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82093         (bitset_empty, bitset_copy):
82094         Prefer sizeof (bitset) to multiplying it out ourselves.
82095         (bitset_not_merge): Remove; unused.
82096         (bitset_contain): Return bool, not unsigned int with one bit on.
82097         All callers changed.
82098         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82099         alignment than re_node_set; do this by defining a new internal
82100         type struct dests_alloc and using it to allocate memory.
82101
82102 2005-09-05  Bruno Haible  <bruno@clisp.org>
82103
82104         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82105         links.
82106
82107 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82108
82109         * modules/size_max (Makefile.am): Add size_max.h
82110
82111 2005-09-04  Derek Price  <derek@ximbiot.com>
82112
82113         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82114
82115 2005-09-03  Simon Josefsson  <jas@extundo.com>
82116
82117         * gnulib-tool: Fix typo.
82118
82119 2005-09-03  Simon Josefsson  <jas@extundo.com>
82120
82121         * config/srclist.txt: Add glibc bug 1293.
82122
82123 2005-09-03  Derek Price  <derek@ximbiot.com>
82124
82125         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82126         From Larry Jones <lawrence.jones@ugs.com>.
82127
82128 2005-09-02  Simon Josefsson  <jas@extundo.com>
82129
82130         * modules/socklen: New file.
82131
82132 2005-09-02  Simon Josefsson  <jas@extundo.com>
82133
82134         * modules/havelib: New module.
82135
82136         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82137         Use havelib.
82138
82139 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82140
82141         Check for arithmetic overflow when calculating sizes, to prevent
82142         some buffer-overflow issues.  These patches are conservative, in the
82143         sense that when I couldn't determine whether an overflow was possible,
82144         I inserted a run-time check.
82145         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82146         macros.
82147         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82148         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82149         (re_xnrealloc, re_x2nrealloc): New inline functions.
82150         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82151         parse_bracket_exp):
82152         (build_equiv_class, build_charclass): Check for arithmetic overflow
82153         in size expression calculations.
82154         * lib/regex_internal.c (re_string_realloc_buffers):
82155         (build_wcs_upper_buffer, re_node_set_add_intersect):
82156         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82157         (re_dfa_add_node, register_state): Likewise.
82158         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82159         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82160         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82161         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82162
82163 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82166         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82167
82168 2005-09-02  Bruno Haible  <bruno@clisp.org>
82169
82170         Support for lib vs. lib64 distinction on biarch platforms.
82171         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82172         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82173         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82174
82175 2005-09-02  Bruno Haible  <bruno@clisp.org>
82176
82177         * gnulib-tool (import): In the other first-use case, provide defaults
82178         as well.
82179
82180 2005-09-02  Bruno Haible  <bruno@clisp.org>
82181
82182         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82183         patches not yet found in the latest gettext release.
82184
82185 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82186
82187         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82188         to avoid a collision with bits/local_lim.h in glibc.
82189         All uses changed.  Problem reported by Dmitry V. Levin in
82190         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82191
82192         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82193         bugs in int versus size_t comparisons.
82194         (re_string_context_at): Fix bug where the code assumed that
82195         Idx is signed.
82196
82197         Use bool where appropriate.
82198         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82199         All callers changed.
82200         (calc_eclosure_iter): Likewise, for ROOT arg.
82201         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82202         (build_charclass_op): Likewise, for NON_MATCH arg.
82203         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82204         (re_string_construct_common): Likewise, for ICASE arg.
82205         * lib/regexec.c (re_search_2_stub, re_search_stub):
82206         Likewise, for RET_LEN arg.
82207         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82208         (set_regs): Likewise, for FL_BACKTRACK arg.
82209         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82210         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82211         (calc_eclosure_iter, parse_bracket_exp):
82212         Use bool for internal variables that are booleans.
82213         * lib/regexec.c (re_search_internal, check_matching,
82214         proceed_next_node):
82215         (set_regs, build_sifted_states, sift_states_bkref):
82216         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82217         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82218         (find_collation_sequence_value):
82219         Likewise.
82220         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82221         (re_node_set_compare):
82222         Return bool, not int. All callers changed.
82223         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82224         (build_trtable, check_node_accept): Likewise.
82225         * lib/regex_internal.h: Include stdbool.h.
82226
82227         Fix bugs uncovered when converting to bool.
82228         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82229         failure instead of charging ahead blindly.
82230         * lib/regex_internal.c (register_state): Likewise.
82231         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82232         for freeing internal storage.
82233         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82234         bitset pieces used as boolean, to avoid undefined behavior
82235         on hosts that do int overflow checking.
82236
82237 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82238
82239         * config/srclist.txt: Add glibc bugs 1285-1287.
82240
82241 2005-09-01  Jim Meyering  <jim@meyering.net>
82242
82243         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82244         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82245         Require gl_STAT_MACROS, too.
82246
82247 2005-09-01  Bruno Haible  <bruno@clisp.org>
82248
82249         * gnulib-tool (import): In the first-use case, provide defaults.
82250
82251 2005-09-01  Bruno Haible  <bruno@clisp.org>
82252
82253         * gnulib-tool (func_import): Remove the .tmp files.
82254
82255 2005-09-01  Bruno Haible  <bruno@clisp.org>
82256
82257         * gnulib-tool (func_import): Fix handling of symbolic links.
82258
82259 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82260
82261         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82262         old glibc regex code mishandles strings longer than 2**31 bytes.
82263         This patch fixes this when the regex code is used in gnulib
82264         (i.e., outside glibc).
82265
82266         This patch should not affect the use of the regex code inside
82267         glibc.  No doubt this problem also needs to be handled for glibc
82268         as well, but the result will be an incompatible change to the
82269         glibc ABI, and the old ABI will have to be supported too.  That
82270         can be the the subject for another patch.
82271
82272         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82273         governing whether the rest of this patch is active.  By default,
82274         the macro is disabled and the patch has no effect.
82275         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82276         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82277         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82278         (re_match_2, re_set_registers): Use the new types.
82279         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82280         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82281         New macros.
82282         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82283         (re_string_context_at, bin_tree_t, re_dfastate_t):
82284         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82285         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82286         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82287         (re_string_char_size_at, re_string_wchar_at):
82288         (re_string_elem_size_at):
82289         Use the new types and macros to port to 64-bit hosts.
82290         Use unsigned types for internal values, so that the code
82291         mostly works even for arrays larger than SSIZE_MAX.
82292         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82293         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82294         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82295         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82296         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82297         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82298         (calc_inveclosure, parse_dup_op, build_range_exp):
82299         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82300         (fetch_number, create_token_tree, mark_opt_subexp):
82301         Likewise.
82302         * lib/regex_internal.c (re_string_construct_common,
82303         create_ci_newstate):
82304         (create_cd_newstate, re_string_allocate, re_string_construct):
82305         (re_string_realloc_buffers, build_wcs_upper_buffer):
82306         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82307         (re_string_reconstruct, re_string_peek_byte_case):
82308         (re_string_fetch_byte_case, re_string_context_at):
82309         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82310         (re_node_set_init_copy, re_node_set_add_intersect):
82311         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82312         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82313         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82314         (re_acquire_state, re_acquire_state_context, register_state):
82315         Likewise.
82316         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82317         search_cur_bkref_entry):
82318         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82319         (re_search_internal, re_search_2_stub, re_search_stub)
82320         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82321         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82322         (update_cur_sifted_state, check_dst_limits):
82323         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82324         (check_subexp_limits, sift_states_bkref, merge_state_array):
82325         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82326         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82327         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82328         (expand_bkref_cache, check_node_accept_bytes):
82329         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82330         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82331         (acquire_init_state_context, check_halt_node_context):
82332         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82333         (sift_states_backward, clean_state_log_if_needed):
82334         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82335         (find_recover_state, transit_state_sb, transit_state_mb):
82336         (transit_state_bkref, build_trtable, match_ctx_clean):
82337         Likewise.
82338         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82339         to work around an assumption that REG_MISSING is negative.
82340
82341         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82342         (seek_collating_symbol_entry) [defined _LIBC]:
82343         (lookup_collation_sequence_value) [defined _LIBC]:
82344         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82345         Use prototypes rather than old-style function definitions.
82346         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82347         (transit_state_sb) [0]:
82348         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82349
82350         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82351         rm_eo.
82352
82353         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82354         (optimize_subexps, lower_subexp):
82355         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82356         since the signed shift might overflow.  Use 1u<<31 instead.
82357         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82358         Likewise.
82359         * lib/regexec.c (check_dst_limits_calc_pos_1,
82360         check_subexp_matching_top): Likewise.
82361
82362         * lib/regcomp.c (optimize_subexps, lower_subexp):
82363         Use CHAR_BIT rather than 8, for clarity.
82364         * lib/regexec.c (check_dst_limits_calc_pos_1):
82365         (check_subexp_matching_top): Likewise.
82366         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82367         have to worry about portability issues when shifting it left.
82368         Remove no-longer-needed test for table_size > 0.
82369         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82370         in a word, as the resulting behavior is undefined.
82371         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82372         in one case, a <= should have been an <, and in another case the
82373         whole test was missing.
82374         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82375         the standard name CHAR_BIT.
82376         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82377         this is not true on one's complement and signed-magnitude hosts.
82378
82379         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82380         next_last_offset.
82381         (struct re_dfa_t): Remove unused member states_alloc.
82382         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82383
82384 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82385
82386         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82387         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82388         and large-file glibc and in 32-bit large-file Solaris.
82389
82390 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82391
82392         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82393         lengths fit in regoff_t; this isn't true if regoff_t is the same
82394         width as size_t.
82395         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82396         (= START + RANGE) instead of RANGE.  This avoids overflow
82397         problems when regoff_t is the same width as size_t.
82398         All callers changed.
82399         (re_search_2_stub): Check for overflow when adding the
82400         sizes of the two strings.
82401         (re_search_stub): Check for overflow when adding START
82402         to RANGE; if it occurs, substitute the extreme value.
82403
82404 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82405
82406         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82407
82408 2005-08-31  Jim Meyering  <jim@meyering.net>
82409
82410         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82411         a pointer-to-const.
82412         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82413         (register_state): Likewise.
82414         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82415         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82416         (group_nodes_into_DFAstates): Likewise.
82417
82418 2005-08-31  Jim Meyering  <jim@meyering.net>
82419
82420         * check-module: Add a FIXME comment.
82421
82422 2005-08-31  Eric Blake  <ebb9@byu.net>
82423
82424         * modules/unistd-safer (Files): Add unistd--.h.
82425         * modules/stdio-safer (Files): Add stdio--.h.
82426
82427 2005-08-31  Derek Price  <derek@ximbiot.com>
82428
82429         * lib/getdelim.c (getdelim): Return EOF on EOF.
82430         Reported by Larry Jones <lawrence.jones@ugs.com>.
82431
82432 2005-08-31  Bruno Haible  <bruno@clisp.org>
82433
82434         Avoid unnecessary diffs in the generated lib/Makefile.am.
82435         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82436         the generated files.
82437         (func_import): Don't set cmd.
82438
82439 2005-08-31  Bruno Haible  <bruno@clisp.org>
82440
82441         * lib/strstr.c: Include <stddef.h>, for NULL.
82442         * lib/strcasestr.c: Likewise.
82443         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82444
82445 2005-08-31  Bruno Haible  <bruno@clisp.org>
82446
82447         * gnulib-tool: New option --macro-prefix.
82448         (func_import): Use macro_prefix.
82449         (import): Handle option --macro-prefix.
82450
82451 2005-08-31  Bruno Haible  <bruno@clisp.org>
82452
82453         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82454         Also use new variables cached_lgpl, cached_libtool.
82455
82456 2005-08-31  Bruno Haible  <bruno@clisp.org>
82457
82458         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82459         always instantiating them.
82460
82461 2005-08-31  Bruno Haible  <bruno@clisp.org>
82462
82463         * gnulib-tool (func_import): Read the previous cached settings
82464         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82465         earlier added by gnulib but are now dropped. Warn when a gnulib file
82466         overwrites a non-gnulib file.
82467
82468 2005-08-31  Bruno Haible  <bruno@clisp.org>
82469
82470         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82471         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82472         projects that don't keep autogenerated files in CVS. Put into
82473         actioncmd only the specified modules, not the transitive closure.
82474
82475 2005-08-31  Bruno Haible  <bruno@clisp.org>
82476
82477         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82478         Create directories that shall be filled.
82479         (import): Don't look for gl_* macros in configure.ac. Recurse across
82480         all directories containing a gnulib-cache.m4 files, if meaningful.
82481
82482 2005-08-31  Bruno Haible  <bruno@clisp.org>
82483
82484         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82485         (import): Set seen_libtool when we see gl_LIBTOOL.
82486
82487 2005-08-31  Bruno Haible  <bruno@clisp.org>
82488
82489         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82490         declaration macro definitions from generated gnulib.m4.
82491
82492 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82493
82494         * lib/iconvme.h: Add prototype for iconv_alloc.
82495
82496 2005-08-29  Simon Josefsson  <jas@extundo.com>
82497
82498         * lib/iconvme.c: Fix errno.
82499
82500 2005-08-29  Bruno Haible  <bruno@clisp.org>
82501
82502         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82503         that it works when the directory contains spaces.
82504
82505 2005-08-29  Bruno Haible  <bruno@clisp.org>
82506
82507         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82508
82509 2005-08-29  Bruno Haible  <bruno@clisp.org>
82510
82511         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82512         Emit more advice.
82513
82514 2005-08-29  Bruno Haible  <bruno@clisp.org>
82515         and Stepan Kasal  <kasal@ucw.cz>
82516
82517         * check-module: If more parameters are given, check each of them
82518         separately; add more exceptions, as noted by Jim Meyering.
82519         (check_module): New procedure.
82520         (%exempt_header): Now contains all exceptions.
82521
82522 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82523
82524         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82525
82526 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82527
82528         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82529
82530 2005-08-28  Bruno Haible  <bruno@clisp.org>
82531
82532         * m4/gnulib-tool.m4: New file.
82533
82534 2005-08-27  Jim Meyering  <jim@meyering.net>
82535
82536         * modules/unistd-safer (Files): Add pipe-safer.c.
82537         * modules/fcntl-safer (Files): Add creat-safer.c.
82538
82539 2005-08-27  Jim Meyering  <jim@meyering.net>
82540
82541         * m4/stdlib-safer.m4: New file.  From coreutils.
82542         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82543         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82544         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82545         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82546         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82547
82548 2005-08-27  Jim Meyering  <jim@meyering.net>
82549
82550         * lib/fopen-safer.c: Merge minor changes from coreutils.
82551         * lib/dup-safer.c: Likewise.
82552         * lib/fd-safer.c: Likewise.
82553
82554         Merge from coreutils.
82555         * lib/stdio--.h: New file.
82556         * lib/stdlib--.h: New file.
82557         * lib/mkstemp-safer.c: New file.
82558
82559         GNU tar needs these.
82560         * lib/pipe-safer.c: New file.
82561         * lib/creat-safer.c: New file.
82562         * lib/fcntl--.h (creat): Define to creat_safer.
82563         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82564         * lib/unistd--.h (pipe): Define to pipe_safer.
82565         * lib/unistd-safer.h: Declare pipe_safer.
82566
82567 2005-08-26  Simon Josefsson  <jas@extundo.com>
82568
82569         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82570         Haible <bruno@clisp.org>.
82571
82572 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82573
82574         * lib/regex_internal.h: Remove all references to
82575         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82576         or better.
82577         (bitset_not, bitset_merge, bitset_not_merge):
82578         (bitset_mask, re_string_allocate, re_string_construct):
82579         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82580         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82581         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82582         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82583         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82584         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82585         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82586         (re_acquire_state_context):
82587         Remove unnecessary forward decls.
82588         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82589         Put __attribute at function definition,
82590         now that the function decl has been removed.
82591         * lib/regex_internal.c (re_string_peek_byte_case):
82592         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82593         Likewise.
82594
82595 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82596
82597         * m4/regex.m4: Add AC_PREREQ(2.50).
82598         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82599
82600 2005-08-25  Simon Josefsson  <jas@extundo.com>
82601
82602         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82603         __fsetlocking.
82604
82605 2005-08-25  Simon Josefsson  <jas@extundo.com>
82606
82607         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82608         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82609         GLIBC specific code.
82610
82611 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82612
82613         Make regex safe for g++.  This fixes one real bug (an "err"
82614         that should have been "*err").  g++ problem reported by
82615         Sam Steingold.
82616         * lib/regex_internal.h (re_calloc): New macro, consistent with
82617         re_malloc etc.  All callers of calloc changed to use re_calloc.
82618         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82619         not int.  All callers changed.
82620         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82621         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82622         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82623         (find_recover_state): Change "err" to "*err"; this fixes what
82624         appears to be a real bug.
82625         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82626         versus int.
82627
82628 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82629
82630         * modules/regex (Depends-on): Add malloc, since the code
82631         assumes that !malloc(0) means failure.
82632
82633 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82634
82635         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82636
82637         alloca modernization/simplification for regex.
82638         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82639         needs to be at the start of the file, and can be moved into
82640         regex_internal.h and simplified.
82641         * lib/regex_internal.h: Include <alloca.h>.
82642         (__libc_use_alloca) [!defined _LIBC]: New macro.
82643         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82644         now works outside glibc.
82645
82646 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82647
82648         * config/srclist.txt: Add glibc bugs 1241, 1245.
82649
82650 2005-08-25  Jim Meyering  <jim@meyering.net>
82651
82652         * lib/open-safer.c: Include <config.h>.
82653         Otherwise, we'd lose LARGEFILE support in any file using
82654         e.g. "fcntl--.h"
82655
82656 2005-08-25  Bruno Haible  <bruno@clisp.org>
82657
82658         * m4/minmax.m4: Require autoconf 2.52.
82659         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82660         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82661         alternatives of translit over the alphabet.
82662         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
82663
82664 2005-08-24  Simon Josefsson  <jas@extundo.com>
82665
82666         * tests/test-getpass.c: New file.
82667
82668 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82669
82670         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
82671         for GNU regex features.
82672
82673 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82674
82675         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
82676         * lib/regex.h (regerror): Likewise.
82677
82678         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
82679         requires this.  (The code never needed it.)
82680
82681         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
82682         All uses of recently-renamed identifiers changed to use the new,
82683         POSIX-compliant names.  The code will build and run just fine
82684         without these changes, but it's better to eat our own dog food
82685         and use the standard-conforming names.
82686
82687         * lib/regex.h: Fix a multitude of POSIX name space violations.
82688         These changes have an effect only for programs that define
82689         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82690         do not change anything for programs compiled in the normal way.
82691         Also, there is no effect on the ABI.
82692
82693         (_REGEX_SOURCE): New macro.
82694         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82695         defined and _GNU_SOURCE is not; this fixes a name space violation.
82696
82697         Rename the following macros to obey POSIX requirements.
82698         The old names are still visible as macros if _REGEX_SOURCE is defined.
82699         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82700         RE_BACKSLASH_ESCAPE_IN_LISTS.
82701         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82702         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82703         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82704         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82705         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82706         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82707         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82708         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82709         (REG_INTERVALS): renamed from RE_INTERVALS.
82710         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82711         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82712         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82713         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82714         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82715         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82716         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82717         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82718         RE_UNMATCHED_RIGHT_PAREN_ORD.
82719         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82720         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82721         (REG_DEBUG): renamed from RE_DEBUG.
82722         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82723         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82724         unusual, since we can't clash with the POSIX REG_ICASE.
82725         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82726         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82727         (REG_NO_SUB): renamed from RE_NO_SUB.
82728         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82729         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82730         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82731         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82732         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82733         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82734         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82735         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82736         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82737         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82738         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82739         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82740         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82741         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82742         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82743         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82744         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82745         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82746         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82747         (REG_FIXED): Renamed from REGS_FIXED.
82748         (REG_NREGS): Renamed from RE_NREGS.
82749
82750         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82751         of other REG_* macros, since POSIX says the user is allowed to
82752         #undef these macros selectively.
82753
82754         (reg_errcode_t): Update comment stating what other tables need
82755         to be consistent.
82756
82757         Rename the following enum values to obey POSIX requirements.
82758         The old names are still visible as macros.
82759         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82760         is not defined, since GNU is supposed to be a superset of POSIX as
82761         much as possible, and since we want reg_errcode_t to be a signed
82762         type for implementation consistency.
82763         (_REG_NOERROR): Renamed from REG_NOERROR.
82764         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82765         (_REG_BADPAT): Renamed from REG_BADPAT.
82766         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82767         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82768         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82769         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82770         (_REG_EBRACK): Renamed from REG_EBRACK.
82771         (_REG_EPAREN): Renamed from REG_EPAREN.
82772         (_REG_EBRACE): Renamed from REG_EBRACE.
82773         (_REG_BADBR): Renamed from REG_BADBR.
82774         (_REG_ERANGE): Renamed from REG_ERANGE.
82775         (_REG_ESPACE): Renamed from REG_ESPACE.
82776         (_REG_BADRPT): Renamed from REG_BADRPT.
82777         (_REG_EEND): Renamed from REG_EEND.
82778         (_REG_ESIZE): Renamed from REG_ESIZE.
82779         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82780         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82781         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82782         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82783         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82784
82785         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82786         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82787         changed.  But support the old name if the new one is not defined
82788         and if _REGEX_SOURCE.
82789
82790         Change the following member names in struct re_pattern_buffer.
82791         The old names are still supported if !_REGEX_SOURCE.
82792         The new names are always supported, regardless of _REGEX_SOURCE.
82793         (re_buffer): Renamed from buffer.
82794         (re_allocated): Renamed from allocated.
82795         (re_used): Renamed from used.
82796         (re_syntax): Renamed from syntax.
82797         (re_fastmap): Renamed from fastmap.
82798         (re_translate): Renamed from translate.
82799         (re_can_be_null): Renamed from can_be_null.
82800         (re_regs_allocated): Renamed from regs_allocated.
82801         (re_fastmap_accurate): Renamed from fastmap_accurate.
82802         (re_no_sub): Renamed from no_sub.
82803         (re_not_bol): Renamed from not_bol.
82804         (re_not_eol): Renamed from not_eol.
82805         (re_newline_anchor): Renamed from newline_anchor.
82806
82807         Change the following member names in struct re_registers.
82808         The old names are still supported if !_REGEX_SOURCE.
82809         The new names are always supported, regardless of _REGEX_SOURCE.
82810         (rm_num_regs): Renamed from num_regs.
82811         (rm_start): Renamed from start.
82812         (rm_end): Renamed from end.
82813
82814         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82815         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82816         Prepend __ to parameter names.
82817
82818         Undo yesterday's changes.
82819
82820 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82821
82822         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82823         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82824         lib/regex.c.
82825
82826 2005-08-24  Jim Meyering  <jim@meyering.net>
82827
82828         Sync from coreutils.
82829         * m4/fcntl-safer.m4: New file.
82830
82831         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82832         and object files for this module.
82833
82834 2005-08-24  Jim Meyering  <jim@meyering.net>
82835
82836         Sync from coreutils.
82837         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82838
82839 2005-08-24  Jim Meyering  <jim@meyering.net>
82840
82841         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82842         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82843
82844 2005-08-24  Jim Meyering  <jim@meyering.net>
82845
82846         * modules/fcntl-safer: New module.
82847         * modules/fts (Depends-on): Add fcntl-safer.
82848         * MODULES.html.sh (File descriptor based Input/Output):
82849         Add fcntl-safer.
82850
82851 2005-08-24  Bruno Haible  <bruno@clisp.org>
82852
82853         Support for unit test modules.
82854         * modules/README: Mention tests modules.
82855         * modules/TEMPLATE-TESTS: New file.
82856         * gnulib-tool: New options --extract-tests-module, --with-tests and
82857         --tests-base (unused for the moment).
82858         (testsbase, inctests): New variables.
82859         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82860         (func_verify_module): Exclude TEMPLATE-TESTS.
82861         (func_verify_nontests_module, func_verify_tests_module): New functions.
82862         (func_get_dependencies): Add implicit dependency for tests modules.
82863         (func_get_tests_module): New function.
82864         (func_modules_transitive_closure): When --with-tests was specified,
82865         include the unit tests as well, unless explicitly avoided.
82866         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82867         (func_emit_tests_Makefile_am): New function.
82868         (func_create_testdir): When --with-tests was specified, emit a
82869         tests/ directory.
82870         * MODULES.html.sh (Future developments): Update.
82871
82872 2005-08-24  Bruno Haible  <bruno@clisp.org>
82873
82874         * modules/tls-tests: New file.
82875         * tests/test-tls.c: New file, from GNU gettext.
82876
82877 2005-08-24  Bruno Haible  <bruno@clisp.org>
82878
82879         * modules/lock-tests: New file.
82880         * tests/test-lock.c: New file, from GNU gettext.
82881
82882 2005-08-24  Bruno Haible  <bruno@clisp.org>
82883
82884         * lib/lock.h: Add multiple inclusion guard.
82885         * lib/tls.h: Add multiple inclusion guard.
82886
82887 2005-08-24  Bruno Haible  <bruno@clisp.org>
82888
82889         * gnulib-tool: Add support for the --aux-dir option to
82890         --create-testdir, --create-megatestdir, --test, --megatest.
82891         (func_create_testdir, func_create_megatestdir): Optionally emit a
82892         AC_CONFIG_AUX_DIR directive.
82893         (create-testdir, create-megatestdir, test, megatest): Provide a
82894         default value for $auxdir.
82895
82896 2005-08-24  Bruno Haible  <bruno@clisp.org>
82897
82898         * gnulib-tool (import): Use compound statement instead of subshell
82899         where possible.
82900
82901 2005-08-24  Bruno Haible  <bruno@clisp.org>
82902
82903         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82904
82905 2005-08-24  Bruno Haible  <bruno@clisp.org>
82906
82907         * gnulib-tool (func_version): Update.
82908
82909 2005-08-24  Bruno Haible  <bruno@clisp.org>
82910
82911         * gnulib-tool (func_import, func_create_testdir,
82912         func_create_megatestdir): Quote all autoconf macro arguments.
82913
82914 2005-08-24  Bruno Haible  <bruno@clisp.org>
82915
82916         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82917         option --force, because --force causes the aclocal.m4 of each
82918         subdirectory to be newer than the corresponding config.h.in.
82919
82920 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82921
82922         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82923         All contents moved to gl_REGEX.
82924         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82925         assume that it does.
82926
82927 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82928
82929         * lib/regex.h (REG_NOSYS)
82930         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82931         Define, since POSIX requires it as of 2001.
82932         (_REG_ENOSYS)
82933         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82934         New private symbol, used to keep the enum signed in all cases.
82935         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82936         Youngman in
82937         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82938
82939         * lib/regex_internal.c (re_string_skip_chars, register_state):
82940         (calc_state_hash):
82941         Remove forward decls; no longer needed now that we use prototypes.
82942         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82943         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82944         (clean_state_log_if_needed): Likewise.
82945
82946 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82947
82948         * config/srclist.txt: Add glibc bugs 1231-1233.
82949
82950 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82951
82952         Fix problems reported by Sam Steingold in
82953         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82954         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82955         assumed that reg_errcode_t is a signed type, which is not
82956         necessarily true if _XOPEN_SOURCE is not defined.
82957         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82958         since some compilers warn about it otherwise.
82959
82960 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82961
82962         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82963         (init_word_char, create_initial_state, duplicate_node_closure):
82964         (fetch_token, peek_token_bracket, build_range_exp):
82965         (build_collating_symbol): Remove forward decls; no longer needed
82966         now that we use prototypes.
82967
82968         * lib/regcomp.c:
82969         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82970         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82971         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82972         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82973         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82974         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82975         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82976         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82977         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82978         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82979         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82980         (build_charclass, build_charclass_op, fetch_number, create_tree):
82981         (create_token_tree, mark_opt_subexp, duplicate_tree):
82982         Use prototypes rather than old-style definitions.
82983
82984         * lib/regex_internal.c:
82985         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82986         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82987         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82988         (re_string_reconstruct, re_string_peek_byte_case):
82989         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82990         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82991         (re_node_set_init_copy, re_node_set_add_intersect):
82992         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82993         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82994         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82995         (re_acquire_state, re_acquire_state_context, register_state):
82996         (create_ci_newstate, create_cd_newstate, free_state):
82997         Likewise.
82998         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
82999         re_search_2):
83000         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83001         (re_search_internal, prune_impossible_nodes):
83002         (acquire_init_state_context, check_matching, static):
83003         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83004         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83005         (update_regs, sift_states_backward, build_sifted_states):
83006         (clean_state_log_if_needed, merge_state_array):
83007         (update_cur_sifted_state, add_epsilon_src_nodes):
83008         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83009         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83010         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83011         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83012         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83013         (check_arrival, check_arrival_add_next_nodes):
83014         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83015         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83016         (check_node_accept_bytes, check_node_accept, extend_buffers):
83017         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83018         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83019         (sift_ctx_init):
83020         Likewise.
83021
83022         * lib/regex_internal.h:
83023         (re_string_allocate, re_string_construct, re_string_reconstruct):
83024         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83025         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83026         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83027         (re_string_context_at, re_string_peek_byte_case):
83028         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83029         is defined, since we now use prototypes always.
83030
83031         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83032         C89 or better.  All uses removed.
83033
83034 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83035
83036         * config/srclist.txt: Add glibc bugs 1220-1227.
83037
83038 2005-08-20  Jim Meyering  <jim@meyering.net>
83039
83040         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83041         of unused local, dfa.
83042
83043 2005-08-20  Bruno Haible  <bruno@clisp.org>
83044
83045         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83046
83047 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83048
83049         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83050         (re_node_set_insert_last, re_dfa_add_node):
83051         Rename local variables to avoid GCC shadowing warnings.
83052
83053 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83054
83055         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83056         [defined lint]: Suppress bogus uninitialized-variable warnings.
83057
83058         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83059         and let the caller return REG_ESPACE if out of space.  This
83060         removes an uninitialied-variable warning with GCC 4.0.1, and also
83061         avoids taking the address of a local variable.  All callers
83062         changed.
83063
83064 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83067         $LIBCSRC/posix/regexec.c.
83068         Add glibc bug 1217 for regcomp.c.
83069
83070 2005-08-19  Jim Meyering  <jim@meyering.net>
83071
83072         * lib/regexec.c (proceed_next_node): Redo local variables to
83073         avoid GCC shadowing warnings.
83074
83075 2005-08-18  Bruno Haible  <bruno@clisp.org>
83076
83077         * lib/strstr.c (strstr): Fix return value in multibyte case.
83078         * lib/strcasestr.c (strcasestr): Likewise.
83079
83080 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83081
83082         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83083
83084 2005-08-17  Jim Meyering  <jim@meyering.net>
83085
83086         Make the %s format (seconds since the epoch) work for a negative
83087         number and when used with a zero-padded field width, e.g. %015s.
83088
83089         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83090         label so that it precedes the code to set `digits'.  Otherwise,
83091         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83092         print `00-22'.  Now, it prints `-0022', as it should.
83093
83094 2005-08-17  Bruno Haible  <bruno@clisp.org>
83095
83096         * modules/strstr (Files): Add m4/mbrtowc.m4.
83097         (Depends-on): Add mbuiter.
83098
83099 2005-08-17  Bruno Haible  <bruno@clisp.org>
83100
83101         * modules/strcasestr: New file.
83102         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83103         strcasestr.
83104
83105 2005-08-17  Bruno Haible  <bruno@clisp.org>
83106
83107         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83108
83109 2005-08-17  Bruno Haible  <bruno@clisp.org>
83110
83111         * modules/mbuiter: New file.
83112         * MODULES.html.sh (Extended multibyte and wide character utilities):
83113         Add mbuiter.
83114
83115 2005-08-17  Bruno Haible  <bruno@clisp.org>
83116
83117         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83118         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83119
83120 2005-08-17  Bruno Haible  <bruno@clisp.org>
83121
83122         * m4/strcasestr.m4: New file.
83123
83124 2005-08-17  Bruno Haible  <bruno@clisp.org>
83125
83126         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83127         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83128
83129 2005-08-17  Bruno Haible  <bruno@clisp.org>
83130
83131         * lib/strcasestr.h: New file.
83132         * lib/strcasestr.c: New file.
83133
83134 2005-08-17  Bruno Haible  <bruno@clisp.org>
83135
83136         * lib/strcasecmp.c: Use mbuiter.h.
83137
83138 2005-08-17  Bruno Haible  <bruno@clisp.org>
83139
83140         * lib/mbuiter.h: New file.
83141
83142 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83143
83144         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83145         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83146         and gl_GETOPT are both invoked via different paths (as happens
83147         with GNU tar CVS because it uses both argp and getopt), the former
83148         wins.
83149
83150 2005-08-16  Bruno Haible  <bruno@clisp.org>
83151
83152         * modules/tls: New file.
83153         * MODULES.html.sh (Multithreading): Add tls.
83154
83155 2005-08-16  Bruno Haible  <bruno@clisp.org>
83156
83157         * modules/strnlen1: New file.
83158         * MODULES.html.sh (String handling): Add strnlen1.
83159
83160 2005-08-16  Bruno Haible  <bruno@clisp.org>
83161
83162         * modules/strcase (Files): Add m4/mbrtowc.m4.
83163         (Depends-on): Add strnlen1, mbchar.
83164
83165 2005-08-16  Bruno Haible  <bruno@clisp.org>
83166
83167         * modules/mbiter: New file.
83168         * MODULES.html.sh (Extended multibyte and wide character utilities):
83169         Add mbiter.
83170
83171 2005-08-16  Bruno Haible  <bruno@clisp.org>
83172
83173         * modules/mbfile: New file.
83174         * MODULES.html.sh (Extended multibyte and wide character utilities):
83175         Add mbfile.
83176
83177 2005-08-16  Bruno Haible  <bruno@clisp.org>
83178
83179         * modules/mbchar: New file.
83180         * MODULES.html.sh (Extended multibyte and wide character utilities):
83181         New section.
83182
83183 2005-08-16  Bruno Haible  <bruno@clisp.org>
83184
83185         * m4/tls.m4: New file, from GNU gettext.
83186
83187 2005-08-16  Bruno Haible  <bruno@clisp.org>
83188
83189         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83190         always.
83191         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83192
83193 2005-08-16  Bruno Haible  <bruno@clisp.org>
83194
83195         * m4/mbiter.m4: New file.
83196
83197 2005-08-16  Bruno Haible  <bruno@clisp.org>
83198
83199         * m4/mbfile.m4: New file.
83200
83201 2005-08-16  Bruno Haible  <bruno@clisp.org>
83202
83203         * m4/mbchar.m4: New file.
83204
83205 2005-08-16  Bruno Haible  <bruno@clisp.org>
83206
83207         * lib/tls.h: New file, from GNU gettext.
83208         * lib/tls.c: New file, from GNU gettext.
83209
83210 2005-08-16  Bruno Haible  <bruno@clisp.org>
83211
83212         * lib/strnlen1.h: New file.
83213         * lib/strnlen1.c: New file.
83214
83215 2005-08-16  Bruno Haible  <bruno@clisp.org>
83216
83217         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83218         (mbi_init): Update.
83219         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83220         NUL byte, not after it.
83221
83222 2005-08-16  Bruno Haible  <bruno@clisp.org>
83223
83224         * lib/strcase.h (strcasecmp): Add note in comments.
83225         * lib/strncasecmp.c: Use code from strcasecmp.c.
83226         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83227         (strcasecmp): Work correctly in multibyte locales.
83228
83229 2005-08-16  Bruno Haible  <bruno@clisp.org>
83230
83231         * lib/mbiter.h: New file.
83232
83233 2005-08-16  Bruno Haible  <bruno@clisp.org>
83234
83235         * lib/mbfile.h: New file.
83236
83237 2005-08-16  Bruno Haible  <bruno@clisp.org>
83238
83239         * lib/mbchar.h: New file.
83240         * lib/mbchar.c: New file.
83241
83242 2005-08-16  Bruno Haible  <bruno@clisp.org>
83243
83244         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83245         the valid ones. Makes the comparison operations transitive:
83246         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83247         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83248
83249 2005-08-15  Simon Josefsson  <jas@extundo.com>
83250
83251         * modules/ssize_t (License): Change to 'unlimited'.
83252
83253         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83254
83255 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83256
83257         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83258         Add comments for each pending glibc patch.
83259
83260 2005-08-15  Bruno Haible  <bruno@clisp.org>
83261
83262         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83263         __cplusplus is defined.
83264
83265 2005-08-14  Jim Meyering  <jim@meyering.net>
83266
83267         Sync from coreutils.
83268
83269         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83270         Use the hash-table-based cycle-detection code not just when
83271         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83272         Reported by James Youngman in
83273         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83274         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83275         FTS_TIGHT_CYCLE_CHECK.
83276         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83277         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83278         once again.
83279         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83280         * lib/fts.c (fd_safer): Remove decl.
83281         Include fcntl--.h rather than unistd-safer.h
83282         (fts_safe_changedir): Don't call fd_safer; no longer needed
83283         now that we include fcntl--.h.
83284
83285 2005-08-12  Simon Josefsson  <jas@extundo.com>
83286
83287         * modules/getndelim2: Use ssize_t module.
83288         * modules/getnline: Likewise.
83289         * modules/safe-read: Likewise.
83290         * modules/xreadlink: Likewise.
83291
83292         * modules/ssize_t: New file.
83293
83294 2005-08-12  Simon Josefsson  <jas@extundo.com>
83295
83296         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83297
83298 2005-08-12  Simon Josefsson  <jas@extundo.com>
83299
83300         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83301         ssize_t.
83302
83303 2005-08-12  Simon Josefsson  <jas@extundo.com>
83304
83305         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83306         readline, getdelim and check_version.
83307         (Support for systems lacking ISO C 99: Sizes of integer types):
83308         Add size_max.
83309
83310 2005-08-12  Bruno Haible  <bruno@clisp.org>
83311
83312         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83313
83314 2005-08-11  Simon Josefsson  <jas@extundo.com>
83315
83316         * modules/readline: New file.
83317
83318         * modules/strnlen (Files): Add strnlen.h.
83319
83320 2005-08-11  Simon Josefsson  <jas@extundo.com>
83321
83322         * m4/readline.m4: New file.
83323
83324 2005-08-11  Simon Josefsson  <jas@extundo.com>
83325
83326         * lib/readline.h, readline.c: New file.
83327
83328 2005-08-11  Simon Josefsson  <jas@extundo.com>
83329
83330         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83331         gl_AVOID.
83332
83333 2005-08-11  Bruno Haible  <bruno@clisp.org>
83334
83335         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83336
83337 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83338
83339         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83340
83341 2005-08-10  Simon Josefsson  <jas@extundo.com>
83342
83343         * tests/test-iconvme.c: New file.
83344
83345 2005-08-10  Simon Josefsson  <jas@extundo.com>
83346
83347         * m4/strnlen.m4: New file.
83348
83349         * m4/strndup.m4: Don't check for strnlen declaration, done in
83350         strnlen.m4.
83351
83352 2005-08-10  Simon Josefsson  <jas@extundo.com>
83353
83354         * lib/strndup.c: Use strnlen.h.
83355
83356         * lib/strnlen.h: New file.
83357
83358 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83359
83360         * README: Typos.
83361
83362 2005-08-02  Simon Josefsson  <jas@extundo.com>
83363
83364         * modules/readline: New file.
83365
83366 2005-08-02  Simon Josefsson  <jas@extundo.com>
83367
83368         * modules/getdelim: New file.
83369
83370         * modules/getline: Rewrite, don't use getndelim2.
83371
83372 2005-08-02  Simon Josefsson  <jas@extundo.com>
83373
83374         * m4/getline.m4: Separate out getdelim stuff into separate module.
83375
83376         * m4/getdelim.m4: New file.
83377
83378 2005-08-02  Simon Josefsson  <jas@extundo.com>
83379
83380         * lib/getline.h, getline.c: Rewrite.
83381
83382         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83383
83384 2005-07-31  Bruno Haible  <bruno@clisp.org>
83385
83386         * lib/lock.h (gl_lock_initializer): New macro.
83387         (gl_lock_define_initialized): Use it.
83388         (gl_rwlock_initializer): New macro.
83389         (gl_rwlock_define_initialized): Use it.
83390         (gl_recursive_lock_initializer): New macro.
83391         (gl_recursive_lock_define_initialized): Use it.
83392
83393 2005-07-30  Karl Berry  <karl@gnu.org>
83394
83395         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83396         Report from Ben Pfaff, regarding getopt.
83397
83398 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83399
83400         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83401         normal way.
83402         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83403         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83404         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83405         (gl_GETOPT): Use the new macros.  Most of the implementation
83406         is moved to the new macros.  This is for programs like Emacs
83407         that don't want all the functionality of gl_GETOPT.
83408
83409 2005-07-26  Bruno Haible  <bruno@clisp.org>
83410
83411         * m4/lock.m4: Update from GNU gettext.
83412
83413 2005-07-26  Bruno Haible  <bruno@clisp.org>
83414
83415         * lib/lock.h: Update from GNU gettext.
83416         * lib/lock.c: Update from GNU gettext.
83417
83418 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83419
83420         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83421         obsolescent AC_TRY_RUN.  Include the default includes files, for
83422         'exit'.
83423
83424 2005-07-24  Bruno Haible  <bruno@clisp.org>
83425
83426         * modules/visibility: New file.
83427         * MODULES.html.sh (Misc): Add visibility.
83428
83429 2005-07-24  Bruno Haible  <bruno@clisp.org>
83430
83431         * m4/visibility.m4: New file.
83432
83433 2005-07-24  Bruno Haible  <bruno@clisp.org>
83434
83435         * doc/visibility.texi: New file.
83436
83437 2005-07-22  Bruno Haible  <bruno@clisp.org>
83438
83439         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83440         $(ALLOCA_H), redundant through BUILT_SOURCES.
83441         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83442         redundant through BUILT_SOURCES.
83443         * modules/byteswap (Makefile.am): Remove explicit dependency on
83444         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83445         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83446         $(FNMATCH_H), redundant through BUILT_SOURCES.
83447         * modules/getopt (Makefile.am): Remove explicit dependency on
83448         $(GETOPT_H), redundant through BUILT_SOURCES.
83449         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83450         redundant through BUILT_SOURCES.
83451         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83452         redundant through BUILT_SOURCES.
83453         * modules/stdbool (Makefile.am): Remove explicit dependency on
83454         $(STDBOOL_H), redundant through BUILT_SOURCES.
83455         * modules/stdint (Makefile.am): Remove explicit dependency on
83456         $(STDINT_H), redundant through BUILT_SOURCES.
83457         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83458         Remove explicit dependency on $(SYSEXITS_H).
83459         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83460
83461 2005-07-18  Simon Josefsson  <jas@extundo.com>
83462
83463         * lib/check-version.c (check_version): Accept identical versions too.
83464
83465 2005-07-18  Bruno Haible  <bruno@clisp.org>
83466
83467         * modules/lock: New file.
83468         * MODULES.html.sh (Multithreading): New section.
83469
83470 2005-07-18  Bruno Haible  <bruno@clisp.org>
83471
83472         * m4/lock.m4: New file, from GNU gettext.
83473
83474 2005-07-18  Bruno Haible  <bruno@clisp.org>
83475
83476         * lib/lock.h: New file, from GNU gettext.
83477         * lib/lock.c: New file, from GNU gettext.
83478
83479 2005-07-18  Bruno Haible  <bruno@clisp.org>
83480
83481         * lib/lock.h (gl_once_t): New type.
83482         (gl_once_define, gl_once): New macros.
83483         * lib/lock.c (fresh_once): New variable.
83484         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83485         functions.
83486
83487 2005-07-16  Simon Josefsson  <jas@extundo.com>
83488
83489         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83490         workaround, suggested by Bruno.
83491
83492 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83493
83494         * modules/xalloc (Depends-on): Add xalloc-die.
83495         * modules/xvasprintf (Depends-on): Add xalloc-die.
83496
83497 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83498
83499         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83500         with a minor change.
83501
83502 2005-07-15  Bruno Haible  <bruno@clisp.org>
83503
83504         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83505         When using lib/poll.c, define poll as rpl_poll.
83506
83507 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83508
83509         * modules/argp (Depends-on): Remove unlocked-io.
83510
83511 2005-07-14  Derek Price  <derek@ximbiot.com>
83512
83513         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83514         for glob symlink bug.
83515
83516 2005-07-14  Bruno Haible  <bruno@clisp.org>
83517
83518         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83519         Instead, test for *_unlocked function declarations directly.
83520
83521 2005-07-11  Simon Josefsson  <jas@extundo.com>
83522
83523         * modules/size_max: New file.
83524
83525         * modules/xsize: Depend on size_max module for size_max.m4.
83526
83527 2005-07-11  Simon Josefsson  <jas@extundo.com>
83528
83529         * lib/size_max.h: New file.
83530
83531 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83532
83533         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83534         copyright symbol and the year.
83535         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83536         (version_etc_va): Use parameterized copyright notice.
83537         Reword to conform to the current GNU coding standards.
83538
83539 2005-07-11  Karl Berry  <karl@gnu.org>
83540
83541         * doc/gnulib.texi (Quoting): new node.
83542         (Initial import): more info, from Patrice.
83543
83544 2005-07-11  Bruno Haible  <bruno@clisp.org>
83545
83546         * gnulib-tool (func_usage): Document option --avoid.
83547         (Command line options): Handle --avoid.
83548         (func_acceptable): New function.
83549         (func_modules_transitive_closure): Use it.
83550
83551 2005-07-11  Bruno Haible  <bruno@clisp.org>
83552
83553         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83554         Reported by Jim Meyering.
83555
83556 2005-07-10  Bruno Haible  <bruno@clisp.org>
83557
83558         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83559         Needed when size_t is smaller than 'unsigned int'.
83560         Reported by Paul Eggert.
83561
83562 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83563
83564         * modules/argp (Depends-on): Add unlocked-io
83565
83566 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83567
83568         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83569         block of defines.
83570
83571 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83572
83573         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83574         fix now.
83575
83576 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83577         and Paul Eggert  <eggert@cs.ucla.edu>
83578
83579         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83580         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83581
83582 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83583
83584         * modules/regex (Files): Add lib/regex_internal.c,
83585         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83586         (Depends-on): Add extensions.
83587         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83588
83589 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83590
83591         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83592         pathconf.
83593         * m4/same.m4 (gl_SAME): Likewise.
83594         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83595
83596         * m4/regex.m4: Adjust to new libc regex implementation.
83597         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83598         all the .c and .h parts of (the new) regex.
83599         Quote the m4 stuff better.
83600         Check for RE_ICASE bug of old gnulib.
83601         Check for REG_STARTEND of recent libc.
83602         Rename local variables from jm_* to gl_*.
83603         Quote operand of "test -f".
83604         Say "recent enough" version of libc, not "version 2".
83605         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83606         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83607         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83608         Remove check for btowc, isascii.
83609         Require AM_LANGINFO_CODESET.
83610
83611 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83612
83613         * lib/regex.c, regex.h: Sync from libc.
83614         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83615         * lib/regexec.c:
83616         New files, synced from libc, except that regex_internal.h
83617         currently has a small porting fix.
83618
83619 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83622         regex_internal.c, regexec.c.
83623         Add regex_internal.h too, but as a comment, since the libc version
83624         is currently broken in gnulib mode.
83625
83626 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83627
83628         Support programs like Emacs that use gnulib but not gettext.
83629         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83630         * modules/gettext-h: New file.
83631         * modules/gettext (Files): Remove lib/gettext.h.
83632         (Depends-on): Add gettext-h.
83633         (Makefile.am): Remove lib_SOURCES.
83634         * modules/argmatch, modules/c-stack, modules/closeout:
83635         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83636         * modules/execute, modules/file-type, modules/getaddrinfo:
83637         * modules/getopt, modules/human, modules/javacomp:
83638         * modules/javaexec, modules/mkdir-p, modules/obstack:
83639         * modules/openat, modules/pagealign_alloc, modules/pipe:
83640         * modules/quotearg, modules/regex, modules/rpmatch:
83641         * modules/unicodeio, modules/userspec, modules/version-etc:
83642         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83643         * modules/xsetenv:
83644         Depend on gettext-h, not gettext.
83645
83646 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83647
83648         * gnulib-tool (func_import): Add support for 'public domain' license.
83649         * modules/alloca, modules/atexit, modules/memmove:
83650         Now public domain, not GPL.
83651         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83652         * modules/realloc, modules/strerror, modules/strtod:
83653         Now LGPL, not GPL.
83654
83655 2005-07-05  Bruno Haible  <bruno@clisp.org>
83656
83657         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83658         autoconf CVS. Needed for mingw.
83659
83660 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83661
83662         Remove the dependency of the strftime module on the tzset module.
83663         * modules/strftime (Depends-on): Remove dependency on tzset.
83664
83665 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83666
83667         Remove the dependency of the strftime module on the tzset module.
83668         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
83669         gl_FUNC_TZSET_CLOBBER.
83670
83671 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83672
83673         Remove the dependency of the strftime module on the tzset module.
83674         * lib/strftime.c (my_strftime)
83675         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
83676         Copy the input structure, to work around some of the bug with
83677         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
83678         Solaris releases, you should also use the tzset module, but we won't
83679         require it as a dependency any more since we don't want LGPLed code
83680         to depend on GPLed code.
83681
83682 2005-07-02  Jim Meyering  <jim@meyering.net>
83683
83684         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83685         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83686         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83687         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83688
83689 2005-07-02  Jim Meyering  <jim@meyering.net>
83690
83691         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83692
83693 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83694
83695         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83696         declares only 'struct timespec;' (!).
83697
83698 2005-07-01  Jim Meyering  <jim@meyering.net>
83699
83700         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83701         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83702         * lib/save-cwd.c, tempname.c:
83703         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83704         and don't include <sys/file.h>).
83705
83706 2005-06-29  Jim Meyering  <jim@meyering.net>
83707
83708         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83709         type name.  Use the variable name instead.
83710         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83711         Likewise.
83712
83713 2005-06-28  Simon Josefsson  <jas@extundo.com>
83714
83715         * modules/check-version (Files): Add check-version.m4.
83716
83717 2005-06-28  Simon Josefsson  <jas@extundo.com>
83718
83719         * m4/check-version.m4: New file, suggested by Jim Meyering
83720         <jim@meyering.net>.
83721
83722 2005-06-28  Simon Josefsson  <jas@extundo.com>
83723
83724         * lib/check-version.h, lib/check-version.c: New files.
83725
83726 2005-06-28  Simon Josefsson  <jas@extundo.com>
83727
83728         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83729         collision with global variable.  Better indentation.  Don't
83730         increment buffer pointer beyond buffer end.  Based on comments
83731         from Paul Eggert <eggert@cs.ucla.edu>.
83732
83733         * lib/base64.h: Indent.
83734
83735 2005-06-28  Simon Josefsson  <jas@extundo.com>
83736
83737         * doc/gnulib.texi (Library version handling): New section.
83738
83739 2005-06-28  Jim Meyering  <jim@meyering.net>
83740
83741         * check-module (find_included_lib_files): Hard-code another
83742         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83743         but modules/fts-lgpl (correctly) does not list those files.
83744
83745         * modules/canonicalize (Files): Add lib/pathmax.h.
83746
83747 2005-06-25  Simon Josefsson  <jas@extundo.com>
83748
83749         * modules/check-version: New file.
83750
83751 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83752
83753         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83754         initializer of struct addrinfo, as an indication that we don't
83755         care how many members the structure has.
83756
83757 2005-06-24  Derek Price  <derek@ximbiot.com>
83758         and Bruno Haible  <bruno@clisp.org>
83759
83760         Remove stat module & update lstat.
83761         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83762         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83763         * m4/stat.m4: Remove this file.
83764
83765 2005-06-24  Derek Price  <derek@ximbiot.com>
83766         and Bruno Haible  <bruno@clisp.org>
83767
83768         Remove stat module & update lstat.
83769         * lib/stat.c: Remove this file...
83770         (slash_aware_lstat): ...moving this content and its support...
83771         * lib/lstat.c (rpl_lstat): ...into here.
83772         * lib/lstat.h: New file.
83773
83774 2005-06-24  Derek Price  <derek@ximbiot.com>
83775         and Bruno Haible  <bruno@clisp.org>
83776
83777         Remove stat module & update lstat.
83778         * config/srclist.txt (libc sources): Remove stat.
83779
83780 2005-06-24  Derek Price  <derek@ximbiot.com>
83781         and Bruno Haible  <bruno@clisp.org>
83782
83783         Remove stat module & update lstat.
83784         * MODULES.html.sh (stat): Remove.
83785         * MODULES.html: Regenerated.
83786         * modules/lstat (Description): Correct function name.
83787         (Files): Add "lstat.h".
83788         (Depends-on): Remove stat, add xalloc, stat-macros.
83789         * modules/stat: Remove this file.
83790         (Include): Add "lstat.h", remove <sys/stat.h>.
83791
83792 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83793
83794         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83795         (ranged_convert): Don't save conversion in a temporary struct.
83796         This causes a warning with GCC 4.0.0, and anyway in the typical
83797         case it's not worth the extra 100 bytes or so of code.
83798         (ranged_convert, __mktime_internal): When calling a function via a
83799         pointer P, use P () rather than (*P) (), as we now assume C89 or
83800         better.
83801
83802 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83803
83804         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83805         "who -r" failed to give output.  Problem reported by Tim Waugh.
83806
83807         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83808         (xcalloc): Use it to avoid needless tests.
83809         Problem reported by Jim Meyering.
83810
83811 2005-06-20  Derek Price  <derek@ximbiot.com>
83812
83813         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83814         unnecessary for Autoconfs > 2.59c.
83815
83816 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83817
83818         * lib/argp.h (__option_is_short): Check upper limit of
83819         __key. Isprint() requires its argument to have the value
83820         of an unsigned char or EOF.
83821
83822 2005-06-16  Jim Meyering  <jim@meyering.net>
83823
83824         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83825         when either N or S is zero.
83826
83827 2005-06-16  Derek Price  <derek@ximbiot.com>
83828
83829         * m4/bison.m4: Declare YACC & YFLAGS precious.
83830
83831 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83832
83833         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83834         multibyte string or pattern, fall back on unibyte matching.
83835         Problem reported by James Youngman.
83836
83837 2005-06-08  Bruno Haible  <bruno@clisp.org>
83838
83839         * modules/csharpcomp: New file.
83840         * MODULES.html.sh (C#): Add csharpcomp.
83841
83842 2005-06-08  Bruno Haible  <bruno@clisp.org>
83843
83844         * m4/csharpcomp.m4: New file, from GNU gettext.
83845
83846 2005-06-08  Bruno Haible  <bruno@clisp.org>
83847
83848         * lib/csharpcomp.h: New file, from GNU gettext.
83849         * lib/csharpcomp.c: New file, from GNU gettext.
83850         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83851
83852 2005-06-08  Bruno Haible  <bruno@clisp.org>
83853
83854         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83855         warning on mingw.
83856
83857 2005-06-07  Derek Price  <derek@ximbiot.com>
83858
83859         Sync from CVS.
83860         * lib/glob_.h: Indent nested #ifdef.
83861
83862 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83863
83864         Sync from coreutils.
83865         Use "file name" when talking about file names, instead of "filename"
83866         or "path", as per the GNU coding standards.
83867         * lib/mkdir-p.c: Renamed from makepath.c.
83868         (make_dir_parents): Renamed from make_path.  All callers changed.
83869         * lib/mkdir-p.h: Likewise.  All includers changed.
83870         * lib/filenamecat.c: Renamed from path-concat.c.
83871         (file_name_concat): Renamed from path_concat.  All callers changed.
83872         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83873         * lib/filenamecat.h: Likewise.  All includers changed.
83874         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83875         in comments or local variable names.
83876         * lib/basename.c: Likewise.
83877         * lib/canonicalize.c, canonicalize.h: Likewise.
83878         * lib/dirname.c, dirname.h: Likewise.
83879         * lib/euidaccess.c: Likewise.
83880         * lib/exclude.c: Likewise
83881         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83882         * lib/fsusage.c, fsuage.h: Likewise.
83883         * lib/fts.c, fts_.h: Likewise.
83884         * lib/getcwd.c: Likewise.
83885         * lib/getloadavg.c: Likewise.
83886         * lib/mkstemp.c: Likewise.
83887         * lib/mountlist.c, mountlist.h: Likewise.
83888         * lib/openat.c, openat.h: Likewise.
83889         * lib/readlink-stub.c: Likewise.
83890         * lib/readutmp.c, readutmp.h: Likewise.
83891         * lib/rename.c: Likewise.
83892         * lib/rmdir.c: Likewise.
83893         * lib/same.c: Likewise.
83894         * lib/savedir.c: Likewise.
83895         * lib/stripslash.c: Likewise.
83896         * lib/tempname.c: Likewise.
83897         * lib/xreadlink.c: Likewise.
83898         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83899         All uses changed.
83900         * lib/exclude.h: Likewise.
83901
83902         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83903         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83904         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83905         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83906         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83907         files have been getting away with it for years (MORE/BSD 4.3
83908         is extinct now).
83909         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83910         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83911
83912         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83913         Define to 256, not 255, as per modern POSIX.
83914
83915 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83916
83917         Sync from coreutils.
83918         Use "file name" when talking about file names, instead of "filename"
83919         or "path", as per the GNU coding standards.
83920         * MODULES.html.sh: mkdir-p renamed from makepath.
83921         filenamecat renamed from path-concat.
83922         * modules/filenamecat: Renamed from modules/path-concat.
83923         (Files): filenamecat.h and filenamecat.c renamed from
83924         path-concat.h and path-concat.c.
83925         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83926         (Include): filenamecat.h, not path-concat.h.
83927         * modules/mkdir-p: Renamed from modules/makepath.
83928         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83929         makepath.c.
83930         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83931         (Include): mkdir-p.h, not makepath.h.
83932
83933 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83934
83935         Sync from coreutils.
83936         * m4/mkdir-p.m4: Renamed from makepath.m4.
83937         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83938         Rename files from makepath.c to mkdir-p.c, and from
83939         makepath.h to mkdir-p.h.
83940         * m4/filenamecat.m4: Renamed from path-concat.m4.
83941         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83942         Rename files from path-concat.c to filenamecat.c,
83943         and from path-concat.h to filenamecat.h.
83944         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83945         "file name" in local variables or comments.
83946         * m4/rename.m4: Likewise.
83947
83948 2005-06-01  Bruno Haible  <bruno@clisp.org>
83949
83950         * modules/csharpexec: New file.
83951         * MODULES.html.sh (C#): New section.
83952
83953 2005-06-01  Bruno Haible  <bruno@clisp.org>
83954
83955         * m4/csharp.m4: New file, from GNU gettext.
83956         * m4/csharpexec.m4: New file, from GNU gettext.
83957
83958 2005-06-01  Bruno Haible  <bruno@clisp.org>
83959
83960         * lib/csharpexec.h: New file, from GNU gettext.
83961         * lib/csharpexec.c: New file, from GNU gettext.
83962         * lib/csharpexec.sh.in: New file, from GNU gettext.
83963
83964 2005-05-31  Derek Price  <derek@ximbiot.com>
83965             Paul Eggert  <eggert@cs.ucla.edu>
83966
83967         Sync from cvs.
83968         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83969
83970 2005-05-31  Derek Price  <derek@ximbiot.com>
83971             Paul Eggert  <eggert@cs.ucla.edu>
83972
83973         Sync from cvs.
83974         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83975
83976 2005-05-29  Derek Price  <derek@ximbiot.com>
83977
83978         * config/srclist.txt (glob_.h, glob.c): Add these files.
83979
83980 2005-05-29  Derek Price  <derek@ximbiot.com>
83981
83982         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83983         * modules/glob: New file.
83984         * modules/getlogin_r: Add link to POSIX spec in description.
83985
83986 2005-05-29  Derek Price  <derek@ximbiot.com>
83987             Paul Eggert  <eggert@cs.ucla.edu>
83988
83989         * m4/glob.m4: New file.
83990
83991 2005-05-29  Derek Price  <derek@ximbiot.com>
83992             Paul Eggert  <eggert@cs.ucla.edu>
83993
83994         * lib/glob_.h, lib/glob.c: New files.
83995
83996 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83997
83998         * modules/fts (Files): Remove m4/inttypes-pri.m4.
83999         * modules/fts-lgpl (Depends-on): Remove gettext.
84000
84001 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84002
84003         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84004         and don't require gt_INTTYPES_PRI.
84005
84006 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84007
84008         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84009
84010         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84011         the configuration hassle isn't worth it.
84012         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84013         (LONGEST_MODIFIER, PRIuMAX): Remove.
84014
84015 2005-05-27  Bruno Haible  <bruno@clisp.org>
84016
84017         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84018
84019 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84020
84021         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84022         _POSIX_PTHREAD_SEMANTICS for Solaris.
84023
84024 2005-05-25  Derek Price  <derek@ximbiot.com>
84025
84026         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84027
84028 2005-05-25  Derek Price  <derek@ximbiot.com>
84029             Paul Eggert  <eggert@cs.ucla.edu>
84030
84031         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84032         * lib/getlogin_r.c, getlogin_r.h: New files.
84033
84034 2005-05-25  Bruno Haible  <bruno@clisp.org>
84035             Derek Price  <derek@ximbiot.com>
84036
84037         * lib/getlogin_r.h: Simplify API documentation.
84038
84039 2005-05-23  Derek Price  <derek@ximbiot.com>
84040
84041         * modules/minmax (Files): Add m4/minmax.m4.
84042         (configure.ac): Add gl_MINMAX.
84043
84044 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84045
84046         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84047         so that unistd-safer.h (GPL'ed code) need not be included.
84048
84049 2005-05-22  Bruno Haible  <bruno@clisp.org>
84050
84051         * m4/minmax.m4: New file.
84052         Based on a patch by Derek Price <derek@ximbiot.com>.
84053
84054 2005-05-22  Bruno Haible  <bruno@clisp.org>
84055
84056         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84057         (INT64_MIN): Fix definition.
84058         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84059
84060         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84061         NEED_SIGNED_INT_TYPES.
84062
84063         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84064         HAVE_SYSTEM_INTTYPES.
84065
84066 2005-05-22  Bruno Haible  <bruno@clisp.org>
84067
84068         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84069         Also include <sys/param.h> if it defines MIN, MAX.
84070         Based on a patch by Derek Price <derek@ximbiot.com>.
84071
84072 2005-05-21  Jim Meyering  <jim@meyering.net>
84073
84074         * modules/fts (Files): Add m4/inttypes-pri.m4.
84075         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84076
84077 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84078
84079         New fts module.
84080         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84081         (setup_dir, free_dir): New functions.
84082         (enter_dir, leave_dir): Define trivial
84083         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84084         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84085         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84086         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84087         Move to fts-cycle.c.
84088         (fts_open): Use setup_dir.
84089         (fts_close): Use free_dir.
84090         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84091         This adds a label and some gotos, but the alternatives were messier.
84092         Check for memory allocation failure when entering a dir.
84093         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84094         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84095         (FTS): New member fts_cycle, that is a union that contains the
84096         old active_dir_ht and cycle_state.  All uses changed to mention
84097         fts_cycle.ht and fts_cycle.state.
84098         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84099         fts.c, with the following changes:
84100         (setup_dir, free_dir): New functions.
84101         (enter_dir): Now returns bool.  Return true if successful, false
84102         if memory exhausted.  All callers changed.
84103         Do not bother partly cleaning up on
84104         memory allocation failure; that is free_dir's job.
84105         However, free ad if hash_insert fails, to avoid memory leak.
84106         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84107         fts->fts_options to see which union member to use.
84108
84109 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84110
84111         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84112         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84113
84114 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84115
84116         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84117
84118 2005-05-20  Jim Meyering  <jim@meyering.net>
84119
84120         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84121         Now a macro, to pacify GCC.
84122
84123 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84124
84125         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84126         of -1.
84127
84128 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84129
84130         * lib/chown.c (rpl_chown): Return -1 on failure.
84131
84132 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84133
84134         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84135         Don't check for stddef.h.
84136         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84137         don't use its results.
84138         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84139         since we include them unconditionally.  Don't require
84140         AM_STDBOOL_H, since stdbool is a prerequisite.
84141         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84142         since we assume C89 or better.
84143         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84144         as we don't use their results.
84145         Don't check for fchdir, memmove, memset, strrchr, as we use
84146         them unconditionally.
84147         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84148         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84149
84150 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84151
84152         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84153         Include <stddef.h> unconditionally, since we assume C89 now.
84154         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84155         * lib/fts.c: Include fts_.h first, to check interface.
84156         Do not include intprops.h; no longer needed.
84157         Include cycle-check.h and hash.h, since fts_.h no longer does.
84158         Remove unnecessary casts of closedir to void.
84159         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84160         decide whether to decrement nlinks.
84161         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84162         (FTS): Use struct hash_table * instead of Hash_table, so that
84163         we no longer need to include hash.h here.
84164
84165 2005-05-18  Jim Meyering  <jim@meyering.net>
84166
84167         * modules/dirfd (License): Change to LGPL.  Most of the code
84168         is already in the public domain.
84169
84170 2005-05-18  Jim Meyering  <jim@meyering.net>
84171
84172         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84173         Reported by Yoann Vandoorselaere.
84174
84175 2005-05-17  Jim Meyering  <jim@meyering.net>
84176
84177         * m4/fts.m4: New file, from coreutils.
84178
84179 2005-05-17  Jim Meyering  <jim@meyering.net>
84180
84181         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84182
84183 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84184
84185         Sync from coreutils.
84186         * m4/unlinkdir.m4: New file.
84187
84188 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84189
84190         Sync from coreutils.
84191         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84192         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84193         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84194         White space changes only.
84195         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84196         special.
84197         * lib/yesno.c: Include getline.h, not ctype.h.
84198         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84199         Use getline to remove arbitrary restriction on response length.
84200
84201 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84202
84203         * config/srclist-update: Spell out "Street" in FSF postal
84204         mail address; this is the style the FSF seems to prefer.
84205
84206         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84207         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84208         this updates FSF postal mail address.
84209
84210         Sync from coreutils.
84211         * modules/unlinkdir: New file.
84212         * modules/yesno (Depends-on): Add getline.
84213         * MODULES.html.sh (File system functions): Add unlinkdir.
84214
84215 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84216
84217         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84218         lib/strsep.h:
84219         Change the initial comment to refer to GPL, not LGPL.
84220         gnulib-tool will change it to LGPL as needed.
84221
84222         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84223         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84224         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84225         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84226         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84227         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84228         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84229         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84230         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84231         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84232         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84233         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84234         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84235         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84236         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84237         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84238         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84239         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84240         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84241         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84242         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84243         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84244         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84245         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84246         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84247         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84248         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84249         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84250         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84251         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84252         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84253         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84254         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84255         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84256         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84257         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84258         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84259         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84260         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84261         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84262         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84263         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84264         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84265         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84266         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84267         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84268         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84269         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84270         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84271         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84272         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84273         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84274         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84275         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84276         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84277         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84278         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84279         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84280         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84281         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84282         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84283         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84284         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84285         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84286         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84287         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84288         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84289         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84290         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84291         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84292         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84293         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84294         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84295         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84296         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84297         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84298         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84299         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84300         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84301         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84302         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84303         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84304         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84305         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84306         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84307         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84308         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84309         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84310         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84311         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84312         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84313         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84314         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84315         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84316         lib/yesno.c, lib/yesno.h:
84317         Update FSF postal mail address.
84318
84319 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84320
84321         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84322         tests/test-memmem.c, tests/test-stpncpy.c:
84323         Update FSF postal mail address.
84324
84325 2005-05-13  Bruno Haible  <bruno@clisp.org>
84326
84327         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84328         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84329         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84330         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84331         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84332         Add support for 64-bit integers in the MSVC compiler.
84333
84334 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84335
84336         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84337
84338 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84339
84340         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84341
84342 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84343
84344         * doc/getdate.texi (General date syntax): Don't say that date
84345         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84346         Problem reported by Nic Ferrier.
84347
84348 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84349
84350         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84351         specified in ai_socktype. Fix invalid ai_protocol
84352         check. ai_protocol is usually set to 0 or depending on
84353         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84354         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84355         ai_socktype / ai_protocol in the returned addrinfo structure.
84356
84357 2005-05-10  Simon Josefsson  <jas@extundo.com>
84358
84359         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84360         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84361
84362 2005-05-10  Karl Berry  <karl@gnu.org>
84363
84364         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84365         (from http://www.gnu.org/licenses).
84366         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84367         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84368         fdl.texi suffices.
84369
84370 2005-05-10  Karl Berry  <karl@gnu.org>
84371
84372         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84373         (COPYING.DOC): remove.
84374
84375         * config/srclist-update: new FSF address.
84376
84377 2005-05-10  Derek Price  <derek@ximbiot.com>
84378
84379         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84380         possible.
84381
84382 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84383             Bruno Haible  <bruno@clisp.org>
84384
84385         * modules/inet_ntop: New file.
84386         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84387         inet_ntop.
84388
84389 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84390             Bruno Haible  <bruno@clisp.org>
84391
84392         * m4/inet_ntop.m4: New file.
84393
84394 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84395             Bruno Haible  <bruno@clisp.org>
84396
84397         * lib/inet_ntop.h: New file.
84398         * lib/inet_ntop.c: New file, from glibc with modifications.
84399
84400 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84401
84402         * modules/time_r (License): Change to LGPL.
84403         * modules/extensions (License): Change to LGPL.  Actually,
84404         the license is more permissive than that, but currently gnulib-tool
84405         doesn't know how to handle more-permissive licenses.
84406
84407         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84408         Problem reported by Dave Love.
84409
84410 2005-05-08  Jim Meyering  <jim@meyering.net>
84411
84412         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84413         blank.
84414
84415 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84416
84417         * modules/argmatch (Depends-on): Add stdbool.
84418         * modules/backupfile (Depends-on): Likewise.
84419         * modules/chdir-long (Depends-on): Likewise.
84420         * modules/closeout (Depends-on): Likewise.
84421         * modules/cycle-check (Depends-on): Likewise.
84422         * modules/dirname (Depends-on): Likewise.
84423         * modules/fnmatch (Depends-on): Likewise.
84424         * modules/fsusage (Depends-on): Likewise.
84425         * modules/fwriteerror (Depends-on): Likewise.
84426         * modules/getcwd (Depends-on): Likewise.
84427         * modules/getloadavg (Depends-on): Likewise.
84428         * modules/hard-locale (Depends-on): Likewise.
84429         * modules/makepath (Depends-on): Likewise.
84430         * modules/mountlist (Depends-on): Likewise.
84431         * modules/nanosleep (Depends-on): Likewise.
84432         * modules/posixtm (Depends-on): Likewise.
84433         * modules/quotearg (Depends-on): Likewise.
84434         * modules/readtokens (Depends-on): Likewise.
84435         * modules/readtokens0 (Depends-on): Likewise.
84436         * modules/readutmp (Depends-on): Likewise.
84437         * modules/save-cwd (Depends-on): Likewise.
84438         * modules/strftime (Depends-on): Likewise.
84439         * modules/userspec (Depends-on): Likewise.
84440         * modules/utimecmp (Depends-on): Likewise.
84441         * modules/xgetcwd (Depends-on): Likewise.
84442         * modules/xnanosleep (Depends-on): Likewise.
84443         * modules/xstrtod (Depends-on): Likewise.
84444         * modules/yesno (Depends-on): Likewise.
84445
84446 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84447
84448         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84449         needless checks.
84450
84451 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84452
84453         Merge from coreutils.  Among other things,
84454         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84455         * lib/fd-safer.c: New file.
84456         * lib/fcntl-safer.h, open-safer.c: Remove.
84457         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84458         * lib/dup-safer.c: Include unistd-safer.h first.
84459         Don't include errno.h.
84460         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84461         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84462         * lib/file-type.c: Rely on file-type.h change.
84463         * lib/getloadavg.c: Include unistd-safer.h.
84464         (getloadavg): Use safer open.
84465         * lib/getusershell.c: Include "stdio-safer.h".
84466         (getusershell): Use safer fopen.
84467         * lib/long-options.c (long_options): Use NULL rather than 0.
84468         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84469         'free'.
84470         * lib/modechange.c: Likewise.
84471         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84472         (MODE_DONE): New constant.
84473         (struct mode_change): Remove 'next' member.
84474         (make_node_op_equals): New function; like the old one of the
84475         same name, except it allocates an array.
84476         (mode_compile, mode_create_from_ref): Use it.
84477         (mode_compile): Allocate result as an array, not a linked list.
84478         Parse octal string ourself, so that we catch mistakes like "+0".
84479         (mode_adjust): Arg is an array, not a linked list.
84480         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84481         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84482         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84483         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84484         Remove.  This is now stat-macros.h's job.
84485         (talloc): Remove.  All callers replaced by xalloc, so that
84486         our invokers don't have to worry about reporting memory failures.
84487         (make_node_op_equals): Remove.
84488         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84489         New constants.
84490         (struct mode_change): Moved here from modechange.h.
84491         (mode_append_entry): Remove.
84492         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84493         apps to have incorrect behavior.  Use simpler algorithm for head
84494         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84495         Detect more invalid usages rather than having somewhat-random behavior.
84496         Don't insert an "a=" action, as that leads to incorrect behavior.
84497         (mode_compile, mode_create_from_ref): Return NULL on error instead
84498         of an enum, since now there's only one way to have an error.  All
84499         callers changed.
84500         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84501         at the correct time.  Simplify calculation of "+u" and its ilk.
84502         Don't mishandle "+X".
84503         (mode_free): Remove "register" and localize decls.
84504         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84505         (struct mode_change): Move to modechange.c; callers don't
84506         need to see this stuff.
84507         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84508         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84509         (mode_change, mode_adjust): Reflect the new signatures noted above.
84510         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84511         that might redefine system include files.
84512         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84513         (my_usleep): Use NULL rather than (void *) 0.
84514         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84515         Use siginterrupt to specify that system calls should be interrupted.
84516         (rpl_nanosleep): Move initialization of suspended closer to call of
84517         my_usleep.
84518         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84519         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84520         (desirable_utmp_entry): New function.
84521         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84522         using x2nrealloc, to simplify logic.
84523         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84524         size calculation.  Do not assume utmp file is a regular file.
84525         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84526         (READ_UTMP_CHECK_PIDS): New constant.
84527         * lib/save-cwd.c: Include unistd-safer.h.
84528         (save_cwd): Use fd_safer.
84529         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84530         [!_LIBC] Include "stat-macros.h" instead.
84531         * lib/unistd-safer.h (fd_safer): New decl.
84532
84533 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84534
84535         * modules/getloadavg (Depends-on): Add unistd-safer.
84536         * modules/getusershell (Depends-on): Add stdio-safer.
84537         * modules/lstat (Depends-on): Remove xalloc.
84538         * modules/mkstemp (Depends-on): Add stat-macros.
84539         * modules/modechange (Depends-on): Remove xstrtol.
84540         Add stat-macros, xalloc.
84541         * modules/save-cwd (Depends-on): Add unistd-safer.
84542         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84543         * modules/unistd-safer (Files): Add lib/fd-safer.c
84544         (Makefile.am): Remove lib_SOURCES.
84545
84546         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84547         Remove fcntl-safer; unistd-safer supersedes it.
84548
84549 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84550
84551         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84552         AC_HEADER_STAT.
84553         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84554         (gl_PREREQ_CHOWN): Remove.
84555         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84556         it.  Don't require AC_HEADER_STAT.
84557         (gl_PREREQ_LSTAT): Remove.
84558         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84559         Don't require AC_HEADER_STAT.
84560         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84561         (gl_PREREQ_RMDIR): Remove.
84562         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84563         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84564         the stat-macros module a prerequisite.
84565         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84566         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84567         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84568         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84569         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84570         variable names.
84571         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84572         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84573         variable prefixes.
84574         * m4/fcntl-safer.m4: Remove.
84575         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84576         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84577         Invoke gl_PREREQ_FD_SAFER.
84578         (gl_PREREQ_FD_SAFER): New macro.
84579         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84580         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84581         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84582         Remove duplicate call to AC_LIBOBJ(readutmp).
84583         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84584
84585         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84586         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84587
84588 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84589
84590         * MODULES.html.sh (Misc): Add byteswap.
84591
84592 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84593
84594         * modules/getcwd (Depends-on): Add extensions.
84595         * modules/openat (Depends-on): Likewise.
84596
84597 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84598
84599         * modules/byteswap: New file.
84600
84601 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84602
84603         * m4/byteswap.m4: New file.
84604
84605 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84606
84607         * lib/byteswap_.h: New file.
84608
84609 2005-04-25  Karl Berry  <karl@gnu.org>
84610
84611         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84612
84613 2005-04-25  Albert Chin  <china@thewrittenword.com>
84614
84615         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84616         Toolkit C bug.
84617
84618 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84619
84620         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84621         (func_ln_if_changed): Remove forcibly for no error message
84622         in case file does not exist.
84623
84624 2005-04-19  Simon Josefsson  <jas@extundo.com>
84625
84626         * gnulib-tool (Options): Make --symlink mean --symbolic.
84627
84628 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84629
84630         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84631
84632 2005-04-16  Simon Josefsson  <jas@extundo.com>
84633
84634         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84635
84636 2005-04-15  Simon Josefsson  <jas@extundo.com>
84637
84638         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84639
84640 2005-04-15  Simon Josefsson  <jas@extundo.com>
84641
84642         * gnulib-tool: Rename --symlink to --symbolic.
84643
84644 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84645
84646         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84647         symbolic links to files instead of copying/moving.  Add --aux-dir,
84648         specifying directory relative --dir where auxiliary build tools
84649         are placed.
84650
84651 2005-04-14  Bruno Haible  <bruno@clisp.org>
84652
84653         * modules/allocsa (License): Change to LGPL.
84654         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84655
84656 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84657
84658         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84659         that "UTC +1 second" continues to work.  Problem reported
84660         by Dmitry V. Levin.
84661         (relunit_snumber): New rule.
84662         (relunit): Use it.
84663
84664 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
84665
84666         * lib/getdate.y (universal_time_zone_table): New constant.
84667         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
84668         universal_time_zone_table.
84669         (lookup_zone): Prefer universal_time_zone_table to
84670         local_time_zone_table, so that "GMT" time stamps are allowed in
84671         London during the summer.  Problem reported by Ian Abbott.
84672
84673 2005-04-12  Jim Meyering  <jim@meyering.net>
84674
84675         * lib/human.c (humblock): Set *options even when returning due to
84676         xstrtoumax conversion failure.  Thanks to a used-uninitialized
84677         warning from gcc-4.
84678
84679 2005-04-09  Jim Meyering  <jim@meyering.net>
84680
84681         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
84682         -Wuninitialized: initialize tm0.tm_year.
84683
84684 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84685
84686         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84687         count, since there's no maximum.  All uses changed.
84688         Add member dsts_seen.
84689         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84690         not being INT_MAX.
84691         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84692         Use pc_rels_seen to decide whether a date is absolute.
84693
84694         * lib/getdate.y (number): Don't overwrite year.
84695         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84696         check.
84697
84698 2005-04-02  Simon Josefsson  <jas@extundo.com>
84699
84700         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84701         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84702
84703 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84704
84705         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84706         where no absolute path name can be longer than PATH_MAX.
84707
84708 2005-03-27  Jim Meyering  <jim@meyering.net>
84709
84710         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84711
84712 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84713
84714         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84715         "one's complement" -> "ones' complement" in comment, as per Knuth.
84716         "value of type" -> "type or expression" in comment.
84717         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84718
84719 2005-03-26  Jim Meyering  <jim@meyering.net>
84720
84721         Comment nits.
84722         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84723         Correct typos: s/or/of/.
84724
84725 2005-03-26  Jim Meyering  <jim@meyering.net>
84726
84727         * modules/check-include-files: Move to ../ and rename to...
84728         * check-module: ...this.
84729
84730 2005-03-25  Jim Meyering  <jim@meyering.net>
84731
84732         * modules/xvasprintf (Files): Add xalloc.h.
84733
84734 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84735
84736         * modules/gettext (Files): config/config.rpath ->
84737         build-aux/config.rpath
84738         * modules/iconv (Files): Likewise.
84739         Problem reported by Oskar Liljeblad.
84740
84741 2005-03-23  Jim Meyering  <jim@meyering.net>
84742
84743         * modules/check-include-files: New script to check for
84744         missing dependencies, multiple includes, etc.
84745
84746         * modules/c-strtold (Depends-on): Add xalloc.
84747         * modules/c-strtod (Depends-on): Add xalloc.
84748         * modules/hash (Depends-on): Add xalloc.
84749         (Files): Remove lib/xalloc.h.
84750
84751         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84752         * modules/userspec (Files): Add lib/inttostr.h.
84753
84754 2005-03-23  Jim Meyering  <jim@meyering.net>
84755
84756         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84757
84758 2005-03-22  Jim Meyering  <jim@meyering.net>
84759
84760         * modules/stat-macros: New module.
84761         * modules/canonicalize, modules/euidaccess, modules/file-type,
84762         * modules/filemode, modules/lchown, modules/makepath,
84763         * modules/rmdir, modules/stat: Depend on new stat-macros module
84764         rather than listing lib/stat-macros.h manually.
84765         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84766
84767 2005-03-22  Jim Meyering  <jim@meyering.net>
84768
84769         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84770
84771 2005-03-22  Bruno Haible  <bruno@clisp.org>
84772
84773         * config/srclist.txt: Replace target directory 'config' with
84774         'build-aux'.
84775         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84776         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84777         ../build-aux/.
84778
84779 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84780
84781         * modules/chdir-long (Depends-on): Add mempcpy.
84782
84783         * modules/acl, modules/backupfile, modules/c-strtod,
84784         modules/c-strtold, modules/canon-host, modules/canonicalize,
84785         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84786         modules/exclude, modules/exitfail, modules/file-type,
84787         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84788         modules/getdate, modules/getline, modules/getpagesize,
84789         modules/getpass, modules/getugroups, modules/group-member,
84790         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84791         modules/inttostr, modules/long-options, modules/makepath,
84792         modules/md5, modules/memcasecmp, modules/memcoll,
84793         modules/modechange, modules/mountlist, modules/path-concat,
84794         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84795         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84796         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84797         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84798         modules/strftime, modules/strndup, modules/strverscmp,
84799         modules/timespec, modules/unlocked-io, modules/userspec,
84800         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84801         modules/yesno:
84802         Remove lib_SOURCES line from Makefile.am section, as this is now
84803         done automatically by the corresponding Autoconf macro.
84804
84805 2005-03-21  Jim Meyering  <jim@meyering.net>
84806
84807         Changes imported from coreutils.
84808
84809         * lib/cycle-check.c: Don't include xalloc.h.
84810
84811         * lib/path-concat.c: Don't include assert.h.
84812         (path_concat): Remove assertion that would have triggered
84813         for ABASE starting with more than one slash.
84814         Reported by Andreas Schwab.
84815
84816         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84817         properly when ABASE is an absolute file name.
84818         Correct the description of this function.
84819         Include <assert.h>.
84820         Add an assertion and a test driver.
84821         This fixes a bug introduced on 2004-07-02.
84822         Andreas Schwab reported the resulting failure of cp --parents:
84823         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84824
84825 2005-03-21  Jim Meyering  <jim@meyering.net>
84826
84827         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84828         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84829
84830 2005-03-21  Jim Meyering  <jim@meyering.net>
84831         and  Paul Eggert  <eggert@cs.ucla.edu>
84832
84833         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84834         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84835         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84836         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84837         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84838         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84839         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84840         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84841         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84842         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84843         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84844         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84845         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84846         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84847         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84848         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84849         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84850         for these modules.
84851
84852 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84853
84854         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84855         (which shouldn't happen), generate nothing instead of returning 0
84856         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84857
84858 2005-03-16  Bruno Haible  <bruno@clisp.org>
84859
84860         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84861         HAVE_LONGLONG_64BIT.
84862
84863 2005-03-16  Bruno Haible  <bruno@clisp.org>
84864
84865         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84866         HAVE_LONGLONG_64BIT.
84867
84868 2005-03-16  Bruno Haible  <bruno@clisp.org>
84869
84870         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84871         HAVE_LONGLONG_64BIT.
84872
84873 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84874
84875         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84876         reliably distinguish strftime failure from empty output on POSIX
84877         hosts.
84878
84879 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84880
84881         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84882         (iconv_string): Don't guess a size-zero buffer, as that might cause
84883         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84884         result would be 'too large', where 'too large' is (heuristically)
84885         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84886         overflow concerns.  This will prevent some unwanted malloc failures
84887         when the inputs are very large.
84888
84889 2005-03-15  Karl Berry  <karl@gnu.org>
84890
84891         * config/srclist.txt (config.rpath): from gettext.
84892         * config/config.rpath: update.
84893
84894 2005-03-15  Bruno Haible  <bruno@clisp.org>
84895
84896         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84897         to 'negate'.
84898
84899         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84900         variable.
84901
84902         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84903         results.
84904
84905 2005-03-14  Simon Josefsson  <jas@extundo.com>
84906
84907         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84908         <fx@gnu.org>.
84909
84910 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84911
84912         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84913         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84914         intprops.h.
84915         * lib/strtol.c: Likewise.
84916
84917 2005-03-14  Jim Meyering  <jim@meyering.net>
84918
84919         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84920         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84921         to be nonzero so that we (and caller) can detect the difference
84922         between a valid zero-length expansion and an error return, even
84923         when the underlying strftime fails before writing anything into
84924         that location.
84925
84926 2005-03-14  Bruno Haible  <bruno@clisp.org>
84927
84928         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84929         Update from GNU gettext 0.14.3.
84930
84931 2005-03-10  Jim Meyering  <jim@meyering.net>
84932
84933         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84934
84935 2005-03-10  Jim Meyering  <jim@meyering.net>
84936
84937         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84938         so that this module works on systems without fchdir.
84939
84940 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84941
84942         Factor int-properties macros into a single file, except for
84943         glibc-related files.
84944         * lib/intprops.h: New file.
84945         * lib/getloadavg.c: Include it instead of limits.h.
84946         (INT_STRLEN_BOUND): Remove.
84947         * lib/human.c: Include intprops.h.
84948         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84949         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84950         302/1000.
84951         * lib/inttostr.h: Include intprops.h instead of limits.h.
84952         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84953         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84954         for consistency with intprops.h.
84955         (time_t_is_integer, twos_complement_arithmetic): Use them.
84956         * lib/sig2str.h: Include <signal.h>, intprops.h.
84957         (INT_STRLEN_BOUND): Remove.
84958         * lib/strftime.c (TYPE_SIGNED): Remove.
84959         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84960         * lib/strtol.c: Adjust comments to match intprops.h.
84961         * lib/userspec.c: Include intprops.h.
84962         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84963         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84964         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84965         instead of rolling our own expressions.
84966         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84967
84968         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84969         instead of int.
84970         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84971         the right thing even if adding 1900 would overflow.  Similarly
84972         for tm_mon + 1 and tm_yday + 1.
84973         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84974         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84975         (DO_SIGNED_NUMBER): New macro.
84976         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84977
84978 2005-03-07  Bruno Haible  <bruno@clisp.org>
84979
84980         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84981
84982 2005-03-07  Bruno Haible  <bruno@clisp.org>
84983
84984         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84985
84986 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84987
84988         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84989         (func_import): Only replace files via --import when they have actually
84990         changed.
84991
84992 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84993
84994         * m4/mmap-anon.m4: New file.
84995         * m4/pagealign_alloc.m4: New file.
84996
84997 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84998             Bruno Haible  <bruno@clisp.org>
84999
85000         * modules/pagealign_alloc: New file.
85001         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85002
85003 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85004             Bruno Haible  <bruno@clisp.org>
85005
85006         * lib/pagealign_alloc.h: New file.
85007         * lib/pagealign_alloc.c: New file.
85008
85009 2005-03-03  Bruno Haible  <bruno@clisp.org>
85010
85011         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85012         Use an all-permissive copyright notice, recommended by RMS.
85013
85014 2005-03-02  Bruno Haible  <bruno@clisp.org>
85015
85016         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85017         of AIX, the replacement has to be done only after <string.h> is
85018         included, therefore not in config.h. stpncpy.h does the replacement,
85019         and stpncpy.c uses it.
85020
85021 2005-03-02  Bruno Haible  <bruno@clisp.org>
85022
85023         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85024         stpncpy.c uses it.
85025
85026 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85027
85028         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85029         The workaround isn't strictly needed for POSIX conformance, and
85030         it's too much of a pain to configure and maintain.  We'll ask
85031         people to fix their kernels instead.
85032         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85033         (NANOSLEEP_BUG_WORKAROUND): Remove.
85034         (xnanosleep): Remove the workaround.
85035
85036 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85037
85038         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85039         Reported by Derek Price.
85040         (Include): Add "timespec.h".
85041
85042         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85043
85044 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85045
85046         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85047         to detect nanosleep bug.
85048
85049 2005-03-01  Bruno Haible  <bruno@clisp.org>
85050
85051         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85052
85053 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85054
85055         * modules/gethrxtime: New file.
85056         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85057         (Depends-on): Add gethrxtime.
85058         (configure.ac): Add gl_XNANOSLEEP.
85059         (Makefile.am): Remove lib_SOURCES line.
85060
85061 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85062
85063         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85064         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85065
85066 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85067
85068         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85069         * lib/timespec.h (gettime): Return void, since it always
85070         succeeds now.  All uses changed.
85071         * lib/gettime.c (gettime): Likewise.
85072         [HAVE_NANOTIME]: Prefer nanotime.
85073         Assume gettimeofday succeeds, as POSIX requires.
85074         Assime time () succeeds, since other code already does.
85075         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85076         (timespec_subtract): Remove.
85077         (NANOSLEEP_BUG_WORKAROUND): New constant.
85078         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85079         things considerably.  Use it only on GNU/Linux hosts, since the
85080         workaround shouldn't be needed elsewhere.
85081
85082 2005-02-24  Bruno Haible  <bruno@clisp.org>
85083
85084         * modules/gettext (Files): Add m4/glibc2.m4.
85085
85086 2005-02-24  Bruno Haible  <bruno@clisp.org>
85087
85088         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85089         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85090         * m4/progtest.m4:
85091         Update from GNU gettext 0.14.2.
85092         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85093
85094 2005-02-24  Bruno Haible  <bruno@clisp.org>
85095
85096         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85097         * lib/config.charset: Update from GNU gettext 0.14.2.
85098
85099 2005-02-24  Bruno Haible  <bruno@clisp.org>
85100
85101         * lib/gettext.h: Update from GNU gettext 0.14.2.
85102
85103 2005-02-23  Simon Josefsson  <jas@extundo.com>
85104
85105         * m4/iconvme.m4: New file.
85106
85107 2005-02-23  Jim Meyering  <jim@meyering.net>
85108
85109         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85110         change.
85111         Thanks to Bruno Haible for catching it.
85112
85113 2005-02-22  Simon Josefsson  <jas@extundo.com>
85114
85115         * modules/iconvme: New file.
85116
85117         * MODULES.html.sh: Add iconvme.
85118
85119 2005-02-22  Simon Josefsson  <jas@extundo.com>
85120
85121         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85122
85123 2005-02-22  Simon Josefsson  <jas@extundo.com>
85124
85125         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85126
85127 2005-02-22  Jim Meyering  <jim@meyering.net>
85128
85129         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85130         s/ifndef/ifdef/.
85131
85132 2005-02-20  Neil Conway  <neilc@samurai.com>
85133
85134         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85135         returned by OSX/Darwin if the specified buffer is not large
85136         enough for the hostname.
85137
85138 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85139
85140         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85141         pass it to _help, otherwise the latter coredumps trying to
85142         dereference state.root_argp.
85143
85144 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85145
85146         * modules/chdir-long (Depends-on): Add memrchr.
85147         * modules/memrchr (Files): Add lib/memrchr.h.
85148         (Include): "memrchr.h".
85149
85150 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85151
85152         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85153
85154 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85155
85156         * lib/memrchr.h: New file.
85157         * lib/chdir-long.c: Include it.
85158         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85159         Don't bother including stddef.h.
85160
85161 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85162
85163         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85164         inclusion.
85165         Include <sys/types.h>, for dev_t.
85166         (ME_DUMMY, ME_REMOTE): Move from here....
85167         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85168         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85169         Dmitry V. Levin.
85170         Include mountlist.h first, to test the interface.
85171
85172 2005-01-29  Bruno Haible  <bruno@clisp.org>
85173
85174         * lib/progname.c (program_name): Initialize.
85175         Needed when linking statically on MacOS X.
85176
85177 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85178
85179         Sync from coreutils.
85180         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85181         (Depends-on): Add c-strtod.
85182         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85183
85184 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85185
85186         Sync from coreutils.
85187         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85188
85189         Remove files that are specific to coreutils.
85190         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85191
85192 2005-01-28  Bruno Haible  <bruno@clisp.org>
85193
85194         * modules/javacomp: New file.
85195         * MODULES.html.sh (Java): Add javacomp.
85196
85197 2005-01-28  Bruno Haible  <bruno@clisp.org>
85198
85199         * m4/javacomp.m4: New file, from GNU gettext.
85200
85201 2005-01-28  Bruno Haible  <bruno@clisp.org>
85202
85203         * lib/javacomp.sh.in: New file, from GNU gettext.
85204         * lib/javacomp.h: New file, from GNU gettext.
85205         * lib/javacomp.c: New file, from GNU gettext.
85206
85207 2005-01-26  Simon Josefsson  <jas@extundo.com>
85208
85209         * lib/gai_strerror.c: Use GPL in header.
85210
85211 2005-01-26  Bruno Haible  <bruno@clisp.org>
85212
85213         * modules/javaexec: New file.
85214         * MODULES.html.sh (Java): Add javaexec.
85215
85216 2005-01-26  Bruno Haible  <bruno@clisp.org>
85217
85218         * m4/javaexec.m4: New file, from GNU gettext.
85219
85220 2005-01-26  Bruno Haible  <bruno@clisp.org>
85221
85222         * lib/javaexec.sh.in: New file, from GNU gettext.
85223         * lib/javaexec.h: New file, from GNU gettext.
85224         * lib/javaexec.c: New file, from GNU gettext.
85225
85226 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85227
85228         * modules/lchown (Depends-on): Remove lchown.h
85229
85230 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85231
85232         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85233         must be defined if the header file was not found, in order
85234         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85235
85236 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85237
85238         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85239         initializers for struct pentry_state.
85240         (__argp_error): Check return value of __asprintf
85241         (__argp_failure): Translate error message
85242
85243         * lib/argp-parse.c: Removed braces around the expansion of N_()
85244
85245 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85246
85247         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85248         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85249         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85250         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85251         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85252         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85253         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85254         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85255         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85256         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85257         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85258         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85259         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85260         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85261         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85262         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85263         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85264         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85265         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85266         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85267         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85268         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85269         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85270         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85271         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85272         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85273         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85274         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85275         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85276         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85277         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85278         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85279         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85280         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85281         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85282         Use an all-permissive copyright notice, recommended by RMS.
85283
85284 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85285
85286         * modules/chdir-long (Depends-on): Remove mempcpy.
85287
85288 2005-01-21  Jim Meyering  <jim@meyering.net>
85289
85290         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85291         same value as for Solaris 9.
85292
85293         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85294         component length.  This included changing the parameter to be
85295         of type `char *' rather than `char const *'.
85296         * lib/chdir-long.h (chdir_long): Update prototype.
85297
85298         * lib/openat.c (fdopendir, fstatat): New functions.
85299         * lib/openat.h: Include headers required for use of DIR and struct
85300         stat.
85301         [AT_SYMLINK_NOFOLLOW]: Define.
85302         (fdopendir, fstatat): Add prototypes.
85303
85304 2005-01-21  Bruno Haible  <bruno@clisp.org>
85305
85306         * modules/classpath: New file.
85307         * MODULES.html.sh (Java): Add classpath.
85308
85309 2005-01-21  Bruno Haible  <bruno@clisp.org>
85310
85311         * lib/classpath.h: New file, from GNU gettext.
85312         * lib/classpath.c: New file, from GNU gettext.
85313
85314 2005-01-20  Simon Josefsson  <jas@extundo.com>
85315
85316         * modules/version-etc-fsf: New file.
85317
85318 2005-01-20  Simon Josefsson  <jas@extundo.com>
85319
85320         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85321         * lib/version-etc.c: Remove version_etc_copyright.
85322         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85323         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85324
85325 2005-01-20  Simon Josefsson  <jas@extundo.com>
85326
85327         * lib/base64.h (isbase64): Add.
85328
85329         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85330         using a unsigned prototype, don't inline.
85331         (base64_decode): Use it.
85332
85333 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85334
85335         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85336         it.
85337
85338 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85339
85340         * lib/save-cwd.c (save_cwd): Remove code to support the case
85341         where fchdir is missing or flaky.
85342
85343 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85344
85345         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85346
85347 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85348
85349         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85350         AC_LIBSOURCES now does this.
85351         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85352         with new ullong_max module.
85353
85354 2005-01-19  Bruno Haible  <bruno@clisp.org>
85355
85356         * modules/sh-quote: New file.
85357         * MODULES.html.sh (Executing programs): Add sh-quote.
85358
85359 2005-01-19  Bruno Haible  <bruno@clisp.org>
85360
85361         * lib/sh-quote.h: New file, from GNU gettext.
85362         * lib/sh-quote.c: New file, from GNU gettext.
85363
85364 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85365
85366         Merge from coreutils.
85367         * m4/ullong_max.m4: New file.
85368         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85369         (gl_MACROS): Assume localeconv exists.
85370
85371 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85372
85373         Merge changes from coreutils, as described below in several
85374         changelogs dated today.
85375
85376         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85377         (O_DIRECTORY): Remove; not needed here, since "." must be
85378         a directory.  All uses removed.
85379         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85380         universal on Suns, and we also need to test for IRIX.
85381         Revamp code to use 'if' rather than '#if'.
85382         Avoid unnecessary comparison of cwd->desc to 0.
85383
85384         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85385         for known valid error numbers rather than observed invalid ones.
85386
85387 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85388
85389         * modules/ullong_max: New file.
85390
85391         * modules/chdir-long, modules/openat: New files.
85392         * modules/save-cwd (Depends-on): Depend on chdir-long.
85393         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85394
85395 2005-01-18  Jim Meyering  <jim@meyering.net>
85396
85397         Merge from coreutils.
85398         * m4/chdir-long.m4, m4/openat.m4: New files.
85399         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85400         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85401         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85402         is sane and DOES follow symlinks.  Besides, testing 20 different
85403         systems found no broken chown implementations.
85404         Prompted by a change in rsync's copy of this macro.
85405         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85406
85407         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85408
85409         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85410         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85411         NULL-means-set-to-current-time semantics.
85412         Remove temporary file immediately, rather than waiting
85413         for configure's at-exit trap code to do it.
85414
85415 2005-01-18  Jim Meyering  <jim@meyering.net>
85416
85417         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85418
85419         * lib/utimens.c (futimens): Account for the fact that futimes
85420         can also fail with errno == ENOSYS or errno == ENOENT.
85421         Patch from Dmitry V. Levin.
85422
85423         Change the name of the robust chdir function from chdir to chdir_long.
85424         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85425         (restore_cwd): Use chdir_long, not chdir.
85426         * lib/chdir-long.c: Renamed from chdir.c.
85427         * lib/chdir-long.h: Renamed from chdir.h.
85428         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85429         Hurd.
85430
85431 2005-01-18  Bruno Haible  <bruno@clisp.org>
85432
85433         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85434         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85435         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85436         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85437         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85438         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85439         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85440         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85441         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85442         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85443         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85444         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85445         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85446         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85447         Use an all-permissive copyright notice, recommended by RMS.
85448
85449 2005-01-18  Bob Proulx  <bob@proulx.com>
85450
85451         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85452         simplify offsetof() macro construct to avoid compile failure with
85453         native HP-UX 11.0 ANSI C compiler.
85454
85455 2005-01-17  Bruno Haible  <bruno@clisp.org>
85456
85457         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85458         redundant because stpncpy.m4 takes care of it.
85459
85460 2005-01-17  Bruno Haible  <bruno@clisp.org>
85461
85462         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85463
85464 2005-01-17  Bruno Haible  <bruno@clisp.org>
85465
85466         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85467         used.
85468
85469 2005-01-17  Bruno Haible  <bruno@clisp.org>
85470
85471         * lib/fwriteerror.h (fwriteerror): Change specification to include
85472         fclose.
85473         * lib/fwriteerror.c: Include <stdbool.h>.
85474         (fwriteerror): At the end, close the file stream. Record whether
85475         stdout was already closed.
85476
85477 2005-01-17  Bruno Haible  <bruno@clisp.org>
85478
85479         * lib/execute.c (environ): Declare if needed.
85480         * lib/pipe.c (environ): Likewise.
85481         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85482
85483 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85484
85485         * modules/argp: Depend on vsnprintf
85486
85487 2005-01-10  Jim Meyering  <jim@meyering.net>
85488
85489         * modules/closeout (Depends-on): Add atexit.
85490
85491 2005-01-06  Bruno Haible  <bruno@clisp.org>
85492
85493         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85494
85495 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85496
85497         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85498         definitions to be after all include files, to avoid collisions.
85499         Problem reported by Bob Proulx.
85500
85501 2005-01-04  Jim Meyering  <jim@meyering.net>
85502
85503         Changes imported from coreutils.
85504         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85505         as the mkstemp template, use a temporary directory and an
85506         8.3-friendly template to avoid trouble on systems like DJGPP.
85507         Reported by Juan M. Guerrero via Stepan Kasal.
85508         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85509         close. Remove the temporary directory right away, rather than waiting
85510         for configure's at-exit trap code to do it.
85511         Suggestion from Stepan Kasal.
85512
85513 2005-01-01  Simon Josefsson  <jas@extundo.com>
85514
85515         * gnulib-tool: Print #include directives when --import'ing.
85516
85517 2004-12-28  Simon Josefsson  <jas@extundo.com>
85518
85519         * tests/test-base64.c: Include required header files.  Remove
85520         unused variables.
85521
85522 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85523
85524         * modules/error (Depends-on): Remove gettext.
85525
85526 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85527
85528         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85529         not needed.  This removes a dependency on the gettext module.
85530         [defined _LIBC]: Do not include <libintl.h>; not needed.
85531
85532 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85533
85534         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85535         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85536
85537 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85538
85539         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85540         HAVE_DECL_STRTOLD.
85541
85542 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * modules/getdate (Depends-on): Remove alloca-opt.
85545
85546 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85547
85548         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85549
85550 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85551
85552         * lib/argp-parse.c: Include <stddef.h>.
85553         (alignof, alignto): New macros.
85554         (parser_init): Don't assume that void * is aligned sufficiently
85555         for struct option.
85556
85557         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85558         need to extend the stack.
85559         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85560         large.
85561
85562 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85563
85564         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85565
85566 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85567
85568         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85569         (2004-10-24) change.  Apparently this was a false alarm.
85570
85571         * modules/getdate: Depend on alloca-opt, not alloca.
85572
85573 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85574
85575         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85576         Remove now-obsolete comment about AIX.
85577         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85578         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85579         (YYMAXDEPTH): New macro.
85580
85581 2004-12-18  Simon Josefsson  <jas@extundo.com>
85582
85583         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85584
85585 2004-12-18  Bruno Haible  <bruno@clisp.org>
85586
85587         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85588
85589 2004-12-18  Bruno Haible  <bruno@clisp.org>
85590
85591         * lib/fatal-signal.c (fatal_signals): Make non-const.
85592         (init_fatal_signals): New function.
85593         (uninstall_handlers, install_handlers): Ignore signals that were set to
85594         SIG_IGN.
85595         (at_fatal_signal): Call init_fatal_signals.
85596         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85597         SIG_IGN.
85598         Reported by Paul Eggert.
85599
85600 2004-12-18  Bruno Haible  <bruno@clisp.org>
85601
85602         * doc/alloca.texi: New file.
85603         * doc/alloca-opt.texi: New file.
85604
85605 2004-12-17  Jim Meyering  <jim@meyering.net>
85606
85607         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85608         Otherwise, install-sh could exit with improper exit status when
85609         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85610
85611 2004-12-16  Simon Josefsson  <jas@extundo.com>
85612
85613         * tests/test-base64.c: Add license.
85614
85615 2004-12-15  Stepan Kasal  <address@hidden>
85616
85617         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85618
85619 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85620
85621         * modules/getcwd (Files): Add m4/d-ino.m4.
85622         Suggested by Mark D. Baushke.
85623
85624 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85625
85626         * lib/getdate.y (textint): New member "negative".
85627         (time_zone_hhmm): New function.
85628         Expect 14 shift-reduce conflicts, not 13.
85629         (o_colon_minutes): New rule.
85630         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85631         (yylex): Set the "negative" member of signed numbers.
85632
85633 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85634
85635         * doc/getdate.texi (Time of day items, Time zone items):
85636         Describe new formats +00:00, UTC+00:00.
85637
85638 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85639
85640         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85641         spurious "-l"s.  Problem reported by Stepan Kasal.
85642
85643 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85644
85645         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85646         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85647
85648 2004-12-04  Simon Josefsson  <jas@extundo.com>
85649
85650         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85651         Vandoorselaere <yoann@prelude-ids.org>.
85652
85653 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85654
85655         Changes imported from coreutils.
85656         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85657         exist.
85658         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85659
85660 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85661
85662         Changes imported from coreutils.
85663         * lib/hard-locale.c: Assume <locale.h> exists.
85664         Include "strdup.h".
85665         (GLIBC_VERSION): New macro.
85666         (hard_locale): Assume setlocale exists.
85667         Rewrite to avoid #ifdef.
85668         Use strdup rather than malloc + strcpy.
85669         * lib/human.c: Assume <locale.h> exists.
85670         (human_readable): Assume localeconv exists.
85671
85672 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85673
85674         * modules/hard-locale (Depends-on): Add strdup.
85675
85676 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
85677
85678         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
85679         convert T2, not T.  (Imported from libc.)
85680
85681 2004-11-30  Simon Josefsson  <jas@extundo.com>
85682
85683         * modules/restrict (License): Change to LGPL.
85684
85685 2004-11-30  Simon Josefsson  <jas@extundo.com>
85686
85687         * m4/restrict.m4: Add copyright and copying conditions.
85688
85689 2004-11-30  Simon Josefsson  <jas@extundo.com>
85690
85691         * m4/base64.m4: New file.
85692
85693 2004-11-30  Simon Josefsson  <jas@extundo.com>
85694
85695         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85696         base64.
85697
85698         * tests/test-base64.c: New file.
85699
85700         * modules/base64: New file.
85701
85702 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85703
85704         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85705         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85706
85707         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85708
85709 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85710
85711         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85712         (__getcwd.c): Don't restore errno; glibc doesn't.
85713         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85714         first, falling back to our code only if its results look suspicious.
85715         Ensure that the resulting buffer is only as large as necessary.
85716
85717         * lib/readutmp.c: Include readutmp.h first.
85718         Include <errno.h>, since readutmp.h no longer does that.
85719         * lib/readutmp.h: Don't include <errno.h>,
85720         <sys/param.h>, <time.h>; not needed to establish interface.
85721         (errno): Remove decl.
85722         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85723         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85724         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85725
85726 2004-11-28  Simon Josefsson  <jas@extundo.com>
85727
85728         * lib/base64.h, base64.c: New file.
85729
85730 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85731
85732         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85733
85734 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85735
85736         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85737         (Depends-on): Remove pathmax, same.  Add mempcpy.
85738         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85739         (Makefile.am): Append getcwd.h to lib_SOURCES.
85740         (Include): Add getcwd.h.
85741         (Maintainer): Change from Jim Meyering to "all, glibc",
85742         since getdate now uses intended-for-glibc code.
85743         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85744         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85745
85746 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85747
85748         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85749         HP's ANSI C compiler.
85750         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85751         Declaring int functions causes warnings on some modern systems and
85752         shouldn't be needed to compile on ancient ones.
85753         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85754         defined.
85755
85756         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85757         with the following changes.
85758         (__set_errno): Parenthesize properly.
85759         Include <stdbool.h>.
85760         (MIN, MAX, MATCHING_INO): New macros.
85761         (__getcwd): Define with prototype, not K&R form.
85762         Use heuristics to allocate default buffer on stack if possible.
85763         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85764         behavior, and to avoid the PATH_MAX limit when computing
85765         ../../../../...
85766         Use MATCHING_INO to compare inode number to file.
85767         Check for arithmetic overflow in size calculations.
85768         Fix bug in reallocation of dot array that caused getcwd to fail
85769         on directories nested deeper than 75.
85770         Be more careful about saving errno on error.
85771         Do not use realloc; use only free+malloc, as this is a bit
85772         more flexible and avoids a needless copy operation.
85773         Do not inspect st_dev and st_ino for symbolic links; POSIX
85774         doesn't specify the latter.
85775         Check for closedir errors.
85776         Avoid needless casts.
85777         Use "#ifdef weak_alias" around weak_alias, to be like other
85778         glibc code.
85779         The following changes to getcwd.c have effect only when used in
85780         gnulib; they have no effect inside glibc proper.
85781         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85782         as alloca isn't used.
85783         (alloca, __alloca): Likewise.
85784         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85785         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85786         unconditionally, as gnulib assumes C89 or better.
85787         Do not include <sys/param.h>.
85788         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85789         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85790         better.
85791         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85792         Include <dirent.h> in a way that is compatible with modern Autoconf.
85793         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85794         New macros, if not already defined.
85795         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85796         Use "_LIBC", not "defined _LIBC", for consistency.
85797         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85798         a mempcpy module.
85799         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85800         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85801         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85802         credit only to Jim Meyering and adjust the copyright dates.
85803         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85804         <stdlib.h>, <unistd.h>, "pathmax.h".
85805         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85806         (INITIAL_BUFFER_SIZE): Remove.
85807         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85808
85809 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85810
85811         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85812         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85813         Use the _ONCE methods, for efficiency.
85814         Check for fcntl.h.  In test program, include <errno.h>
85815         and <fcntl.h> if available.  Remove old K&R cruft from
85816         test program.  Check for common errors in GNU/Linux,
85817         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85818         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85819         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85820         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85821         name accordingly.
85822         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85823         accommodate new getcwd.c.
85824         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85825         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85826         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85827         that's all we need now.
85828
85829 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85830
85831         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85832         argp-parse.c depends on getopt internals, that means we should
85833         always use our getopt, to be on the safe side.
85834         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85835         order not to spoil the result of an eventual previous invocation
85836         of gl_GETOPT_SUBSTITUTE.
85837
85838 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85839
85840         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85841         redefinition warnings. To avoid them, include the defines
85842         in `#if !defined __need_getopt ... #endif'. The only place
85843         where __getopt_argv_const is used is in definitions
85844         of getopt_long and getopt_long_only below, which are as well
85845         protected by `#ifndef __need_getopt'.
85846         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85847         __need_getopt after including <stdio.h> and <unistd.h> These
85848         headers might have defined it.
85849
85850 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85851
85852         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85853
85854 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85855
85856         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85857         (futimens): New function, which uses futimes if available.
85858         (futimens, utimens): Support timespec==NULL, with same semantics
85859         as utime and utimens.
85860         * lib/utimens.h (futimens): New decl.
85861
85862 2004-11-23  Jim Meyering  <jim@meyering.net>
85863
85864         * lib/getopt_.h: Remove trailing blanks.
85865
85866 2004-11-23  Jim Meyering  <jim@meyering.net>
85867
85868         * lib/__fpending.c: Add comment.
85869
85870 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85871
85872         * modules/canonicalize (Depends-on): Add xreadlink.
85873         Problem reported by James Youngman.
85874
85875 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85876
85877         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85878         New macros.
85879         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85880         optopt): Use them instead of invoking ## directly; otherwise, the
85881         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85882
85883 2004-11-19  Bruno Haible  <bruno@clisp.org>
85884
85885         * lib/strtok_r.c: Move comments from here...
85886         * lib/strtok_r.h: ... to here.
85887
85888 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85889
85890         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85891         implementations that mishandle size_t overflow.
85892
85893 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85894
85895         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85896         might fail.  Problem reported by Yoann Vandoorselaere.
85897         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85898         implementations that mishandle size_t overflow.
85899
85900 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85901
85902         * modules/canon-host (Depends-on): Add strdup.
85903
85904 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85905
85906         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85907
85908 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85909
85910         * lib/canon-host.c: Include "strdup.h".
85911         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85912         Use strdup instead of malloc/strcpy to duplicate strings.
85913
85914         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85915         (human_space_before_unit): New constant.
85916         * lib/human.c (human_readable): Support it.
85917
85918         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85919         (xgetcwd): Set errno correctly when failing.
85920         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85921         the failure is actually due to a PATH_MAX problem.
85922
85923         Further getopt changes to make it more likely that glibc will
85924         buy the changes back.
85925         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85926         (getopt): Use it, so to preserve glibc semantic
85927         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85928         when compiling for libc.
85929         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85930         (getopt_long, getopt_long_only): Use it.
85931
85932         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85933         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85934         (getopt): Argv is now char * const *, as per standard.
85935         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85936         not char *__getopt_argv_const *.
85937         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85938         _getopt_long_only_r): Likewise.
85939         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85940         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85941         _getopt_long_r, _getopt_long_only_r): Likewise.
85942         * lib/getopt_.h (__getopt_argv_const): Remove.
85943         (getopt): Argv is now char * const *, as per standard.
85944
85945         * lib/getdate.y (tORDINAL): New token.
85946         (day, relunit): Allow it for relative times.
85947         (relative_time_table): Use tORDINAL for ordinals.
85948
85949 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85950
85951         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85952         Document that "second" isn't allowed as an ordinal number.
85953
85954 2004-11-16  Jim Meyering  <jim@meyering.net>
85955
85956         * modules/closeout (Depends-on): Add fpending.
85957
85958 2004-11-15  Jim Meyering  <jim@meyering.net>
85959
85960         * lib/closeout.c: Include "__fpending.h" once again.
85961         Include <stdbool.h>.
85962         (close_stdout): Don't fail just because stdout was closed initially,
85963         since some programs don't write to stdout in the normal course of
85964         operation (other than --version and --help), and we don't want this
85965         function to make e.g. `touch file >&-' fail.
85966         But do fail if it was closed and someone has tried to write to it.
85967         E.g., `printf foo >&-' must fail.
85968
85969 2004-11-13  Jim Meyering  <jim@meyering.net>
85970
85971         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85972
85973 2004-11-12  Simon Josefsson  <jas@extundo.com>
85974
85975         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85976         small doc fix is still pending.
85977
85978 2004-11-11  Simon Josefsson  <jas@extundo.com>
85979
85980         * modules/strtok_r: New file.
85981
85982         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85983         strtok_r.
85984
85985 2004-11-11  Simon Josefsson  <jas@extundo.com>
85986
85987         * m4/strtok_r.m4: New file.
85988
85989         * m4/getopt.m4: Replace opterr.
85990
85991 2004-11-11  Simon Josefsson  <jas@extundo.com>
85992
85993         * lib/strtok_r.h, strtok_r.c: New file.
85994
85995 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85996
85997         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
85998         of replacing opterr, getopt, etc.  This should handle the
85999         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86000
86001 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86002
86003         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86004         we can stop lying to compilers about the constness of argv when we
86005         are compiled outside glibc.
86006         (getopt, getopt_long, getopt_long_only): Use it.
86007         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86008         _getopt_internal, getopt): Likewise.
86009         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86010         _getopt_long_only_r): Likewise.
86011         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86012         _getopt_long_r, _getopt_long_only_r): Likewise.
86013
86014         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86015         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86016         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86017         the other external symbols.
86018         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86019         declaration, since the above renaming now works around collisions.
86020
86021 2004-11-11  Jim Meyering  <jim@meyering.net>
86022
86023         * lib/linebreak.c: Remove trailing blanks.
86024         * lib/alloca_.h: Likewise.
86025         * lib/acosl.c: Likewise.
86026         * lib/euidaccess.c: Likewise.
86027         * lib/allocsa.h: Likewise.
86028
86029 2004-11-10  Simon Josefsson  <jas@extundo.com>
86030
86031         * m4/getaddrinfo.m4: New file.
86032
86033 2004-11-10  Simon Josefsson  <jas@extundo.com>
86034
86035         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86036
86037 2004-11-10  Simon Josefsson  <jas@extundo.com>
86038
86039         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86040         getaddrinfo.
86041
86042         * modules/getaddrinfo: New file.
86043
86044 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86045
86046         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86047
86048 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86049
86050         * lib/mktime.c (SHR): New macro, which is a portable
86051         substitute for >> that should work even on Crays.
86052         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86053         Problem reported by Mark D. Baushke in
86054         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86055         * lib/getdate.y (SHR): Likewise.
86056         (tm_diff): Use it.
86057         * lib/strftime.c (SHR): Likewise.
86058         (tm_diff): Use it.
86059         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86060         quote_these_too, so that right shifts are well defined.  All uses
86061         changed.
86062
86063 2004-11-10  Jim Meyering  <jim@meyering.net>
86064
86065         Ensure that no close failure goes unreported.
86066         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86067         return early when it seems there's nothing to flush.
86068         Don't include __fpending.h.
86069
86070 2004-11-10  Jim Meyering  <jim@meyering.net>
86071
86072         * modules/closeout (Depends-on): Remove fpending.
86073
86074 2004-11-10  Jim Meyering  <jim@meyering.net>
86075
86076         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86077
86078 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86079
86080         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86081         gl_FUNC_STRFTIME.
86082         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86083         and AC_REQUIRE when possible, to avoid duplicate checks.
86084         Check for <wchar.h>.
86085
86086 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86087
86088         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86089
86090 2004-11-09  Bruno Haible  <bruno@clisp.org>
86091
86092         * m4/sockpfaf.m4: New file.
86093
86094 2004-11-05  Bruno Haible  <bruno@clisp.org>
86095
86096         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86097         Reported by Mark D. Baushke <mdb@cvshome.org>.
86098
86099 2004-11-04  Bruno Haible  <bruno@clisp.org>
86100
86101         2004-09-11  Bruno Haible  <bruno@clisp.org>
86102                 * allocsa.valgrind: New file.
86103         2004-02-06  Bruno Haible  <bruno@clisp.org>
86104                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86105                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86106                 Reported by Christopher Seip <chris.seip@hp.com>.
86107
86108 2004-11-04  Bruno Haible  <bruno@clisp.org>
86109
86110         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86111         (Makefile.am): Distribute it.
86112
86113 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86114
86115         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86116         with errno == ERANGE if the buffer is too small.
86117         Problem reported by Mark D. Baushke.
86118
86119 2004-11-03  Albert Chin  <china@thewrittenword.com>
86120             Paul Eggert  <eggert@cs.ucla.edu>
86121
86122         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86123         equivalent, substitute $ac_type for equivalent type rather than
86124         blindly using uint32_t *always* which won't work if uint32_t is not
86125         available.  Define _UINT32_T to work around typedef of uint32_t if
86126         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86127         2.5.1.
86128
86129 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86130
86131         * m4/jm-macros.m4: Sync from coreutils.
86132         (gl_MACROS): Check for mbrlen, for pathchk.
86133         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86134
86135 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86136
86137         * lib/xreadlink.c (MAXSIZE): New macro.
86138         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86139         size does not exceed MAXSIZE.  Avoid cast.
86140         As suggested by Mark D. Baushke in
86141         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86142         if readlink fails with buffer size just under MAXSIZE, try again
86143         with MAXSIZE.
86144
86145 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86146
86147         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86148
86149 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86150         and  Paul Eggert  <eggert@cs.ucla.edu>
86151
86152         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86153         (get_date): Overparenthesize to avoid GCC warning.
86154
86155 2004-11-02  Bruno Haible  <bruno@clisp.org>
86156
86157         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86158         returns void.
86159
86160 2004-11-02  Bruno Haible  <bruno@clisp.org>
86161
86162         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86163         function returns void.
86164
86165 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86166
86167         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86168         fflush_unlocked, flockfile, funlockfile, funlockfile,
86169         fputs_unlocked, putc_unlocked.
86170
86171 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86172
86173         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86174         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86175         already declared.
86176
86177 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86178
86179         * modules/getdate (Files): Add doc/getdate.texi.
86180         (Depends-on): Add setenv, xalloc.
86181
86182 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86183
86184         * lib/getdate.y: Add support for TZ="foo" within a date string.
86185         Fix some bugs near time_t boundaries.  Reject dates with
86186         out-of-range components, e.g., "Sept 31".
86187         Include <stdlib.h>, "setenv.h", "xalloc.h".
86188         (ISDIGIT_LOCALE): Remove; unused.
86189         Note that the TZ and time functions used here are not reentrant.
86190         (mktime_ok, get_tz): New functions.
86191         (TZBUFSIZE): New constant.
86192         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86193         This requires that we sometimes generate our own TZ="XXX..." setting.
86194
86195 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86196
86197         * doc/getdate.texi: New file, from coreutils with modifications for
86198         the new TZ parsing.
86199
86200 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86201
86202         * lib/mktime.c (not_equal_tm): Remove redundant check.
86203
86204 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86205
86206         * modules/regex (lib_SOURCES): Add regex.c.
86207         Reported by James Youngman in
86208         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86209
86210 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86211
86212         * lib/getdate.y: Use Bison 1.875 features, and some minor
86213         code cleanups.  This change does not affect semantics.
86214         Don't include <stdlib.h>; no longer needed.
86215         Don't include unlocked-io.h; only the "#if TEST" code uses
86216         stdio, and performance isn't crucial there.
86217         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86218         Bison 1.875 features as described below.
86219         All uses of "PC." replaced by "pc->".
86220         (YYSTYPE): Add a forward declaration.
86221         (yylex, yyerror): Use full prototypes in forward decls.
86222         Use "%pure-parser" rather than obsolescent "%pure_parser".
86223         Use %parse-param and %lex-param instead of obsolescent
86224         YYPARSE_PARAM and YYLEX_PARAM.
86225         (meridian_table, month_and_day_table, time_units_table,
86226         relative_time_table, time_zone_table, military_table,
86227         lookup_zone, lookup_word, get_date):
86228         Use NULL instead of 0 where appropriate.
86229         (to_hour): Avoid abort (), to avoid a dependency on
86230         stdlib.h.
86231         (yyerror, yylex): Now accepts parser_control * arg.
86232         (main) [TEST]: Use '\0' rather than 0 for char.
86233
86234 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86235
86236         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86237
86238 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86239
86240         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86241         It's now the caller's responsibility to handle the case where
86242         !HAVE_GETPAGESIZE && !defined getpagesize.
86243
86244         * lib/mktime.c (leapyear): Arg is long int, not int.
86245
86246 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86247
86248         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86249
86250 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86251
86252         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86253         missing.  Problem reported by James Youngman.
86254
86255 2004-10-16  Simon Josefsson  <jas@extundo.com>
86256
86257         * gnulib-tool: Fix comments.  Fix parse problem.
86258         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86259
86260 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86261
86262         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86263         implementation of getopt_long.  Problem reported by Alexander Taler in:
86264         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86265
86266 2004-10-15  Bruno Haible  <bruno@clisp.org>
86267
86268         * gnulib-tool: Untabify. Initialize supplied_libname.
86269         (func_usage): More homogenous output.
86270         (func_modules_transitive_closure, func_modules_to_filelist,
86271         func_emit_lib_Makefile_am): New functions.
86272         (func_import): New function, extracted from big case statement. Use
86273         func_get_license, func_modules_transitive_closure,
86274         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86275         opt_lgpl. Don't use test -a, as it's not portable.
86276         (func_create_testdir): Use func_modules_transitive_closure,
86277         func_modules_to_filelist, func_emit_lib_Makefile_am.
86278
86279 2004-10-15  Bruno Haible  <bruno@clisp.org>
86280
86281         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86282
86283 2004-10-15  Bruno Haible  <bruno@clisp.org>
86284
86285         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86286         the portions belonging to each module.
86287         Suggested by Derek Robert Price <derek@ximbiot.com>.
86288
86289 2004-10-12  Simon Josefsson  <jas@extundo.com>
86290
86291         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86292         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86293         to real functions.
86294
86295 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86296
86297         * modules/vsnprintf: New file.
86298
86299 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86300
86301         * m4/vsnprintf.m4: New file.
86302
86303 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86304
86305         * lib/vsnprintf.h: New file.
86306         * lib/vsnprintf.c: New file.
86307
86308 2004-10-11  Bruno Haible  <bruno@clisp.org>
86309
86310         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86311         vsnprintf.
86312
86313 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86314
86315         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86316
86317 2004-10-07  Bruno Haible  <bruno@clisp.org>
86318
86319         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86320         fits into the provided buffer.
86321
86322 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86323
86324         * lib/diacrit.c, diacrit.h: Add GPL notice.
86325
86326         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86327         notice.
86328         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86329         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86330         This avoids a potential constant-folding bug.
86331
86332 2004-10-05  Bruno Haible  <bruno@clisp.org>
86333
86334         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86335         for the declaration of strsep.
86336
86337 2004-10-05  Bruno Haible  <bruno@clisp.org>
86338
86339         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86340
86341 2004-10-04  Simon Josefsson  <jas@extundo.com>
86342
86343         * modules/memmem: New file.
86344         * tests/test-memmem.c: New file.
86345         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86346
86347 2004-10-04  Simon Josefsson  <jas@extundo.com>
86348
86349         * m4/memmem.m4: New file.
86350
86351 2004-10-04  Simon Josefsson  <jas@extundo.com>
86352
86353         * lib/memmem.h: New file.
86354         * lib/memmem.c: New file, taken from glibc.
86355
86356 2004-10-04  Simon Josefsson  <jas@extundo.com>
86357
86358         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86359         '#ifdef USE_UNLOCKED_IO'.
86360
86361 2004-10-04  Simon Josefsson  <jas@extundo.com>
86362
86363         * config/srclist.txt: Add memmem from glibc.
86364
86365 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86366
86367         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86368
86369         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86370         modules/exclude, modules/getdate, modules/getline,
86371         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86372         modules/getusershell, modules/linebuffer, modules/md5,
86373         modules/mountlist, modules/posixtm, modules/readtokens,
86374         modules/readutmp, modules/regex, modules/sha1,
86375         modules/version-etc, modules/yesno:
86376         Remove dependency on unlocked-io.
86377
86378 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86379
86380         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86381
86382         * m4/unlocked-io.m4: Add copyright notice.
86383         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86384
86385 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86386
86387         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86388         * lib/xmalloc.c (xmemdup): Likewise.
86389         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86390         XFREE): Remove these long-obsolescent macros.
86391         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86392         * lib/xstrdup.c: Remove.
86393
86394         * lib/regex.c (re_comp): Cast gettext return value to char *,
86395         Problem reported by Martin Neitzel via Mark D. Baushke.
86396
86397 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86398
86399         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86400         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86401         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86402         regex.c, sha1.c, version-etc.c, yesno.c:
86403         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86404         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86405         the includer's responsibility.
86406
86407         Sync from coreutils.
86408
86409         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86410         points to the start of a string, as the C Standard says the
86411         resulting behavior is undefined.
86412
86413         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86414         simple -> simple_backups, numbered_existing ->
86415         numbered_existing_backups, numbered -> numbered_backups
86416         to avoid shadowing problems.  All uses changed.
86417         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86418         * lib/backupfile.c (check_extension, numbered_backup):
86419         Rename locals to avoid shadowing 'basename'.
86420         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86421         once.
86422
86423         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86424         * lib/.cvsignore: Add getopt.h.
86425
86426 2004-10-04  Bruno Haible  <bruno@clisp.org>
86427
86428         * modules/README: New file.
86429         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86430         not a module.
86431
86432 2004-10-02  Jim Meyering  <jim@meyering.net>
86433
86434         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86435
86436 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86437
86438         * modules/strsep: New file.
86439
86440 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86441
86442         * m4/strsep.m4: New file.
86443
86444 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86445
86446         * lib/strsep.h: New file.
86447         * lib/strsep.c: New file.
86448
86449 2004-10-01  Simon Josefsson  <jas@extundo.com>
86450
86451         * lib/snprintf.c (snprintf): Handle size==0.
86452
86453 2004-10-01  Simon Josefsson  <jas@extundo.com>
86454             Bruno Haible  <bruno@clisp.org>
86455
86456         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86457         (snprintf): Declare 'args'.
86458
86459 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86460
86461         * lib/snprintf.c: Remove comments as to why each header is needed.
86462
86463 2004-10-01  Bruno Haible  <bruno@clisp.org>
86464
86465         * MODULES.html.sh: Add strsep.
86466
86467 2004-09-30  Simon Josefsson  <jas@extundo.com>
86468
86469         * modules/snprintf: New file.
86470
86471 2004-09-30  Simon Josefsson  <jas@extundo.com>
86472
86473         * m4/snprintf.m4: New file.
86474
86475 2004-09-30  Simon Josefsson  <jas@extundo.com>
86476
86477         * lib/snprintf.h, lib/snprintf.c: New files.
86478
86479 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86480
86481         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86482         (hol_entry_help): Never translate an empty string.
86483         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86484         * lib/argp.h (OPTION_NO_TRANS): New option.
86485
86486 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86487
86488         * modules/argp (Maintainer): Replace Simon Josefsson
86489         by Sergey Poznyakoff.
86490
86491 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86492
86493         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86494         changes merged back into glibc.
86495
86496 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86497
86498         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86499
86500 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86501
86502         * lib/xvasprintf.c: Include xalloc.h.
86503         (xvasprintf): Use xalloc_die, not xmalloc_die.
86504
86505 2004-09-29  Bruno Haible  <bruno@clisp.org>
86506
86507         * modules/alloca-opt: New file, derived from modules/alloca.
86508         * modules/allocsa: Depend on alloca-opt instead of alloca.
86509         * modules/setenv: Likewise.
86510         * modules/vasnprintf: Likewise.
86511         * MODULES.html.sh: Add alloca-opt.
86512
86513 2004-09-28  Simon Josefsson  <jas@extundo.com>
86514
86515         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86516         LGPL, and to replace license template from GPL to LGPL.
86517
86518 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86519
86520         * modules/dummy: Change license to LGPL.
86521
86522 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86523
86524         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86525
86526 2004-09-24  Simon Josefsson  <jas@extundo.com>
86527
86528         * modules/minmax (License): Change from GPL to LGPL.
86529
86530 2004-09-23  Simon Josefsson  <jas@extundo.com>
86531
86532         * gnulib-tool (--import): Typo.
86533
86534 2004-09-23  Simon Josefsson  <jas@extundo.com>
86535
86536         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86537
86538 2004-09-22  Bruno Haible  <bruno@clisp.org>
86539
86540         * modules/*: Add 'License' field.
86541         * gnulib-tool: Accept --extract-license option.
86542         (func_get_license): New function.
86543
86544 2004-09-21  Bruno Haible  <bruno@clisp.org>
86545
86546         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86547         Reported by Simon Josefsson.
86548
86549 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86550
86551         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86552         gl_AC_TYPE_LONG_LONG.
86553
86554 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86555
86556         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86557
86558 2004-09-18  Simon Josefsson  <jas@extundo.com>
86559         and  Paul Eggert  <eggert@cs.ucla.edu>
86560
86561         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86562         calls with autoreconf.  Define GL_LIB.
86563
86564 2004-09-14  Karl Berry  <karl@gnu.org>
86565
86566         * config/srclist.txt: unsync setenv.c, sigh.
86567
86568 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86569
86570         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86571         Problem reported by Bruno Haible in:
86572         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86573
86574 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86575
86576         * config/srclist.txt: Comment out argp-pvh.c.
86577
86578 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86579
86580         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86581         in case some system header has #define'd it.  Problem reported by
86582         Soeren D. Schulze in
86583         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86584
86585 2004-09-09  Karl Berry  <karl@gnu.org>
86586
86587         * regex.[ch]: delete from the root.  These were supposed to be
86588                 synced with emacs cvs, but this has not happened for about
86589                 a year, and anyway nothing else uses emacs regex.[ch].
86590                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86591                 lib/regex[.ch] is untouched.
86592
86593 2004-09-09  Bruno Haible  <bruno@clisp.org>
86594
86595         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86596
86597 2004-09-09  Bruno Haible  <bruno@clisp.org>
86598
86599         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86600         modifications.
86601         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86602
86603 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86604
86605         * modules/xvasprintf: New file.
86606         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86607
86608 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86609
86610         * lib/xvasprintf.h: New file.
86611         * lib/xvasprintf.c: New file.
86612         * lib/xasprintf.c: New file.
86613
86614 2004-09-08  Bruno Haible  <bruno@clisp.org>
86615
86616         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86617
86618 2004-09-08  Bruno Haible  <bruno@clisp.org>
86619
86620         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86621         length is > INT_MAX.
86622         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86623         more.
86624
86625 2004-09-08  Bruno Haible  <bruno@clisp.org>
86626
86627         * lib/stdint_.h: New file, taken from GNU clisp.
86628
86629 2004-09-08  Bruno Haible  <bruno@clisp.org>
86630             Oskar Liljeblad  <oskar@osk.mine.nu>
86631
86632         * modules/stdint: New file.
86633         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86634
86635 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86636
86637         Import from coreutils.
86638         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86639         strings on unbounded length.  alloca's performance benefits aren't
86640         that important here.
86641         (V_STRDUP): Remove.
86642         (parse_with_separator): New function, with most of the internals
86643         of the old parse_user_spec.  Allow user to omit both user and group,
86644         for compatibility with FreeBSD.
86645         Clone only the user name, not the entire spec.
86646         Do not set *uid, *gid unless entirely successful.
86647         Avoid memory leak in some failing cases.
86648         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86649         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86650         (parse_user_spec): Rewrite to use parse_with_separator.
86651
86652 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86653
86654         * modules/userspec: Don't depend on alloca.
86655
86656 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86657
86658         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86659
86660 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86661
86662         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
86663         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
86664         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
86665
86666 2004-08-16  Simon Josefsson  <jas@extundo.com>
86667
86668         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
86669         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
86670         Add --dry-run for --import.
86671         Let user provided command line parameters override configure.ac
86672         settings.
86673
86674 2004-08-12  Simon Josefsson  <jas@extundo.com>
86675
86676         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
86677         as discussed with Paul Eggert in threads rooted at
86678         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
86679         and
86680         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
86681         Before, the test was empty, and relied on ELIDE_CODE in source
86682         code.)
86683         (gl_PREREQ_GETOPT): New macro.
86684         (gl_GETOPT): Use them.
86685
86686 2004-08-12  Simon Josefsson  <jas@extundo.com>
86687
86688         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86689         * lib/getopt_.h: Renamed from getopt.h.
86690
86691 2004-08-12  Simon Josefsson  <jas@extundo.com>
86692
86693         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86694         Change default library name from libfoo to libgnu.
86695         Now, if you have a configure.ac that says:
86696                 gl_SOURCE_BASE(gl)
86697                 gl_M4_BASE(gl/m4)
86698                 gl_MODULES(error getopt etcetera)
86699                 gl_INIT
86700         you can import all you need by running:
86701                 ../gnulib/gnulib-tool --import
86702
86703         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86704         (Makefile.am): Rewrite, use logic from argz.
86705         (Include): Use <getopt.h> instead of "getopt.h".
86706
86707 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86708
86709         * modules/argp (Files): Add m4/unlocked-io.m4.
86710         (Depends-on): Add extensions.
86711
86712 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86713
86714         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86715         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86716         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86717         Check for program_invocation_name, program_invocation_short_name,
86718         flockfile, funlockfile, features.h, _getopt_long_only_r.
86719
86720 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86721
86722         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86723         its complicated substitute.
86724         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86725         and program_invocation_name.
86726         (__argp_basename) [!_LIBC]: Remove; the only use was
86727         replaced by its body.
86728         (__argp_short_program_name): Change condition from
86729         !defined __argp_short_program_name to
86730         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86731         to match argp-namefrob.h.
86732         (__argp_failure): Don't assume strerror_r returns char *.
86733         * lib/argp-parse.c (N_): Define unconditionally.
86734         (argp_default_options): Fill out initializers with 0 to avoid
86735         gcc warnings.
86736
86737 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86738
86739         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86740         getopt1.c.
86741
86742 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86743
86744         Merge from coreutils.
86745
86746         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86747
86748         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86749         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86750
86751 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86752
86753         Merge from coreutils.
86754
86755         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86756         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86757         for Reliant Unix 5.43.
86758
86759         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86760         (union fooround): Use uintmax_t, not long int.
86761         The rest is a merge from libc:
86762         [defined _LIBC]: Include <shlib-compat.h>.
86763         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86764
86765         * lib/settime.c (settime): Recode to avoid warning with
86766         Sun Forte C 6U2.
86767
86768         * lib/strverscmp.c: Convert to UTF-8.
86769
86770 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86771
86772         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86773         m4/uintmax_t.m4.
86774
86775 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86776
86777         * modules/xalloc-die: New file.
86778         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86779
86780         * modules/md5 (Files): Add m4/uint32_t.m4.
86781         * modules/sha1: Renamed from modules/sha.
86782         (Files):
86783         Rename lib/sha.h to lib/sha1.h.
86784         Rename lib/sha.c to lib/sha1.c.
86785         Rename m4/sha.m4 to m4/sha1.m4.
86786         (lib_SOURCES): Likewise.
86787         (configure.ac): Rename gl_SHA to gl_SHA1.
86788         (Include): sha.h -> sha1.h.
86789
86790 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86791
86792         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86793         * m4/sha1.m4: Renamed from sha.m4.
86794         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86795
86796 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86797
86798         * lib/obstack.h (obstack_empty_p):
86799         Don't assume that chunk->contents is suitably aligned.
86800         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86801         Likewise. Problem reported by Benno in
86802         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86803
86804         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86805         readable.  This could be improved further but it'd take some work.
86806
86807 2004-08-08  Simon Josefsson  <jas@extundo.com>
86808
86809         * modules/xgethostname (Depends-on): Remove exit and error (not
86810         used).
86811
86812         * modules/getpass-gnu: Add getpass.h.
86813         (Depends-on): Add stdbool.
86814         * modules/getpass: Add getpass.h.
86815
86816 2004-08-08  Simon Josefsson  <jas@extundo.com>
86817
86818         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86819         Check getpass declaration.
86820
86821 2004-08-08  Simon Josefsson  <jas@extundo.com>
86822
86823         * lib/xgethostname.c: Don't include error.h (not used).
86824
86825         * lib/getpass.h: Add.
86826         * lib/getpass.c: Include getpass.h first.
86827
86828 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86829
86830         * lib/xalloc-die.c: New file.
86831         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86832         All uses removed.
86833         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86834         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86835         xalloc-die.c.
86836         (_, N_, xalloc_die): Move to xalloc-die.c.
86837         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86838         so that we needn't mess with xalloc_msg_memory_exhausted.
86839
86840         * lib/sha1.h: Renamed from sha.h.
86841         (SHA1_H): Renamed from _SHA_H.
86842         (sha1_ctx): Renamed from sha_ctx.
86843         (sha1_init_ctx): Renamed from sha_init_ctx.
86844         (sha1_process_block): Renamed from sha_process_block.
86845         (sha1_process_bytes): Renamed from sha_process_bytes.
86846         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86847         (sha1_read_ctx): Renamed from sha_read_ctx.
86848         (sha1_stream): Renamed from sha_stream.
86849         (sha1_buffer): Renamed from sha_buffer.
86850         * lib/sha1.c: Likewise; renamed from sha.c.
86851         Do not include <sys/types.h>.
86852         Include <stddef.h> rather than <stdlib.h>.
86853
86854 2004-08-08  Bruno Haible  <bruno@clisp.org>
86855
86856         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86857         FILESYSTEM_PREFIX_LEN.
86858         * lib/progreloc.c: Likewise.
86859         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86860
86861 2004-08-06  Simon Josefsson  <jas@extundo.com>
86862
86863         * modules/progname (Depends-on): Don't depend on stdbool.
86864
86865 2004-08-06  Simon Josefsson  <jas@extundo.com>
86866
86867         * modules/getsubopt: New file.
86868         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86869         getsubopt.
86870
86871 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86872
86873         More merge from coreutils.
86874
86875         * m4/utimens.m4, m4/utimecmp.m4: New files.
86876         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86877         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86878         prereq.m4, sha.m4: Import changes from coreutils.
86879
86880 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86881
86882         More merge from coreutils.
86883         * modules/raise, modules/readtokens0, modules/utimens:
86884         * modules/utimecmp, module/xnanosleep: New files.
86885         * modules/strftime: Add lib/strftime.h.
86886         Change include from <time.h> to "strftime.h".
86887         * modules/yesno: Add lib/yesno.h.
86888         * modules/backupfile: Remove lib/addext.c.
86889         * modules/euidaccess: Add stat-macros.h.
86890         * modules/canonicalize, modules/euidaccess,
86891         modules/filemode, modules/lchown, modules/makepath,
86892         modules/rmdir, modules/stat: Likewise.
86893
86894 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86895
86896         Merge from tar.
86897         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86898         SIZE_MAX is a valid preprocessor constant.
86899         (__argp_basename): Change from "#ifndef _LIBC"
86900         to "#ifndef __argp_short_program_name", so that
86901         we don't compile these functions for tar.
86902
86903         More merges from coreutils.
86904         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86905         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86906         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86907         * lib/addext.c: Remove; no longer needed.
86908         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86909         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86910         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86911         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86912         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86913         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86914         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86915         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86916         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86917         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86918         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86919         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86920         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86921         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86922         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86923         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86924         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86925         Import changes from coreutils.
86926
86927 2004-08-05  Simon Josefsson  <jas@extundo.com>
86928
86929         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86930
86931 2004-08-05  Simon Josefsson  <jas@extundo.com>
86932
86933         * m4/getsubopt.m4: New file.
86934
86935 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86936
86937         Merge from coreutils.
86938
86939         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86940         * m4/getcwd-path-max.m4: New files.
86941
86942         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86943         FILESYSTEM_PREFIX_LEN ->
86944         FILE_SYSTEM_PREFIX_LEN.
86945         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86946         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86947         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86948         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86949
86950         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86951         prerequisite modules now handle the DOS stuff.
86952         Don't check for unistd.h.
86953
86954 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86955
86956         Merge from coreutils.
86957
86958         * lib/.gdb-history: Remove; this doesn't belong here.
86959
86960         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86961         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86962         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86963         * lib/getcwd.c: New files.
86964
86965         * lib/dirname.h: Include <stdbool.h>.
86966         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86967         for consistency with POSIX terminology.  All uses changed.
86968         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86969         (strip_trailing_slashes): Use bool for booleans.
86970         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86971
86972         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86973         sometimes returns a positive errno value even when it succeeds.
86974         (print_errno_message) [!LIBC]: Fall back on strerror if
86975         __strerror_r fails.
86976
86977         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86978         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86979         (longest_relative_suffix): New function.
86980         (path_concat): Use it.  Assume first argument is not NULL.
86981         Port to DOS.  Omit redundant separators.
86982         Report an error instead of returning NULL.
86983         Use mempcpy instead of memcpy.
86984         (xpath_concat): Remove: not declared or used.
86985
86986         * lib/same.h: Include <stdbool.h>
86987         (same_name): Return bool, not int.
86988         * lib/same.c (same_name): Likewise.
86989         (errno): Don't declare; we assume C89 or better now.
86990
86991         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86992         if not already defined.
86993
86994         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
86995         * lib/dup-safer.c (errno): Likewise.
86996
86997 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86998
86999         Merge from coreutils.
87000         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87001         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87002         * modules/path-concat: Don't depend on strdup.
87003
87004 2004-08-03  Simon Josefsson  <jas@extundo.com>
87005
87006         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87007         * lib/progname.h: Don't include stdbool.h.
87008
87009 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87010
87011         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87012         * MODULES.html.sh (func_all_modules): Remove fatal.
87013
87014 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87015
87016         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87017
87018 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87019
87020         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87021         working.
87022
87023 2004-08-02  Simon Josefsson  <jas@extundo.com>
87024
87025         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87026         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87027         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87028
87029 2004-08-01  Simon Josefsson  <jas@extundo.com>
87030
87031         * lib/xgetdomainname.c: Include stdlib.h, for free().
87032
87033 2004-07-19  Bruno Haible  <bruno@clisp.org>
87034
87035         * MODULES.html.sh (func_all_modules): Add dummy.
87036
87037 2004-07-16  Simon Josefsson  <jas@extundo.com>
87038
87039         * modules/dummy: New file.
87040
87041 2004-07-16  Simon Josefsson  <jas@extundo.com>
87042
87043         * lib/dummy.c: New file.
87044
87045 2004-07-16  Bruno Haible  <bruno@clisp.org>
87046
87047         * lib/backupfile.h: Add extern "C" for C++.
87048         * lib/closeout.h: Likewise.
87049         * lib/copy-file.h: Likewise.
87050         * lib/findprog.h: Likewise.
87051         * lib/full-write.h: Likewise.
87052         * lib/pathname.h: Likewise.
87053         * lib/progname.h: Likewise.
87054         * lib/stpcpy.h: Likewise.
87055         * lib/stpncpy.h: Likewise.
87056         * lib/strcase.h: Likewise.
87057         * lib/strstr.h: Likewise.
87058         * lib/xalloc.h: Likewise.
87059
87060         * lib/mbswidth.h: Add extern "C" for C++.
87061         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87062
87063 2004-07-13  Robert Millan  <robertmh@gnu.org>
87064
87065         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87066
87067 2004-07-09  Simon Josefsson  <jas@extundo.com>
87068
87069         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87070         failed without this.)
87071
87072 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87073
87074         * modules/chown (Files): Add lib/fchown-stub.c, since
87075         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87076
87077 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87078
87079         * lib/fchown-stub.c: New file.
87080
87081 2004-06-24  Jim Meyering  <jim@meyering.net>
87082
87083         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87084
87085 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87086
87087         * modules/argz: Omit "#include".
87088
87089         * MODULES.html.sh (func_all_modules): Add calloc, to match
87090         2004-06-01 addition of calloc module.
87091
87092 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87093
87094         * m4/argz.m4: New file, which is autoupdated from libtool.
87095
87096 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87097
87098         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87099         libtool.
87100
87101 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87102
87103         * config/srclist-update: Don't insist on "USA." before the
87104         close-comment, as libtool omits the period and puts the */ on a
87105         separate line.
87106         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87107         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87108
87109 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87110
87111         * modules/argz: New file.
87112         * MODULES.html.sh (func_all_modules): Add argz.
87113
87114 2004-06-12  Jim Meyering  <jim@meyering.net>
87115         and  Paul Eggert  <eggert@cs.ucla.edu>
87116
87117         * modules/hash (Files): Add lib/xalloc.h.
87118         * modules/pipe (Depends-on): Add wait-process.
87119         * modules/stat (Depends-on): Add xalloc.
87120         * modules/userspec (Files): Add lib/userspec.h.
87121         * modules/xstrto
87122
87123         Upgrade from gettext-0.13.
87124         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87125         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87126         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87127
87128 2004-06-10  Jim Meyering  <jim@meyering.net>
87129
87130         * lib/calloc.c: New file.
87131
87132 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87133
87134         * lib/getdate.y (yylex): Allow space between sign and number.
87135         Problem reported by Dan Jacobson.
87136
87137 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87138
87139         Merge from coreutils CVS.
87140
87141         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87142         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87143         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87144         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87145         xstrtol.m4: Fix copyright date and/or serial number.
87146
87147         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87148         See if we need an fchown replacement.
87149         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87150         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87151         and use the replacement function if we detect either defect.
87152
87153         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87154         gl_UTIMECMP.
87155
87156 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87157         and  Jim Meyering  <jim@meyering.net>
87158
87159         Merge from coreutils CVS.
87160
87161         * lib/stat-macros.h: New file, with contents from file-type.h
87162         and coreutils' system.h.
87163         * lib/file-type.c: Include "stat-macros.h".
87164         * lib/file-type.h (file_type): Move all macro definitions to new file,
87165         stat-macros.h.
87166
87167         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87168         Wrap old code with this conditional.
87169         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87170         function that does not dereference symlinks.
87171         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87172
87173         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87174         dependency problems.
87175         (xreadlink): Accept new arg SIZE, for efficiency.
87176         All decls and uses changed.
87177         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87178
87179         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87180         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87181
87182         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87183         sysexits.h.
87184
87185 2004-06-01  Jim Meyering  <jim@meyering.net>
87186
87187         * m4/calloc.m4: New file.
87188
87189 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87190
87191         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87192         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87193         Also, fix a typo in a diagnostic.
87194
87195 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87196
87197         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87198         or AC_FUNC_REALLOC.
87199
87200 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87201
87202         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87203         macros to be defined.
87204         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87205         the allocator returns NULL because the requested size is zero.
87206
87207 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87208
87209         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87210         var.  Add comment explaining why libc still defines it.  This
87211         merges the following patch from glibc:
87212         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87213
87214 2004-05-20  Andreas Schwab  <schwab@suse.de>
87215
87216         * m4/free.m4: Replace free if it not known to work, not the other
87217         way round.
87218
87219 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87220
87221         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87222         present in glibc since revision 1.1 of this file.
87223         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87224         obstack_alignment_mask, obstack_alloc, obstack_base,
87225         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87226         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87227         obstack_grow0, obstack_init, obstack_int_grow,
87228         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87229         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87230         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87231         nonexistent functions.
87232
87233 2004-05-18  Karl Berry  <karl@gnu.org>
87234
87235         * config/srclist.txt: break link for vasnprintf.c.
87236
87237 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87238
87239         Port obstack to the AS/400, where pointers are 16 bytes wide and
87240         you cannot cast an integer to a valid pointer.  This patch is
87241         currently waiting to be integrated into glibc; see
87242         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87243
87244         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87245         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87246         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87247         (struct obstack): temp member is now a union of a pointer and
87248         an integer, instead of an integer.  All integer uses changed.
87249         This does not affect the physical layout of struct obstack,
87250         except on hosts (like the AS/400) where the size or alignment of
87251         void * is greater than that of ptrdiff_t.
87252         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87253         __STDC__)]: Store temporary in pointer member of union, not
87254         integer member.
87255         * lib/obstack.c: Include <stddef.h>, for offsetof.
87256         (struct fooalign): Remove; it doesn't need a name.
87257         (union fooround): Change double to long double, and add void *.
87258         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87259         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87260         not a macro.  Hence the values are always int; so remove all
87261         casts-to-int in uses.
87262
87263 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87264
87265         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87266         we can get this patch merged into glibc.
87267
87268 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87269             Paul Eggert  <eggert@cs.ucla.edu>
87270
87271         * m4/argp: Depend on alloca.
87272
87273 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87274             Paul Eggert  <eggert@cs.ucla.edu>
87275
87276         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87277         freecoding.
87278
87279 2004-05-17  Bruno Haible  <bruno@clisp.org>
87280
87281         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87282         precision that consists of a '.' followed by an empty digit string.
87283         Patch by Tor Lillqvist <tml@iki.fi>.
87284
87285 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87286
87287         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87288         for backward compatibility with older code.  We need our own
87289         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87290         it under some other name, and our alloca.h will define it.
87291
87292 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87293             Derek Price  <derek@ximbiot.com>
87294
87295         * lib/alloca.c: Include <alloca.h>, to get our interface.
87296         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87297         include <alloca.h> first.  Use C89 prototype for alloca; this
87298         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87299         Use #elif for simplicity, since we can assume C89 now.
87300         Don't try to source the system alloca.h since it will not be found
87301         and to prevent recursively including its replacement.
87302         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87303         * lib/regex.c: Likewise.
87304
87305 2004-05-16  Derek Price  <derek@ximbiot.com>
87306             Paul Eggert  <eggert@cs.ucla.edu>
87307
87308         getline cleanup.  This changes the getndelim2 API: both order of
87309         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87310         no delimiter).
87311
87312         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87313         interface does that.
87314         (getline): Always use getdelim, so that we don't have two
87315         copies of this code.
87316         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87317         if available.
87318         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87319         (GETNDELIM2_MAXIMUM): New macro.
87320         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87321         instead of the old practice of delim2==0.  All callers changed.
87322         Return -1 on overflow, instead of returning junk.
87323         Do not set *linesize unless allocation succeeds.
87324         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87325         that we include sys/types.h.
87326         * lib/getnline.h: Likewise.
87327         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87328         (getndelim2): Reorder arguments.
87329         * lib/getnline.c (getnline, getndelim):
87330         Don't discard the NMAX argument.
87331         (getnline): Invoke getndelim, to avoid code duplication.
87332         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87333         of (size_t) -1 by callers of the getnline family.
87334
87335 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87336
87337         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87338         Check for gettimeofday.
87339         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87340         Check for settimeofday, stime.
87341
87342 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87343
87344         * lib/nanosleep.c (suspended): Change its type from int to
87345         sig_atomic_t volatile.
87346         (first_call): Make it private to rpl_nanosleep, and have it
87347         be zero initially as that's a bit faster.
87348         (my_usleep): Round up fractional times instead of truncating them,
87349         as this is the usual meaning for 'sleep'.
87350
87351         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87352         doesn't work.
87353         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87354         (ENOSYS): Define if not defined.
87355         (settime): Fall back on stime if it exists and settimeofday fails.
87356         But don't bother with fallbacks if a method fails with errno == EPERM.
87357
87358 2004-05-11  Jim Meyering  <jim@meyering.net>
87359
87360         Prior to this change, the save_cwd caller required read access to the
87361         current directory on most systems (ones with the fchdir function).
87362
87363         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87364         fails, try write-only, and finally, resort to using xgetcwd.
87365
87366 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87367
87368         * lib/obstack.c, obstack.h: Import changes from libc.
87369
87370 2004-04-28  Bruno Haible  <bruno@clisp.org>
87371
87372         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87373         also implicitly appends .exe to executables.
87374         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87375         accepts Windows pathnames.
87376         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87377         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87378         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87379         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87380         Reported by Derek Robert Price <derek@ximbiot.com>.
87381
87382 2004-04-21  Karl Berry  <karl@gnu.org>
87383
87384         * config/srclist.txt (localcharset.c): break sync.
87385
87386 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87387
87388         * m4/host-os.m4: Add a copyright notice.
87389
87390 2004-04-20  Jim Meyering  <jim@meyering.net>
87391
87392         Change UTILS_ to gl_ in AC_DEFINE'd names.
87393         Change utils_- and jm_-prefixed variables, too.
87394         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87395         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87396         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87397
87398         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87399         Don't emit trailing blanks.
87400         Also rename jm_-prefixed variables to have gl_ prefix.
87401
87402         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87403         Also rename jm_-prefixed variables to have gl_ prefix.
87404
87405         * m4/jm-macros.m4: Reflect the renamings.
87406         * m4/prereq.m4: Likewise.
87407
87408 2004-04-20  Jim Meyering  <jim@meyering.net>
87409
87410         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87411         memory.
87412
87413 2004-04-20  Jim Meyering  <jim@meyering.net>
87414             Bruno Haible  <bruno@clisp.org>
87415
87416         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87417         memory when realloc fails.
87418
87419 2004-04-19  Jim Meyering  <jim@meyering.net>
87420
87421         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87422         now that readutmp.c may call `free (0)'.
87423
87424 2004-04-19  Bruno Haible  <bruno@clisp.org>
87425
87426         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87427         * m4/inttypes_h.m4: Likewise.
87428         * m4/stdint_h.m4: Likewise.
87429         * m4/intmax_t.m4: Likewise.
87430         * m4/uintmax_t.m4: Likewise.
87431
87432 2004-04-18  Jim Meyering  <jim@meyering.net>
87433
87434         * m4/prereq.m4: Don't forbid jm_ prefix.
87435
87436         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87437         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87438         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87439         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87440         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87441         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87442         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87443         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87444         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87445         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87446         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87447         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87448         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87449         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87450         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87451         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87452         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87453         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87454         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87455
87456 2004-04-18  Jim Meyering  <jim@meyering.net>
87457
87458         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87459         failure, don't leak memory and do call END_UTMP_ENT.
87460
87461 2004-04-16  Jim Meyering  <jim@meyering.net>
87462
87463         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87464         coreutils' stat program.
87465         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87466
87467 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87468
87469         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87470         C89.
87471         (CHAR_BIT): Remove, since we assume C89.
87472         Include <stdint.h> if available, as per current Autoconf CVS advice.
87473
87474 2004-03-31  Jim Meyering  <jim@meyering.net>
87475
87476         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87477         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87478         * m4/xalloc.m4: Likewise.
87479
87480 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87481
87482         Merge from coreutils.
87483
87484         * m4/inttostr.m4: New file.
87485         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87486         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87487         Require gl_CLOCK_TIME.
87488         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87489
87490 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87491
87492         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87493         not bool, to be more consistent with Unix conventions.
87494         Suggested by Bruno Haible.
87495
87496         Merge from coreutils.
87497
87498         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87499         * lib/umaxtostr.c: New files.
87500
87501         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87502         the usual <time.h> dance.
87503         (get_date): Change signature to support fractional time stamps.
87504         All callers changed.
87505         * lib/getdate.y: Include "getdate.h" first, as we can now
87506         assume C89 and don't need to worry about 'const'.
87507         Similarly, include "unlocked-io.h" near start, not in middle.
87508         Include <limits.h>.
87509         (textint.value): Use long int rather than int.
87510         (textint.digits): Use size_t rather than int.
87511         (BILLION, LOG10_BILLION): New constants.
87512         (parser_control): New member rel_ns.  Members day_ordinal,
87513         time_zone, month, day, hour, minutes, rel_year, rel_month,
87514         rel_day, rel_hour, rel_minutes, rel_seconds
87515         are now long int, not int.  Member seconds is now struct timespec,
87516         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87517         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87518         not int.
87519         (%union.intval): Now long int, not int.
87520         New member timespec.
87521         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87522         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87523         (spec): Now is a timespec or an item list.
87524         (timespec, items): New nonterminals.
87525         (time, rel, relunit, number, get_date):
87526         Add support for fractional seconds.
87527         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87528         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87529         (to_hour): First arg is now long int, not int.
87530         (to_year): Returns long int, not int.
87531         Don't treat year -70 like 70.
87532         (tm_diff): Returns long int, not int.
87533         (lookup_word): Use bool instead of int when appropriate.
87534         (yylex): Use size_t for count, not int.
87535         Detect overflow when parsing large integer constants.
87536         Add support for fractions.
87537         (get_date): Make pointers 'const' if possible.
87538         Use more-portable code to detect integer overflow.
87539         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87540         Don't use ctime; it's not reliable if the year has >4 digits.
87541
87542         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87543         This is for compatibility with BSD.
87544
87545         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87546         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87547         From coreutils' system.h.
87548
87549         * lib/userspec.c: Don't include "posixver.h".
87550         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87551         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87552         compatible extension.  Simplify code by removing a boolean int
87553         that was always nonzero if a string was nonnull.
87554
87555 2004-03-30  Jim Meyering  <jim@meyering.net>
87556
87557         Merge from coreutils.
87558
87559         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87560         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87561         on some systems one must include <grp.h> before it.
87562         Reported by Christian Krackowizer.
87563
87564 2004-03-30  Jim Meyering  <jim@meyering.net>
87565
87566         Merge from coreutils.
87567
87568         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87569
87570         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87571         an empty input stream.
87572
87573         * lib/readtokens.c: Include <stdbool.h>.
87574         (readtoken): Use `size_t' rather than int/long.
87575         All callers adjusted.
87576         Use `bool' rather than `int' where appropriate.
87577         Use memset rather than an explicit loop.
87578         Use x2nrealloc rather than xrealloc.
87579         Allow the use of `\0' as a delimiter.
87580         (readtokens): Likewise.
87581         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87582
87583 2004-03-30  Jim Meyering  <jim@meyering.net>
87584
87585         * m4/realloc.m4: Remove file, since now it does no more than
87586         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87587         the `configure.ac' section of module/realloc.
87588         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87589
87590 2004-03-30  Bruno Haible  <bruno@clisp.org>
87591
87592         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87593         nonnull.
87594
87595 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87596
87597         Merge changes to getloadavg.c from coreutils and Emacs.
87598
87599         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87600         Define to an expression, not to the empty string.
87601         Include cloexec.h and xalloc.h.
87602         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87603         Use set_cloexec_flag rather than rolling our own.
87604         * lib/cloexec.c, lib/cloexec.h: New files.
87605
87606 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87607
87608         * m4/cloexec.m4: New file.
87609
87610 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87611
87612         * lib/getopt.h: Sync with libc CVS.
87613
87614 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87615             Bruno Haible  <bruno@clisp.org>
87616
87617         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87618         mbswidth.
87619
87620 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87621             Bruno Haible  <bruno@clisp.org>
87622
87623         * lib/mbswidth.h: Include <wchar.h> only if
87624         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87625         <wchar.h>.
87626         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87627
87628 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87629
87630         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87631         Sync with libc CVS.
87632         * lib/getopt_int.h: New file, also synced from libc.
87633
87634 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87635
87636         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87637         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87638         Bring back getopt.c, getopt.h, getopt1.c.
87639
87640 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87641
87642         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87643         All uses changed.  Check for sa_sigaction member; this fixes
87644         a bug first reported by Jason Andrade in
87645         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87646
87647 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87648
87649         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87650         '#if' expressions.  Unlike the code it replaces, it does not
87651         depend on (defined _SC_PAGESIZE).  However, it does depend on
87652         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87653         first reported by Jason Andrade in
87654         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87655
87656 2004-02-25  Simon Josefsson  <jas@extundo.com>
87657
87658         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87659
87660 2004-02-25  Simon Josefsson  <jas@extundo.com>
87661
87662         * lib/strdup.h: New file.
87663         * lib/strdup.c: Include it.
87664         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
87665         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
87666
87667 2004-02-23  Karl Berry  <karl@gnu.org>
87668
87669         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
87670         (from fencepost.gnu.org:/gd/gnuorg).
87671
87672 2004-02-23  Karl Berry  <karl@gnu.org>
87673
87674         * config/srclistvars.sh (GNUORG) [karl]: redefine.
87675         * config/srclist.txt: add maintain/standards documents.
87676
87677 2004-02-18  Bruno Haible  <bruno@clisp.org>
87678
87679         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
87680         Reported by Derek Robert Price <derek@ximbiot.com>.
87681
87682 2004-02-16  Karl Berry  <karl@gnu.org>
87683
87684         * config/mkinstalldirs, install-sh: update from automake.
87685
87686 2004-02-06  Karl Berry  <karl@gnu.org>
87687
87688         * m4/po.m4: update from gettext 0.14.1.
87689
87690 2004-02-06  Karl Berry  <karl@gnu.org>
87691
87692         * lib/config.charset: update from gettext 0.14.1.
87693
87694 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87695
87696         Add comments and code, prompted by suggestions from Bruno Haible
87697         for sh-quote.
87698         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87699         describing the enum quoting_style values.
87700         * lib/quotearg.c (quotearg_alloc): New function.
87701         (quotearg_buffer_restyled): Treat lone { and } as special.
87702         Treat = as special.  Work around bug with older shells
87703         that "see" a '\' that is really the 2nd byte of a multibyte char.
87704         Quote empty string with shell_quoting_style.
87705
87706 2004-02-03  Bruno Haible  <bruno@clisp.org>
87707
87708         * m4/pipe.m4: New file, from GNU gettext.
87709
87710 2004-02-03  Bruno Haible  <bruno@clisp.org>
87711
87712         * lib/pipe.h: New file, from GNU gettext.
87713         * lib/pipe.c: New file, from GNU gettext.
87714
87715 2004-01-27  Bruno Haible  <bruno@clisp.org>
87716
87717         * m4/execute.m4: New file, from GNU gettext.
87718
87719 2004-01-27  Bruno Haible  <bruno@clisp.org>
87720
87721         * lib/execute.h: New file, from GNU gettext.
87722         * lib/execute.c: New file, from GNU gettext.
87723         * lib/w32spawn.h: New file, from GNU gettext.
87724
87725 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87726
87727         Merge from diffutils.
87728
87729         * lib/file-type.c (file_type): Add typed memory objects.
87730         * lib/file-type.h (S_TYPEISTMO): New macro.
87731
87732         * lib/c-stack.h (c_stack_action): Remove argv argument.
87733         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87734         (die): Don't calculate message unless segv_action returns.
87735         (get_stack_location, min_address_from_argv, max_address_from_argv,
87736         volatile stack_base, volatile_stack_size): Remove.
87737         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87738         that every segmentation violation is a stack overflow.  (Ouch!)
87739         See Debian bug 136249 (still outstanding) for more info about why
87740         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87741
87742 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87743
87744         Exit-status fix from coreutils.
87745
87746         Use exit_failure consistently in place of EXIT_FAILURE,
87747         so that program exit statuses are consistent on failure.
87748
87749         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87750         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87751         * lib/argmatch.h: Comment fix to match the above.
87752         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87753         Now a macro referring to exit_failure, instead of a separate
87754         variable.  Include "exitfail.h" to get it.
87755         * lib/xstrtol.h: Include "exitfail.h".
87756         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87757
87758         * lib/long-options.c (parse_long_options): Use prototype
87759         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87760         for clarity.
87761
87762 2004-01-21  Jim Meyering  <jim@meyering.net>
87763
87764         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87765         so as not to conflict with a different-sized __mktime_internal
87766         function in GNU libc.
87767         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87768         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87769
87770 2004-01-20  Karl Berry  <karl@gnu.org>
87771
87772         * config/config.guess: update from config.
87773
87774         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87775
87776 2004-01-20  Bruno Haible  <bruno@clisp.org>
87777
87778         Safer stack allocation.
87779         * lib/setenv.c: Include allocsa.h.
87780         (alloca): Remove fallback definition.
87781         (freea): Remove macro.
87782         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87783         instead of freea.
87784
87785 2004-01-20  Bruno Haible  <bruno@clisp.org>
87786
87787         * m4/eealloc.m4: New file, from GNU gettext.
87788
87789 2004-01-20  Bruno Haible  <bruno@clisp.org>
87790
87791         * m4/allocsa.m4: New file, from GNU gettext.
87792
87793 2004-01-20  Bruno Haible  <bruno@clisp.org>
87794
87795         * lib/xallocsa.h: New file, from GNU gettext.
87796         * lib/xallocsa.c: New file, from GNU gettext.
87797
87798 2004-01-20  Bruno Haible  <bruno@clisp.org>
87799
87800         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87801
87802 2004-01-20  Bruno Haible  <bruno@clisp.org>
87803
87804         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87805         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87806         specially.
87807
87808 2004-01-20  Bruno Haible  <bruno@clisp.org>
87809
87810         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87811         patch.
87812
87813 2004-01-20  Bruno Haible  <bruno@clisp.org>
87814
87815         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87816
87817 2004-01-20  Bruno Haible  <bruno@clisp.org>
87818
87819         * lib/eealloc.h: New file.
87820
87821 2004-01-20  Bruno Haible  <bruno@clisp.org>
87822
87823         * lib/binary-io.h: Avoid warnings on Cygwin.
87824
87825 2004-01-20  Bruno Haible  <bruno@clisp.org>
87826
87827         * lib/allocsa.h: New file, from GNU gettext.
87828         * lib/allocsa.c: New file, from GNU gettext.
87829
87830 2004-01-18  Karl Berry  <karl@gnu.org>
87831
87832         * doc/gpl.texi, doc/lgpl.texi: new files.
87833
87834 2004-01-18  Karl Berry  <karl@gnu.org>
87835
87836         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87837         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87838
87839 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87840
87841         Merge from coreutils.
87842
87843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87844         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87845         (gl_DEFAULT_POSIX2_VERSION): Move
87846         the documentation from 'configure' into 'config.hin',
87847         so that 'configure --help' isn't burdened by it and
87848         we don't have to worry about its formatting there.
87849         Reword the documentation so that it's more succinct
87850         and can be run together into a single paragraph.
87851         * m4/same.m4 (gl_SAME): Check for pathconf.
87852
87853 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87854
87855         Merge from coreutils.
87856
87857         * lib/posixver.c: Include posixver.h.
87858
87859         * lib/same.c: Include <stdbool.h>, <limits.h>.
87860         (_POSIX_NAME_MAX): Define if not defined.
87861         (MIN): New macro.
87862         (same_name): If file names are silently truncated, report
87863         that the file names are the same if they are the same after
87864         the silent truncation.
87865
87866         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87867         conversion function.
87868         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87869         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87870         longer needed.
87871
87872 2004-01-15  Jim Meyering  <jim@meyering.net>
87873
87874         Merge from coreutils.
87875
87876         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87877         if no library is required.
87878         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87879         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87880         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87881         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87882         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87883         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87884         value, $ac_cv_search_crypt, if it's "none required".
87885         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87886         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87887         not gl_FUNC_GETLOADAVG.
87888         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87889         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87890
87891 2004-01-15  Jim Meyering  <jim@meyering.net>
87892
87893         Merge from coreutils.
87894
87895         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87896         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87897         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87898
87899         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87900         optional configure-time default.
87901
87902         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87903
87904         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87905
87906 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87907
87908         Merge from coreutils.
87909
87910         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87911         value, $ac_cv_search_nanosleep, if it's "none required".
87912
87913 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87914
87915         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87916         with like-named macro in fnmatch.c.
87917         (EXT): Use an internal constant instead.
87918
87919         Merge fnmatch patches from glibc.
87920         * lib/fnmatch.c (mbsinit): Remove define.
87921         Add libc_hidden_ver (__fnmatch, fnmatch).
87922         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87923         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87924
87925 2004-01-14  Karl Berry  <karl@gnu.org>
87926
87927         * config/install-sh: update from automake.
87928
87929 2004-01-13  Karl Berry  <karl@gnu.org>
87930
87931         * config/install-sh: update from automake.
87932
87933 2004-01-09  Karl Berry  <karl@gnu.org>
87934
87935         * config/install-sh: update from automake.
87936
87937 2004-01-05  Karl Berry  <karl@gnu.org>
87938
87939         * config/config.{sub,guess}: update from config.
87940
87941 2003-12-31  Karl Berry  <karl@gnu.org>
87942
87943         * config/depcomp: update from automake.
87944
87945 2003-12-14  Karl Berry  <karl@gnu.org>
87946
87947         * lib/config.charset: update from gettext-runtime.
87948
87949 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87950
87951         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87952         Bug reported by Alfred M. Szmidt.
87953
87954 2003-12-03  Bruno Haible  <bruno@clisp.org>
87955
87956         * m4/gettext.m4: Upgrade from gettext-0.13.
87957         * m4/po.m4: Upgrade from gettext-0.13.
87958         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87959         * m4/intmax.m4: New file, from gettext-0.13.
87960         * m4/printf-posix.m4: New file, from gettext-0.13.
87961
87962 2003-11-29  Karl Berry  <karl@gnu.org>
87963
87964         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87965
87966 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87967             Bruno Haible  <bruno@clisp.org>
87968
87969         * lib/printf-parse.h: Don't include sys/types.h.
87970         (ARG_NONE): New macro.
87971         (char_directive): Change type of *arg_index fields to size_t.
87972         * lib/printf-parse.c: Don't include sys/types.h.
87973         (SSIZE_MAX): Remove macro.
87974         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87975         Remove unnecessary overflow check.
87976         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87977         fields.
87978
87979 2003-11-25  Bruno Haible  <bruno@clisp.org>
87980
87981         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87982
87983 2003-11-25  Bruno Haible  <bruno@clisp.org>
87984
87985         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87986         gt_TYPE_SSIZE_T.
87987
87988 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87989
87990         * modules/alloca: Remove dependency on xalloc.
87991
87992 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87993
87994         * lib/alloca.c: Remove dependency on xalloc module.
87995         (xalloc_die): Remove.
87996         (memory_full) [!defined emacs]: New macro.
87997         [!defined emacs]: Don't include xalloc.h.
87998         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
87999         address arithmetic overflows.  Change datatypes a bit to avoid
88000         unnecessary casts.
88001
88002 2003-11-22  Jim Meyering  <jim@meyering.net>
88003
88004         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88005         s/size/size_t/.
88006
88007 2003-11-21  Karl Berry  <karl@gnu.org>
88008
88009         * config/config.{sub,guess}: update from config.
88010
88011 2003-11-18  Karl Berry  <karl@gnu.org>
88012
88013         * config/config.{sub,guess}: update from config.
88014
88015         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88016
88017 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88018
88019         * README: Mention that S+T cannot overflow if S is the size of
88020         an existing object and T is sufficiently small.
88021
88022 2003-11-17  Jim Meyering  <jim@meyering.net>
88023
88024         On systems without utime and without a utimes function capable of
88025         dealing with a NULL struct utimbuf* argument, this utime replacement
88026         could -- in unusual circumstances -- leak a file descriptor.
88027         * lib/utime.c: Include <unistd.h> and <errno.h>.
88028         (utime_null): Be sure to close `fd' and to preserve errno.
88029         Reported by Geoff Collyer via Arnold Robbins.
88030
88031 2003-11-17  Bruno Haible  <bruno@clisp.org>
88032
88033         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88034         (Depends-on): Add xsize.
88035
88036 2003-11-17  Bruno Haible  <bruno@clisp.org>
88037
88038         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88039
88040 2003-11-17  Bruno Haible  <bruno@clisp.org>
88041
88042         * lib/vasnprintf.c (alloca): Remove fallback definition.
88043         (freea): Remove definition.
88044         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88045         Reported by Paul Eggert.
88046
88047 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88048             Bruno Haible  <bruno@clisp.org>
88049
88050         Protect against address arithmetic overflow.
88051         * lib/printf-args.h: Include stddef.h.
88052         (arguments): Change type of field 'count' to size_t.
88053         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88054         'unsigned int' where appropriate.
88055         * lib/printf-parse.h: Include sys/types.h.
88056         (char_directive): Change type of *arg_index fields to ssize_t.
88057         (char_directives): Change type of fields 'count', max_*_length to
88058         size_t.
88059         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88060         (SSIZE_MAX): Define fallback value.
88061         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88062         instead of 'int' where appropriate. Check a_allocated, d_allocated
88063         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88064         * lib/vasnprintf.c: Include xsize.h.
88065         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88066         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88067         overflow. Avoid wraparound when converting a width or precision from
88068         decimal to binary.
88069
88070 2003-11-16  Bruno Haible  <bruno@clisp.org>
88071
88072         Update from GNU gettext.
88073         * lib/printf-parse.c: Generalize to it can be compiled for wide
88074         strings.
88075         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88076         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88077         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88078         SNPRINTF): New macros.
88079         Don't include <alloca.h> if the file is used inside libintl.
88080         (local_wcslen): New function, for Solaris 2.5.1.
88081         (VASNPRINTF): Use it instead of wcslen.
88082
88083 2003-11-16  Bruno Haible  <bruno@clisp.org>
88084
88085         * lib/xsize.h (xmax): New function.
88086         (xsum, xsum3, xsum4): Declare as "pure" functions.
88087
88088 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88089
88090         * modules/xalloc (Files): Undo latest change, since xalloc.h
88091         no longer needs SIZE_MAX or PTRDIFF_MAX.
88092
88093 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88094
88095         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88096         gl_PTRDIFF_MAX.
88097
88098 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88099
88100         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88101         "return", to pacify some unknown compiler.  Problem reported
88102         by Joerg Schilling.
88103
88104 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88105
88106         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88107         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88108         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88109         heuristic is just as accurate as far as we know, and it removes a
88110         dependency on size_max.m4 and ptrdiff_max.m4.
88111
88112 2003-11-11  Bruno Haible  <bruno@clisp.org>
88113
88114         * modules/xsize (Files): Add m4/size_max.m4.
88115         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88116
88117 2003-11-11  Bruno Haible  <bruno@clisp.org>
88118
88119         * m4/size_max.m4: New file.
88120         * m4/ptrdiff_max.m4: New file.
88121         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88122         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88123         (gl_XALLOC): Invoke it.
88124
88125 2003-11-11  Bruno Haible  <bruno@clisp.org>
88126
88127         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88128         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88129         defined.
88130
88131 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88132
88133         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88134         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88135         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88136         From Bruno Haible.
88137         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88138         not (size_t) -1, since it's defined here.
88139
88140 2003-11-09  Karl Berry  <karl@gnu.org>
88141
88142         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88143
88144 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88145
88146         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88147         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88148         Reject sizes of exactly SIZE_MAX bytes.
88149         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88150         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88151
88152 2003-11-05  Bruno Haible  <bruno@clisp.org>
88153
88154         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88155         SIZE_MAX defined in <limits.h> on Solaris.
88156
88157 2003-11-04  Jim Meyering  <jim@meyering.net>
88158
88159         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88160         variable names, rather than @VAR@.
88161         * modules/poll: Likewise.
88162
88163 2003-11-04  Bruno Haible  <bruno@clisp.org>
88164
88165         * modules/xsize: New file.
88166         * modules/linebreak: Depend on xsize.
88167         * MODULES.html.sh (func_all_modules): Add xsize.
88168
88169 2003-11-04  Bruno Haible  <bruno@clisp.org>
88170
88171         * m4/xsize.m4: New file.
88172
88173 2003-11-04  Bruno Haible  <bruno@clisp.org>
88174
88175         * lib/xsize.h: New file.
88176         * lib/linebreak.c: Include xsize.h.
88177         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88178         argument for overflow.
88179         Suggested by Paul Eggert.
88180
88181 2003-11-03  Karl Berry  <karl@gnu.org>
88182
88183         * config/config.{guess,sub}: update from config.
88184
88185 2003-11-03  Jim Meyering  <jim@meyering.net>
88186
88187         * modules/userspec (lib_SOURCES): Add userspec.h.
88188         (Include): Add "userspec.h".
88189         Improve description.
88190
88191 2003-11-03  Jim Meyering  <jim@meyering.net>
88192
88193         * lib/userspec.c: Include "userspec.h".
88194         * lib/userspec.h: New file.
88195
88196 2003-11-03  Bruno Haible  <bruno@clisp.org>
88197
88198         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88199
88200 2003-11-03  Bruno Haible  <bruno@clisp.org>
88201
88202         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88203         available, to avoid (extremely rare) race condition.
88204         Suggested by Paul Eggert.
88205
88206 2003-11-02  Karl Berry  <karl@gnu.org>
88207
88208         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88209
88210 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88211
88212         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88213         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88214         (read_filesystem_list): Set and use me_type_malloced.
88215         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88216         whatever the type happens to be), for brevity and consistency.
88217         Check for size calculation overflow on Alphas running OSF/1.
88218
88219 2003-10-31  Jim Meyering  <jim@meyering.net>
88220
88221         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88222
88223         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88224
88225 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88226             Bruno Haible  <bruno@clisp.org>
88227
88228         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88229         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88230
88231 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88232
88233         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88234         netbsd*-gnu*.  Suggested by Robert Millan.
88235
88236 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88237
88238         * modules/group-member: Depend on stdbool.
88239
88240 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88241
88242         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88243
88244 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88245
88246         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88247         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88248         after the 'gnu' in these cases.  This fixes some bugs in the
88249         previous change, and is based on suggestions by Robert Millan.
88250
88251 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88252
88253         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88254         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88255         no longer needed.
88256         * lib/quotearg.c (quotearg_n_options): Use it.
88257         * lib/group-member.c: Include <stdbool.h>.
88258         (free_group_info): Arg is now const *; don't free arg.
88259         (get_group_info): Now returns bool and accepts struct group_info *,
88260         rather than returning a malloc'ed struct group_info *.
88261         All uses changed.  Check for overflow in internal size calculation.
88262
88263         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88264         rather than xmalloc/xrealloc.
88265         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88266         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88267         conformance bug: the old code used a pointer after freeing the
88268         storage that it addressed.
88269         * lib/hash.c (hash_initialize): Simplify the code by using
88270         xalloc_oversized rather than doing it by hand.
88271         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88272         the buffer preserved.  Use free and xmalloc instead.
88273         * lib/quotearg.c (quotearg_n_options): Likewise.
88274         Use a simpler test for size overflow.  Don't use xalloc_oversized
88275         because unsigned int might be wider than size_t (!); this suggests
88276         that we should switch from unsigned int to size_t for slot numbers.
88277
88278 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88279
88280         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88281         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88282         NetBSD kernels.  Requested by Richard Stallman.
88283
88284 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88285
88286         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88287         to allocate the returned structure.  Do not allocate a subarray,
88288         as x2nrealloc will do that.
88289         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88290         instead of xnrealloc.
88291         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88292
88293 2003-10-27  Bruno Haible  <bruno@clisp.org>
88294
88295         * lib/stdbool_.h: Better support for BeOS.
88296
88297 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88298
88299         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88300         now uses inline.
88301
88302 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88303
88304         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88305         callers that want to do their own size-overflow checking.  Include
88306         <stdbool.h>, since xalloc_oversized returns bool.
88307         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88308         to use xalloc_oversized.
88309
88310         Add two functions x2realloc, x2nrealloc, for programs that grow
88311         arrays dynamically by doubling their sizes.
88312         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88313         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88314         New functions.
88315
88316         Port to C99 semantics for 'inline' of external functions.
88317         Bug reported by Bruno Haible.
88318         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88319         with the old contents of xnmalloc.
88320         (xnmalloc, xmalloc): Use it.
88321         (xnrealloc_inline): New static inline function,
88322         with the old contents of xnrealloc.
88323         (xnrealloc, xrealloc): Use it.
88324
88325         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88326         that.
88327
88328 2003-10-26  Karl Berry  <karl@gnu.org>
88329
88330         * config/srclist.txt (COPYING.DOC): no longer available from
88331         /gd/gnuorg; don't know where the ultimate source is.
88332
88333 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88334
88335         Fix several address-calculation bugs in the hash modules,
88336         plus some minor code cleanup.
88337
88338         * lib/hash.h: Include <stdbool.h>, for bool.
88339         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88340         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88341         hash_get_n_entries, hash_get_max_bucket_length,
88342         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88343         hash_rehash): Use size_t rather than unsigned.
88344         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88345         hash_get_n_buckets_used, hash_get_n_entries,
88346         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88347         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88348         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88349         Likewise.
88350         (SIZE_MAX): Define if not defined.
88351         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88352         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88353         hash_print):
88354         Use const * when possible.
88355         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88356         (check_tuning): Fix bug: if tuning parameters were very close to
88357         0 or 1, rounding errors could have caused subscript violations.
88358         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88359         (hash_initialize): Add 'fail:' label
88360         to free table and return NULL, and use it to simplify code.
88361         Use calloc rather than clearing the storage ourself.
88362         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88363         buffer size calculations.
88364         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88365         Include <stddef.h>, for size_t.
88366         * lib/hash-pjw.c (hash_pjw): Likewise.
88367         Switch to method described by Bruno Haible.
88368         Include <limits.h>, for CHAR_BIT.
88369         (SIZE_BITS): New macro.
88370
88371 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88372
88373         * m4/getline.m4 (AM_FUNC_GETLINE):
88374         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88375         hosts.  Problem reported by Derek Robert Price in
88376         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88377         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88378         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88379
88380 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88381
88382         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88383         ceiling the allocation at NMAX bytes rather than silently
88384         discarding input bytes before NMAX is reached.  This makes
88385         a difference only if NMAX exceeds SIZE_MAX / 2.
88386
88387         * lib/obstack.c: Merge from glibc.
88388         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88389         Add libc_hidden_def (_obstack_newchunk).
88390         (_obstack_free) [! defined _LIBC]: Remove.
88391         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88392         a clone of the function body.
88393         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88394         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88395
88396         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88397         glibc.
88398         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88399         arg to memcpy.
88400
88401         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88402         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88403         Don't use lvalue casts, as GCC plans to remove support for them
88404         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88405         was also present in the non-GCC version, indicating that this
88406         code had always been buggy and had never been widely used.
88407         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88408         Use the fast variant of each macro, rather than copying the
88409         definiens of the fast variant; that way, we'll be more likely to
88410         catch future bugs in the fast variants.
88411
88412 2003-10-20  Bruno Haible  <bruno@clisp.org>
88413
88414         * modules/wait-process: New file.
88415         * MODULES.html.sh (func_all_modules): Add wait-process.
88416
88417 2003-10-20  Bruno Haible  <bruno@clisp.org>
88418
88419         * m4/wait-process.m4: New file.
88420
88421 2003-10-20  Bruno Haible  <bruno@clisp.org>
88422
88423         * lib/wait-process.h: New file, from GNU gettext.
88424         * lib/wait-process.c: New file, from GNU gettext.
88425
88426 2003-10-19  Jim Meyering  <jim@meyering.net>
88427
88428         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88429         HPUX 10.20.
88430
88431 2003-10-18  Karl Berry  <karl@gnu.org>
88432
88433         * config/config.guess: update from config.
88434
88435 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88436
88437         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88438         (getgroups): First arg is int, not size_t.
88439         Don't let 'free' mangle errno.
88440
88441 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88442
88443         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88444
88445 2003-10-16  Karl Berry  <karl@gnu.org>
88446
88447         * config/config.{guess,sub}: update from config.
88448
88449 2003-10-16  Jim Meyering  <jim@meyering.net>
88450
88451         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88452         memcpy.
88453
88454 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88455
88456         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88457         (SIZE_MAX): Remove.
88458         (new_exclude, add_exclude_file): Initial size no longer needs to
88459         be a power of 2.
88460         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88461         our own address arithmetic overflow checking.
88462
88463         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88464         (fnmatch): Do not alloca more than 2000 wide characters;
88465         instead, use malloc for large buffers.
88466         Check for address arithmetic overflow, and return -1
88467         with errno set to ENOMEM in that case.
88468         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88469         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88470         instead, return -1.  Check for address arithmetic overflow.
88471
88472 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88473
88474         Handle invalid suffixes and overflow independently, so that
88475         callers can treat them independently as needed.  Fix some bugs in
88476         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88477         suffix for a human-readable blocksize.  The major caller-visible
88478         change is the addition of a new
88479         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88480         that both overflow and suffix chars were found.
88481
88482         * lib/human.c (humblock): Don't check separately for invalid suffix
88483         char; that is xstrtoumax's job (now that its bug is fixed).
88484         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88485         INTMAX_MAX]: New macros.
88486         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88487         TYPE_MAXIMUM): New macros.
88488         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88489         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88490         if overflow occurs, as it's what __strtol does and it's more useful
88491         in practice.
88492         (__xstrtol): If __strtol reports some error other than ERANGE,
88493         reflect it to the caller as LONGINT_INVALID.  If it reports
88494         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88495         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88496         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88497         value.
88498         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88499         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88500         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88501         [defined UINTMAX_MAX]: New macros.
88502
88503 2003-10-14  Bruno Haible  <bruno@clisp.org>
88504
88505         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88506
88507 2003-10-14  Bruno Haible  <bruno@clisp.org>
88508
88509         * m4/sig_atomic_t: New file, from GNU gettext.
88510         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88511
88512 2003-10-14  Bruno Haible  <bruno@clisp.org>
88513
88514         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88515         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88516         Also use volatile where needed.
88517
88518 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88519
88520         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88521         Change maintainer from Bruno Haible to 'all'.
88522
88523 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88524
88525         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88526
88527 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88528
88529         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88530         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88531         and define in terms of the other primitives.
88532         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88533         (SIZE_MAX): Define if not already defined.
88534         (array_size_overflow): New function.
88535         (xalloc_die): Abort instead of exiting if 'error' returns.
88536         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88537         (xmalloc, xrealloc): Use them.
88538         (xcalloc): Check for address arithmetic overflow.
88539         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88540         a bit faster than strcpy.
88541
88542 2003-10-10  Simon Josefsson  <jas@extundo.com>
88543
88544         * modules/argp (Depends-on): Add restrict and strcase.
88545
88546 2003-10-10  Simon Josefsson  <jas@extundo.com>
88547
88548         * m4/argp.m4: Add AC_C_INLINE.
88549
88550 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88551
88552         Merge getpass from libc, plus a few fixes.
88553
88554         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88555         Include <stdbool.h>.
88556         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88557         __fsetlocking to empty.
88558         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88559         do include <bits/libc-lock.h>.
88560         Do not include <fcntl.h>; not needed.
88561         [_LIBC]: Include <wchar.h>.
88562         (NOTCANCEL_MODE): New macro.
88563         (flockfile, funlockfile) [_LIBC]: New macros.
88564         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88565         [!_LIBC]: New macros.
88566         (call_fclose): New function.
88567         (getpass): Use it.  Save tty stream separately; this simplifies the
88568         code and makes it more reliable if stdin happens to equal stdout.
88569         Invoke __fsetlocking on tty.
88570         Handle thread cancellation if needed.
88571         Namespace cleanup (use __tcgetattr, __getline).
88572         Use bool for Booleans.
88573         [USE_IN_LIBIO]: Handle wide streams.
88574         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88575         stream might go where.
88576
88577         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88578         doesn't have to include <stdio.h> before us.
88579         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88580         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88581         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88582         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88583         if not declared, so that we can use getpass.c code from libc without
88584         rewriting it.
88585         (flockfile, ftrylockfile, funlockfile): New macros.
88586
88587 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88588
88589         * modules/getpass: Depend on stdbool.
88590
88591 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88592
88593         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88594
88595 2003-10-07  Karl Berry  <karl@gnu.org>
88596
88597         * config/config.{guess,sub}: update from config.
88598
88599 2003-10-06  Jim Meyering  <jim@meyering.net>
88600             Bruno Haible  <bruno@clisp.org>
88601
88602         This lets translators provide better translations for the
88603         "Written by ..." part of --version output.
88604         * lib/version-etc.h: Include stdarg.h.
88605         (version_etc_copyright): Declare as readonly.
88606         (version_etc): Make this function variadic with a NULL-terminated list
88607         of author name strings.
88608         (version_etc_va): New declaration.
88609         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88610         (version_etc_copyright): Declare as readonly.
88611         (version_etc_va): New function. Provide a different translatable string
88612         for each possible number of authors < 10. Abbreviate when there are 10
88613         authors or more.
88614         (version_etc): Make this function variadic. Call version_etc_va.
88615         Suggestion from Gary V. Vaughan.
88616
88617         * lib/long-options.h (parse_long_options): Change prototype: the
88618         authors string is moved to the end and becomes variadic.
88619         * lib/long-options.c: Include stdarg.h.
88620         (parse_long_options): Make this function variadic, too.
88621         Call version_etc_va, not version_etc.
88622
88623 2003-10-06  Bruno Haible  <bruno@clisp.org>
88624
88625         * modules/version-etc-2: Remove file.
88626         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88627
88628 2003-10-06  Bruno Haible  <bruno@clisp.org>
88629
88630         * modules/fatal-signal: New file.
88631         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88632
88633 2003-10-06  Bruno Haible  <bruno@clisp.org>
88634
88635         * m4/fatal-signal.m4: New file.
88636         * m4/signalblocking.m4: New file, from GNU gettext.
88637
88638 2003-10-06  Bruno Haible  <bruno@clisp.org>
88639
88640         * lib/version-etc-2.h: Remove file.
88641         * lib/version-etc-2.c: Remove file.
88642
88643 2003-10-06  Bruno Haible  <bruno@clisp.org>
88644
88645         * lib/fatal-signal.h: New file, from GNU gettext.
88646         * lib/fatal-signal.c: New file, from GNU gettext.
88647
88648 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88649
88650         * README: Rework advice for preventing empty .o files.
88651         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88652         not <sys/types.h>.
88653
88654 2003-10-04  Karl Berry  <karl@gnu.org>
88655
88656         * lib/argp*: update from libc.
88657
88658 2003-10-04  Karl Berry  <karl@gnu.org>
88659
88660         * config/config.{guess,sub}: update from config.
88661
88662 2003-10-02  Bruno Haible  <bruno@clisp.org>
88663
88664         * modules/lchown (Include): Add lchown.h.
88665         * modules/time_r (Include): Use "..." syntax.
88666         * modules/xgetdomainname (Include): Add xgetdomainname.h.
88667
88668 2003-10-01  Simon Josefsson  <jas@extundo.com>
88669
88670         * MODULES.html.sh (func_all_modules): Move gethostname from section
88671         'based on' to section 'lacking' POSIX:2001.
88672
88673 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
88674
88675         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
88676         to output mode on the same stream.
88677
88678 2003-09-29  Paul Eggert  <eggert@twinsun.com>
88679
88680         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
88681         Fix arg typo in previous patch.
88682
88683 2003-09-28  Jim Meyering  <jim@meyering.net>
88684
88685         * lib/error.c: Correct cpp indentation.
88686
88687 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88688
88689         * modules/free: New file.
88690
88691 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88692
88693         * m4/free.m4: New file.
88694
88695 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88696
88697         * lib/minmax.h (MIN, MAX)
88698         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88699         Omit the special code that used __typeof__, since we worry that
88700         it could be more trouble than it's worth.  See:
88701         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88702         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88703
88704         * lib/free.c: New file.
88705
88706 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88707
88708         Trivial fixes to Makefile.am parts of module listings.
88709         * modules/strstr: Append strstr.h to lib_SOURCES.
88710         * modules/strcase: Likewise, for strcase.h.
88711
88712 2003-09-27  Karl Berry  <karl@gnu.org>
88713
88714         * config/mkinstalldirs: update from automake.
88715
88716 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88717
88718         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88719         (error_tail): Do not loop, reallocating temporary buffer, since
88720         the output cannot contain more wide characters than the input
88721         contains bytes, the size must be big enough already.  This avoids
88722         one potential size overflow calculation.  Check for size overflow
88723         when calculating temporary buffer size.  Free temporary buffer
88724         when done, if it was allocated with malloc; this plugs a memory
88725         leak.  Remove casts from void * to pointers, that are no longer
88726         needed now that we're assuming C89 or better.
88727
88728         Merge error changes from glibc.
88729
88730         * lib/error.c, error.h: Update copyright notice header to match glibc.
88731         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88732         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88733         Disable cancellation while printing error.
88734         * lib/error.h: Prepend __ to parameter names.
88735
88736 2003-09-26  Jim Meyering  <jim@meyering.net>
88737
88738         * lib/error.c (error_tail): Move some declarations
88739         into inner scope where the local variables are used.
88740
88741 2003-09-26  Bruno Haible  <bruno@clisp.org>
88742
88743         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88744         stpncpy().
88745         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88746
88747 2003-09-26  Bruno Haible  <bruno@clisp.org>
88748
88749         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88750         (stpncpy): Define as alias for gnu_stpncpy.
88751         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88752
88753 2003-09-25  Simon Josefsson  <jas@extundo.com>
88754
88755         * lib/xgetdomainname.h: New file.
88756         * lib/xgetdomainname.c: New file.
88757
88758 2003-09-25  Simon Josefsson  <jas@extundo.com>
88759             Bruno Haible  <bruno@clisp.org>
88760
88761         * modules/getdomainname: New file.
88762         * modules/xgetdomainname: New file.
88763         * MODULES.html.sh (func_all_modules): Add getdomainname,
88764         xgetdomainname.
88765
88766 2003-09-25  Simon Josefsson  <jas@extundo.com>
88767             Bruno Haible  <bruno@clisp.org>
88768
88769         * m4/getdomainname.m4: New file.
88770
88771 2003-09-25  Simon Josefsson  <jas@extundo.com>
88772             Bruno Haible  <bruno@clisp.org>
88773
88774         * lib/getdomainname.h: New file.
88775         * lib/getdomainname.c: New file.
88776
88777 2003-09-25  Karl Berry  <karl@gnu.org>
88778
88779         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88780
88781 2003-09-25  Karl Berry  <karl@gnu.org>
88782
88783         * config/install-sh: update from automake.
88784
88785 2003-09-25  Bruno Haible  <bruno@clisp.org>
88786
88787         * modules/version-etc-2: New file, from modules/version-etc with
88788         modifications.
88789         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88790
88791 2003-09-25  Bruno Haible  <bruno@clisp.org>
88792
88793         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88794         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88795
88796 2003-09-24  Simon Josefsson  <jas@extundo.com>
88797
88798         * modules/xgethostname: Add xgethostname.h.
88799
88800 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88801
88802         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88803         the buffer associated with the argument.  Bug reported by
88804         Simon Josefsson.
88805
88806 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88807
88808         * README: Document assumptions that 'int' is at least 32 bits
88809         wide, that integer arithmetic is 2's complement without overflow,
88810         that there are no holes in integer values, that adding sizes of
88811         two nonoverlapping objects can't overflow, and that all-bits-zero
88812         yields scalar zero.  Fix spelling and capitalization typos.
88813
88814 2003-09-19  Karl Berry  <karl@gnu.org>
88815
88816         * lib/argp.h: update from libc.
88817
88818 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88819
88820         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88821         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88822         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88823
88824 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88825
88826         * gnulib-tool: Use "test -h", not "test -L", for portability
88827         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88828         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88829         (sed_extract_prog): Issue s commands one-by-one, rather than
88830         using \| in one s command.
88831
88832 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88833
88834         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88835         input error, instead of returning NULL the next time we are called
88836         (and therefore losing track of errno).
88837
88838 2003-09-16  Bruno Haible  <bruno@clisp.org>
88839
88840         * gnulib-tool (func_create_testdir): Warn about duplicated
88841         dependencies.
88842
88843 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88844
88845         * modules/argmatch, modules/fatal, modules/obstack,
88846         modules/xalloc, modules/xgethostname: Sort dependencies by
88847         importance, not alphabetically.
88848
88849 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88850
88851         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88852         fails, so that the caller gets the proper errno.
88853
88854         * lib/readutmp.c (read_utmp): Likewise.
88855         Check for fstat error.  Close stream and free storage
88856         when failing.
88857
88858 2003-09-14  Karl Berry  <karl@gnu.org>
88859
88860         * config/srclist.txt (strdup.c): disable for c89 changes.
88861
88862 2003-09-14  Jim Meyering  <jim@meyering.net>
88863
88864         * lib/getloadavg.c: Correct cpp indentation.
88865         * lib/strdup.c: Likewise.
88866         * lib/vasnprintf.c: Likewise.
88867
88868 2003-09-14  Bruno Haible  <bruno@clisp.org>
88869
88870         * modules/fwriteerror: New file.
88871         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88872
88873 2003-09-14  Bruno Haible  <bruno@clisp.org>
88874
88875         * lib/fwriteerror.h: New file.
88876         * lib/fwriteerror.c: New file.
88877
88878 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88879
88880         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88881         modules/xgethostname, modules/xalloc: Depend on exit.
88882
88883 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88884
88885         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88886
88887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88888         and AC_MINIX, too, so that their extensions are available.
88889
88890         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88891         This macro has been superseded by gl_BACKUPFILE.
88892
88893         More patches to assume C89 or better.
88894
88895         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88896
88897         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88898         unconditionally.
88899         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88900         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88901         Include <string.h>, <stdlib.h> unconditionally.
88902         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88903         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88904         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88905         headers or for string.h.
88906         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88907         or strtoul.
88908
88909         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88910         headers.
88911         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88912         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88913         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88914         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88915         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88916         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88917         memcpy, memset.
88918         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88919         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88920         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88921         strtol.
88922         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88923         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88924         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88925         strtoul.
88926
88927 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88928
88929         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88930         * lib/obstack.c [!defined _LIBC]: Likewise.
88931         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88932         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88933         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88934
88935         More changes to assume C89 or better.
88936
88937         * lib/error.c (error_tail): Assume vprintf.
88938
88939         * lib/argmatch.c (getenv): Remove decl.
88940         * lib/progreloc.c (get_full_program_name): Define via prototype.
88941         * lib/setenv.c (clearenv): Likewise.
88942         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88943         needed.
88944         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88945         (malloc, memcpy): Remove decls.
88946         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88947         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88948         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88949         (memcpy): Remove macro.
88950         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88951         (__P): Remove.  All uses removed.
88952         (PTR): Remove.  All uses changed to void *.
88953         (CHAR_BIT, NULL): Remove.
88954         (spaces, zeros, memset_space, memset_zero)
88955         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88956         Remove.
88957         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88958         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88959         Define with prototype.
88960         Remove now-unnecessary prototype decl.
88961         (extra_args_spec): Assume ANSI C.  All uses changed.
88962         (extra_args_spec_iso): Remove.
88963         (my_strftime, emacs_strftimeu): Define via prototype.
88964         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88965         unconditionally.
88966         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88967         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88968         (strtoul, strtol): Remove decls.
88969         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88970         LONG_MAX): Remove.
88971         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88972         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88973         (LOCALE_PARAM_PROTO): New macro.
88974         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88975         (INTERNAL (strtol), strtol): Define with a prototype.
88976         (PARAMS): Remove.  All uses removed.
88977         * lib/tempname.c: Include <string.h> unconditionally.
88978         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88979         * lib/xgethostname.c (main): Define with a prototype.
88980         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88981         Include <stdlib.h> unconditionally.
88982         (calloc, malloc, realloc, free): Remove decls.
88983         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88984         Include <stdlib.h> unconditionally.  Sort include file names.
88985         (strtod): Remove.
88986         (xstrtod): Define with a prototype.
88987         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88988         (strtol, strtoul): Remove decls.
88989
88990 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88991
88992         More patches to assume C89 or better.
88993         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
88994         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
88995         string.h, memchr, STDC_HEADERS.
88996
88997 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88998
88999         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89000         Include <stdlib.h>, <string.h> unconditionally.
89001         Remove now-unnecessary cast to char *.
89002         * lib/strnlen.c: Include <string.h> unconditionally.
89003         * lib/yesno.c (yesno): Define with a prototype.
89004
89005 2003-09-11  Bruno Haible  <bruno@clisp.org>
89006
89007         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89008
89009 2003-09-10  Jim Meyering  <jim@meyering.net>
89010
89011         * lib/error.c: Correct indentation of cpp directives.
89012
89013 2003-09-10  Bruno Haible  <bruno@clisp.org>
89014
89015         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89016         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89017         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89018         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89019         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89020         <stdlib.h> and <string.h> checks.
89021         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89022         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89023
89024 2003-09-10  Bruno Haible  <bruno@clisp.org>
89025
89026         * lib/strcspn.c: Include <string.h> unconditionally.
89027         * lib/strpbrk.c: Include <string.h> unconditionally.
89028         * lib/strstr.c: Include <string.h> unconditionally.
89029         * lib/unicodeio.c: Include <string.h> unconditionally.
89030         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89031         * lib/unsetenv.c: Likewise.
89032         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89033         * lib/yesno.c: Include <stdlib.h> unconditionally.
89034         (rpmatch): Add prototype.
89035
89036 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89037
89038         More patches to assume C89 or better.
89039         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89040         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89041         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89042         or for string.h.
89043         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89044         stdlib.h.
89045         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89046         C headers.
89047         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89048         string.h.
89049         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89050         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89051         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89052         or for string.h.
89053         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89054         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89055         C headers.
89056         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89057         memcpy.
89058         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89059         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89060         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89061         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89062         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89063         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89064         string.h, free.
89065         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89066         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89067         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89068         C headers, or for string.h.
89069         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89070         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89071         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89072         headers, memory.h, stdlib.h, string.h, strings.h.
89073         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89074         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89075         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89076         strchr.
89077         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89078         headers, memory.h, string.h.
89079         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89080         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89081         free.
89082         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89083         headers.
89084         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89085         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89086         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89087         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89088         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89089
89090 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89091
89092         More K&R removal.
89093
89094         * lib/acosl.c (main): Use a prototype.
89095         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89096         tanl.c: Likewise.
89097
89098         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89099
89100         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89101         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89102         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89103         with a prototype.
89104         * lib/getopt.c (const): Remove macro.
89105         Include <string.h> unconditionally.
89106         (my_index): Remove; all uses changed to strchr.
89107         (strlen): Remove decl.
89108         (exchange): Remove forward decl; no longer needed.
89109         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89110         Define with prototype.
89111         * lib/getopt1.c (const): Remove macro.
89112         (getopt_long, getopt_long_only, main): Define with prototype.
89113
89114         * lib/getugroups.c: Include <string.h> unconditionally.
89115
89116         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89117         (getusershell, setusershell, endusershell, readname, main):
89118         Define with prototypes.
89119
89120         * lib/group-member.c: Include group-member.h first.
89121         Include <stdlib.h> unconditionally.
89122
89123         * lib/hard-locale.c: Include hard-locale.h first.
89124         Include <stdlib.h>, <string.h> unconditionally.
89125
89126         * lib/hash.c (free, malloc): Remove decls.
89127         Include <stdlib.h> unconditionally.
89128
89129         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89130         (getenv): Do not declare.
89131
89132         * lib/idcache.c: Include <string.h> unconditionally.
89133
89134         * lib/long-options.c: Include long-options.h first, to test interface.
89135         Include <stdlib.h> unconditionally.
89136
89137         * lib/makepath.c: Include makepath.h first, to test interface.
89138         Include <stdlib.h> and <string.h> unconditionally.
89139
89140         * lib/linebuffer.c: Include <stdlib.h>.
89141         (free): Remove decl.
89142
89143         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89144         stddef.h. rpl_malloc returns void *, not char *.
89145         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89146         prototype.
89147
89148         * lib/md5.h: Include <limits.h> unconditionally.
89149         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89150         (__P): Remove; all uses removed.
89151         * lib/md5.c: Include "md5.h" first.
89152         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89153         md5_buffer, md5_process_bytes, md5_process_block):
89154         Define with prototypes.
89155         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89156         * lib/sha.c: Include "sha.h" first.
89157         Include <stdlib.h>, <string.h> unconditionally.
89158
89159         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89160         * lib/memcmp.c (__ptr_t): Likewise.
89161         * lib/memrchr.c (__ptr_t): Likewise.
89162         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89163         Include <string.h> unconditionally.
89164         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89165         * lib/memchr.c: Include <stdlib.h> unconditionally.
89166         * lib/memchr.c (LONG_MAX): Remove.
89167         * lib/memrchr.c (LONG_MAX): Likewise.
89168         * lib/memchr.c (__memchr): Define via a prototype.
89169         * lib/memrchr.c (__memrchr): Likewise.
89170         * lib/memcmp.c (__P): Remove, and remove all uses.
89171         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89172         Remove forward decls; no longer needed.
89173         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89174         Use types required by C89 in prototype.
89175
89176         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89177         * lib/savedir.c: Likewise.
89178         * lib/mkdir.c (free): Remove decl.
89179         * lib/rmdir.c (rmdir): Define with a prototype.
89180         * lib/savedir.c: Include savedir.h first, to test interface.
89181
89182         * lib/mktime.c (STDC_HEADERS): Remove.
89183         Include <stdlib.h>, <string.h> unconditionally.
89184
89185         * lib/modechange.c: Include <stdlib.h> unconditionally.
89186         (malloc): Remove decl.
89187
89188         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89189         (free): Remove decl.
89190
89191         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89192         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89193         (This type really should be intptr_t, but that's a C99ism.)
89194         (_obstack_memcpy): Remove: all uses changed to memcpy.
89195         Include <string.h> unconditionally.
89196         (struct obstack): Assume __STDC__ for types of members
89197         chunkfun, freefun, extra_arg.
89198         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89199         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89200         obstack_begin, obstack_specify_allocation,
89201         obstack_specify_allocation_with_arg, obstack_chunkfun,
89202         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89203         Remove unprototyped decls and the macros that use them.
89204         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89205         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89206         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89207         (defined __STDC__ && __STDC__)]:
89208         Remove nonprototyped code.
89209         Include <stdlib.h> unconditionally.
89210         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89211         _obstack_allocated_p, _obstack_free, obstack_free,
89212         _obstack_memory_used, print_and_abort):
89213         Define using prototypes.
89214         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89215         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89216         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89217         obstack_next_free, obstack_object_size, obstack_room) [0]:
89218         Remove unused, unprototyped code.
89219
89220         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89221
89222         * lib/physmem.c (physmem_total, physmem_available, main): Define
89223         with prototypes.
89224
89225         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89226         (main): Define with a prototype.
89227
89228         * lib/posixver.c (getenv): Remove decl.
89229
89230         * lib/putenv.c (malloc): Returns void *, not char *.
89231         Include <string.h> unconditionally.
89232         (strchr, memcpy, NULL): Do not define.
89233
89234         * lib/readtokens.c: Include readtokens.h first, to test interface.
89235         Include <stdlib.h>, <string.h> unconditionally.
89236         (init_tokenbuffer): Define with a prototype.
89237
89238         * lib/regex.c (PARAMS): Remove.  All uses removed.
89239         All uses of _RE_ARGS removed, too.
89240         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89241         unconditionally.
89242         (bzero): Assume memset exists.
89243         (memcmp, memcpy, NULL): Remove.
89244         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89245         char, or assignments to local vars of type signed char.
89246         (init_syntax_once, PREFIX(extract_number_and_incr),
89247         PREFIX(print_partial_compiled_pattern),
89248         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89249         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89250         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89251         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89252         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89253         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89254         wcs_compile_range, byte_compile_range, truncate_wchar,
89255         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89256         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89257         count_mbs_length, wcs_re_match_2_internal,
89258         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89259         PREFIX(alt_match_null_string_p),
89260         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89261         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89262         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89263         now-unnecessary declaration, if any.
89264         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89265         regcomp, regexec):
89266         Remove now-unnecessary casts among pointer types.
89267         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89268
89269         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89270         (free): Remove decl.
89271
89272         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89273
89274         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89275         (free): Remove decl.
89276
89277         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89278         * lib/xgetcwd.c: Likewise.
89279
89280         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89281         (free): Remove decl.
89282
89283         * lib/strchrnul.c (strchrnul): Define with a prototype.
89284         Fix bug: c_in was not converted to char before searching.
89285
89286         The following changes are not K&R related:
89287
89288         * lib/group-member.h: Include <sys/types.h>, so that this file is
89289         self-contained.
89290         * lib/makepath.h: Likewise.
89291
89292         * lib/getusershell.c (readname, default_index, line_size, readname):
89293         Use size_t, not int, for sizes.
89294         (readname): If the size overflows, report an error instead of
89295         looping forever.
89296
89297 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89298
89299         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89300         libc.
89301
89302 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89303
89304         * README: New section: portability guidelines.
89305
89306 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89307
89308         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89309         C89 spec.
89310
89311 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89312
89313         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89314
89315 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89316
89317         Assume C89 or better; remove K&R cruft.
89318         A few of these changes were first proposed by Derek Robert Price
89319         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89320
89321         * lib/addext.c: Include <string.h> unconditionally.
89322         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89323         Don't declare getenv or malloc.
89324
89325         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89326         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89327         (NULL): Remove.
89328         (find_stack_direction, alloca): Use prototypes.
89329
89330         * lib/atexit.c (atexit): Define using a prototype.
89331
89332         * lib/basename.c, dirname.c, stripslash.c:
89333         Include <string.h> unconditionally.
89334
89335         * lib/bcopy.c: Include <stddef.h>.
89336         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89337
89338         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89339
89340         * lib/error.h (error, error_at_line, error_print_progname)
89341         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89342         * lib/error.c: Include error.h first, to check interface.
89343         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89344         (VA_START): Remove; all uses changeed to va_start.
89345         (exit, strerror): Remove decls.
89346         (error_print_progname): Prototype uncondionally.
89347         Don't include <errno.h>; no longer needed.
89348         (private_strerror): Remove.
89349         (error_tail): Always define.
89350         (error, error_at_line): Assume C89 or better; always use prototypes.
89351         * lib/fatal.c: Include "fatal.h" first, to test interface.
89352         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89353         (VA_START): Remove; all uses changed to va_start.
89354         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89355         this case.
89356         (exit): Remove decl.
89357         (fatal): Prototype unconditionally.  Assume va_start works.
89358         Abort at end, to pacify gcc.
89359
89360         * lib/euidaccess.c (main): Define with a prototype.
89361
89362         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89363
89364         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89365
89366         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89367         prototypes.
89368         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89369         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89370         (getenv): Remove decl.
89371         (fnmatch): Define using a prototype.
89372         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89373         (FCT): Define using a prototype.
89374
89375         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89376
89377         * lib/gethostname.c: Include <stddef.h>.
89378         (gethostname): Define with prototype.  Length is size_t, not int.
89379
89380 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89381
89382         Assume C89 or better; remove K&R cruft.
89383         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89384         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89385         string.h, getenv, malloc.
89386         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89387         headers.
89388         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89389         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89390         do not check for strerror.
89391         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89392         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89393         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89394         do not check for doprnt or vprintf.
89395         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89396         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89397
89398 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89399
89400         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89401         getversion.c should have been removed then, but was accidentally
89402         preserved.
89403
89404         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89405         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89406
89407 2003-09-08  Karl Berry  <karl@gnu.org>
89408
89409         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89410                 config, forget about prep.
89411
89412         * config/depcomp, missing: update from automake.
89413
89414 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89415
89416         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89417         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89418
89419 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89420
89421         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89422         copy_tm_result.  Bug reported by Simon Josefsson in
89423         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89424
89425 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89426
89427         * m4/time_r.m4: New file.
89428         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89429         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89430         is. Check for timegm declaration.
89431         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89432         Do not check for gmtime_r.
89433         Replace mktime if __mktime_internal does not exist and if mktime
89434         hasn't been replaced already.
89435
89436 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89437
89438         * lib/time_r.c, lib/time_r.h: New files.
89439
89440         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89441         __localtime_r.
89442         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89443         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89444
89445         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89446         __gmtime_r.
89447         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89448         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89449         Include <time_r.h>.
89450
89451         * lib/timegm.c: Switch to glibc implementation, with the following
89452         changes:
89453         [defined HAVE_CONFIG_H]: Include <config.h>.
89454         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89455         (__mktime_internal) [!defined _LIBC]: New decl.
89456         (__gmtime_r) [!defined _LIBC]: New macro and function.
89457         (timegm): Use a prototype, since gnulib assumes C89.
89458         Do not bother declaring tmp to be const, as it's not really usefu.
89459         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89460         (timegm): Declare only if HAVE_DECL_TIMEGM.
89461
89462 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89463
89464         * MODULES.html.sh (func_all_modules): Add time_r.
89465         * modules/time_r: New file.
89466         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89467         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89468
89469 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89470
89471         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89472         Bug reported by Lute Kamstra in
89473         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89474
89475         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89476         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89477         course with correspondingly smaller numbers for tomorrow and
89478         yesterday.  From Tadayoshi Funaba.  Originally installed into
89479         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89480         coreutils merge?).
89481
89482 2003-08-31  Simon Josefsson  <jas@extundo.com>
89483
89484         * modules/timegm: New file.
89485         * MODULES.html.sh (func_all_modules): Add timegm.
89486
89487 2003-08-31  Simon Josefsson  <jas@extundo.com>
89488
89489         * m4/timegm.m4: New file.
89490
89491 2003-08-31  Simon Josefsson  <jas@extundo.com>
89492
89493         * lib/timegm.h: New file.
89494         * lib/timegm.c: New file.  Based on
89495         wget-1.8.2/src/http.c:mktime_from_utc.
89496
89497 2003-08-31  Karl Berry  <karl@gnu.org>
89498
89499         * lib/argp.h: update from libc.
89500
89501 2003-08-28  Bruno Haible  <bruno@clisp.org>
89502
89503         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89504         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89505         followed by '#define fnmatch fnmatch_posix' gives an error.
89506
89507 2003-08-28  Bruno Haible  <bruno@clisp.org>
89508
89509         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89510         warning on QNX, which defines O_BINARY to 000000.
89511
89512 2003-08-27  Jim Meyering  <jim@meyering.net>
89513
89514         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89515         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89516         would fail after 32.  Reported by Danny Levinson.  Details here:
89517         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89518
89519 2003-08-24  Bruno Haible  <bruno@clisp.org>
89520
89521         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89522         MSVC7 <stdio.h> is included later.
89523
89524 2003-08-22  Simon Josefsson  <jas@extundo.com>
89525
89526         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89527
89528 2003-08-20  Karl Berry  <karl@gnu.org>
89529
89530         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89531
89532 2003-08-20  Bruno Haible  <bruno@clisp.org>
89533
89534         * modules/progname: New file.
89535         * MODULES.html.sh (func_all_modules): Add progname.
89536
89537 2003-08-20  Bruno Haible  <bruno@clisp.org>
89538
89539         * lib/progname.h: New file, from GNU gettext.
89540         * lib/progname.c: New file, from GNU gettext.
89541         * lib/progreloc.c: New file, from GNU gettext.
89542
89543 2003-08-19  Jim Meyering  <jim@meyering.net>
89544
89545         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89546         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89547
89548 2003-08-19  Bruno Haible  <bruno@clisp.org>
89549
89550         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89551         more.
89552
89553 2003-08-19  Bruno Haible  <bruno@clisp.org>
89554
89555         * lib/xstrdup.c: Assume <string.h> exists.
89556
89557 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89558
89559         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89560         in makefile rules.
89561
89562 2003-08-18  Jim Meyering  <jim@meyering.net>
89563
89564         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89565         * m4/lib-ld.m4: Likewise.
89566
89567 2003-08-18  Jim Meyering  <jim@meyering.net>
89568
89569         * lib/setenv.h: Indent nested cpp directive.
89570         * lib/vasnprintf.c: Remove trailing blanks.
89571
89572 2003-08-17  Simon Josefsson  <jas@extundo.com>
89573
89574         * modules/xstrndup: New file.
89575         * MODULES.html.sh (func_all_modules): Add xstrndup.
89576
89577 2003-08-17  Simon Josefsson  <jas@extundo.com>
89578
89579         * modules/argp: Fix autoconf macro name. Add more dependencies.
89580
89581 2003-08-17  Simon Josefsson  <jas@extundo.com>
89582
89583         * m4/xstrndup.m4: New file.
89584
89585 2003-08-17  Simon Josefsson  <jas@extundo.com>
89586
89587         * m4/argp.m4: New file.
89588
89589 2003-08-17  Simon Josefsson  <jas@extundo.com>
89590             Bruno Haible  <bruno@clisp.org>
89591
89592         * lib/xstrndup.h: New file.
89593         * lib/xstrndup.c: New file.
89594
89595 2003-08-17  Bruno Haible  <bruno@clisp.org>
89596
89597         * modules/strndup (Files, Include): Add lib/strndup.h.
89598
89599 2003-08-17  Bruno Haible  <bruno@clisp.org>
89600
89601         * modules/euidaccess (Files): Add lib/euidaccess.h.
89602
89603 2003-08-17  Bruno Haible  <bruno@clisp.org>
89604
89605         * lib/strndup.h: New file.
89606
89607 2003-08-17  Bruno Haible  <bruno@clisp.org>
89608
89609         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89610         like AC_GNU_SOURCE.
89611         * modules/extensions (configure.ac): Comment out the invocation of
89612         gl_USE_SYSTEM_EXTENSIONS.
89613
89614 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89615
89616         Merges from coreutils, etc.
89617         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89618         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89619         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89620         fixing a typo.
89621         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89622         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89623
89624 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89625
89626         Document merge from coreutils.
89627         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89628         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89629         * modules/utime: Add m4/utimes-null.m4.
89630
89631 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89632
89633         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89634         space, undoing this 2003-08-12 change:
89635         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89636
89637 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89638
89639         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89640         strtoul.c from libc, undoing this 2003-08-12 change:
89641         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89642
89643 2003-08-16  Jim Meyering  <jim@meyering.net>
89644
89645         Merges from coreutils.
89646         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89647         prefix.  Adjust cache variables similarly.  Create 500 rather than
89648         just 300 files, to exercise bug on Darwin6.5, too.
89649         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89650         $missing_dir.
89651         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89652         AM_SYS_POSIX_TERMIOS.
89653         Reported by mkc@mathdogs.com.
89654         Also change use of $am_cv_sys_posix_termios
89655         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89656         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89657         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89658         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89659         in /proc/mounts until it finds one with matching device number.  This
89660         is unnecessary when the FILE argument *is* a mount point.  No stat call
89661         is necessary in that case.  So, disable the statvfs-testing code on
89662         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
89663         as RedHat bug# 84846.
89664         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89665         to 1MB, so as not to render systems with no stack size limit (e.g.,
89666         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89667         Include <unistd.h>.  On some systems,
89668         it is required for the definition of _SC_PAGESIZE.
89669
89670 2003-08-16  Jim Meyering  <jim@meyering.net>
89671
89672         Merge from coreutils.
89673         * lib/xstrtoimax.c: #else #if -> #elif.
89674         * lib/xstrtoumax.c: Likewise.
89675
89676 2003-08-16  Jim Meyering  <jim@meyering.net>
89677
89678         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
89679         * m4/utimes.m4: Removed.
89680         * m4/utimes-null.m4: Renamed from utimes.m4.
89681
89682         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89683         to 1MB, so as not to render systems with no stack size limit (e.g.,
89684         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89685         Include <unistd.h>.  On some systems,
89686         it is required for the definition of _SC_PAGESIZE.
89687
89688 2003-08-16  Jim Meyering  <jim@meyering.net>
89689         and Paul Eggert  <eggert@cs.ucla.edu>
89690
89691         Merges from coreutils, etc.
89692
89693         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89694         using the latest version from cvs.  This avoids problems with #line
89695         directives using a vendor (Sun) compiler.
89696         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89697         Don't set GETGROUPS_LIB here; now it's
89698         done via getgroups.m4's wrapper function.
89699         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89700         rather than just in sh-util/configure.in, so that the
89701         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89702         same.
89703         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89704         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89705         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89706         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89707         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89708         Remove code that is now done by the newly-required macros.
89709         Append $(EXEEXT) to DF_PROG.
89710         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89711         Do not invoke or require the following here,
89712         since prereq.m4 or some gnulib .m4 now does this for us:
89713         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89714         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89715         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89716         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89717         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89718         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89719         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89720         AC_FUNC_OBSTACK.
89721         Do not replace the following functions, as this is now the job
89722         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89723         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89724         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89725         atexit getpass, strdup, getpagesize.
89726         Replace 'raise'.
89727         Do not check for the following functions, as this is now the job
89728         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89729         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89730         setregid.
89731         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89732         Check for sys/sysctl.h.
89733         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89734         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89735         of checking for ssize_t ourselves.
89736
89737         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89738         Require every macro that gnulib/modules/* suggests for us.
89739         (jm_PREREQ_ADDEXT): New macro.
89740         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89741         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89742
89743         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89744         (gl_PHYSMEM): Use it.
89745         Also check for `table' function.
89746         Check for new headers and functions.
89747         Add check for sys/sysmp.h.
89748         With suggestions from Kaveh Ghazi.
89749         Ignore headers that are present but cannot be compiled.  This
89750         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89751         C 5.4.
89752
89753 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89754
89755         Document merge from coreutils.
89756         * modules/userspec: Depend on posixver.
89757         * modules/strftime: Depend on tzset.
89758
89759 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89760
89761         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89762         rather than tab, after '#' in shell-script copyright notices.
89763         Suggested by Bruno Haible.
89764
89765 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89766
89767         * config/srclist-update: Use three spaces, rather than tab, after '#'
89768         in shell-script copyright notices.  Suggested by Bruno Haible.
89769         Remove unnecessary parenthesization in regular expression.
89770
89771 2003-08-15  Jim Meyering  <jim@meyering.net>
89772
89773         Merge from coreutils.
89774         * lib/xgethostname.c: Include <stdlib.h>.
89775         (xghostname): Don't exit for anything other than memory-related
89776         failure; just return NULL.
89777         * lib/userspec.c: Include "posixver.h".
89778         (parse_user_spec): Accept `.' as a separator only
89779         in pre-POSIX-200112 mode.
89780         * lib/strtoimax.c: Use #elif rather than #else #if.
89781         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89782         Remove function, now that we can rely on a working tzset function.
89783         [!_LIBC]: Ensure that the required autoconf test has been run.
89784         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89785         Use underlying_strftime for %r.
89786         * lib/sha.c: Merge in some clean-up and optimization changes from
89787         glibc.
89788         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89789         Ensure that it is a multiple of 64.
89790         Rearrange loop exit tests so as to avoid performing an
89791         additional fread after encountering an error or EOF.
89792         * lib/realloc.c: Update copyright date.
89793
89794 2003-08-15  Jim Meyering  <jim@meyering.net>
89795         and Paul Eggert  <eggert@twinsun.com>
89796
89797         Merge from coreutils.
89798         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89799         member but strut utmpx does not.  Needed for AIX 4.3.3.
89800         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89801
89802 2003-08-15  Jim Meyering  <jim@meyering.net>
89803         and Paul Eggert  <eggert@cs.ucla.edu>
89804
89805         Merges from coreutils, etc.
89806         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89807         Require gl_FUNC_TZSET_CLOBBER.
89808         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89809         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89810         members.
89811
89812 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89813
89814         Help the merge from coreutils.
89815         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89816         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89817         * m4/tzset.m4: Use it too.
89818
89819 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89820
89821         * modules/tzset: New file.
89822
89823 2003-08-14  Jim Meyering  <jim@meyering.net>
89824
89825         Merges from coreutils.
89826         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89827         variable names, rather than @FNMATCH_H@.
89828         * modules/alloca: Likewise for $(ALLOCA_H).
89829
89830         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89831         the three copies of the literal target, `fnmatch.h'.
89832         * modules/alloca (alloca.h): Likewise.
89833
89834 2003-08-14  Jim Meyering  <jim@meyering.net>
89835
89836         Merge from coreutils.
89837         * m4/tzset.m4: New file.
89838         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89839         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89840         otherwise, AIX 5.1 systems would end up using the latter.
89841         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89842         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89843         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89844         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89845
89846 2003-08-14  Jim Meyering  <jim@meyering.net>
89847
89848         Merge from coreutils.
89849         * lib/obstack.h: Whitespace changes.
89850         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89851         and xcalloc return values.
89852         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89853         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89854         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89855         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89856         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89857         error from mntctl.
89858         Use mntctl's return value to drive the entry-processing loop, since
89859         we can't rely on the value of the vmt_length member in the last
89860         entry.  On some systems doing so could result in exhausting
89861         virtual memory.  Based in part on a patch from Mike Jetzer.
89862
89863 2003-08-14  Jim Meyering  <jim@meyering.net>
89864         and Paul Eggert  <eggert@twinsun.com>
89865
89866         Merges from coreutils, plus other fixes.
89867         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89868         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89869         for credits and details.  Thanks to Kaveh Ghazi for helping
89870         to keep these files in sync.
89871         (ARRAY_SIZE): Define it.
89872         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89873         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89874         (memcasecmp): Don't assume size_t fits in unsigned int.
89875         Remove casts and duplicate code.
89876         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89877         (memcpy): Remove definition.
89878         Merge in some clean-up and optimization changes from glibc.
89879         [BLOCKSIZE]: Move definition to top of file.
89880         Ensure that it is a multiple of 64.
89881         Rearrange loop exit tests so as to avoid performing an
89882         additional fread after encountering an error or EOF.
89883         * lib/md5.h (md5_uintptr): Define.
89884         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89885         return to the initial working directory.  Preserve errno
89886         for caller.
89887         * lib/idcache.c: Include "xalloc.h".
89888         (xmalloc, xrealloc): Remove decls.
89889         (getuser): Remove casts no longer required in C89.
89890         * lib/human.c: Include stdio.h, for sprintf.
89891         * lib/group-member.c: Include "xalloc.h".
89892         (xmalloc, xrealloc): Remove decls.
89893         (get_group_info): Remove casts no longer required in C89.
89894         * lib/getusershell.c (readname): Remove casts no longer required in
89895         C89.
89896         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89897         * lib/getline.c: Whitespace fix, from coreutils.
89898
89899 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89900
89901         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89902         Check for isascii.
89903
89904         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89905         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89906         Undo previous (whitespace-only) change.
89907
89908 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89909
89910         * lib/exclude.c: Include <ctype.h>
89911         (IN_CTYPE_DOMAIN): New macro.
89912         (is_space): New fn.
89913         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89914         and empty lines.
89915
89916         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89917         Undo previous (whitespace-only) change.
89918
89919 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89920
89921         * config/srclist-update: Change update back to the old behavior,
89922         leaving whitespace alone.  Use one 'sed' command rather than a
89923         pipeline.
89924         (fixlicense): Now a variable, not a function.
89925         (remove_trailing_blanks): Remove.
89926         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89927         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89928         Undo previous (whitespace-only) change.
89929
89930 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89931
89932         Merge from coreutils.
89933         * modules/euidaccess: Add lib_SOURCES, include for new
89934         file euidaccess.h
89935
89936 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89937
89938         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89939         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89940         Normalize leading white space and remove trailing white space.
89941
89942         Merge from coreutils
89943         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89944
89945         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89946         0.12.1.  These files are now being upgraded automatically by
89947         ../config/srclist-update.
89948
89949 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89950
89951         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89952         Normalize leading white space and remove trailing white space.
89953         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89954         notice, as per ../config/srclist-update.
89955
89956         Merge from coreutils.
89957         * lib/euidaccess.h: New file.
89958         * lib/euidaccess.c: Include it.
89959         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89960         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89961         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89962
89963 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89964
89965         * config/srclist-update: Add copyright notice.
89966         (remove_id_lines, remove_trailing_blanks): New constants.
89967         (fixfile): Use them to normalize spacing a bit in copied files.
89968         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89969         Normalize leading white space and remove trailing white space.
89970
89971         * config/texinfo.tex: Sync with texinfo.
89972
89973         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89974         strtoul.c from libc, to merge coreutils whitespace changes.
89975
89976         * config/srclist.txt: Get the following m4 files from gettext:
89977         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89978         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89979         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89980         wint_t.m4.
89981
89982 2003-08-12  Karl Berry  <karl@gnu.org>
89983
89984         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89985         been made.
89986
89987 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89988
89989         * modules/gnu-source, m4/gnu-source.m4:
89990         Remove; we're assuming Autoconf 2.54 or later now.
89991         Suggested by Bruno Haible.
89992         * MODULES.html.sh (func_all_modules): Remove gnu-source.
89993
89994 2003-08-11  Bruno Haible  <bruno@clisp.org>
89995
89996         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
89997
89998 2003-08-11  Bruno Haible  <bruno@clisp.org>
89999
90000         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90001         (vasnprintf): Use it instead of wcslen.
90002
90003 2003-08-11  Bruno Haible  <bruno@clisp.org>
90004
90005         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90006         value to ensure that _Bool promotes to int. Use #define for _Bool when
90007         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90008
90009 2003-08-10  Karl Berry  <karl@gnu.org>
90010
90011         * lib/regex.h: update from libc (whitespace fix).
90012
90013 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90014
90015         Merge some files from coreutils.  These changes were
90016         originally made by Jim Meyering.
90017         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90018         many older Unixes require this.
90019         * lib/alloca.c (alloca): Remove cast to argument of free;
90020         no longer needed in C89.
90021         * lib/alloca_.h, regex.h: Fix white space to match
90022         what GNU indent does.
90023
90024 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90025
90026         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90027         apparently Emacs's Unicode mode got confused before my 2003-08-05
90028         checkin.
90029
90030 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90031
90032         * m4/extensions.m4: New file.
90033         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90034         Require gl_USE_SYSTEM_EXTENSIONS.
90035         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90036         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90037
90038 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90039
90040         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90041         * modules/extensions, modules/gnu-source: New files.
90042         * modules/timespec, modules/unlocked-io: Depend on extensions.
90043
90044 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90045
90046         * modules/restrict: New file.
90047         * MODULES.html.sh (func_all_modules): Add restrict.
90048         * modules/regex: Depend on restrict.
90049
90050 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90051
90052         * m4/restrict.m4: New file.
90053         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90054
90055 2003-08-07  Bruno Haible  <bruno@clisp.org>
90056
90057         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90058         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90059
90060 2003-08-07  Bruno Haible  <bruno@clisp.org>
90061
90062         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90063         makes the module 'getndelim2' compatible with the module 'getline'.
90064
90065 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90066
90067         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90068         byte with "\201" to avoid glitches when editing that source file
90069         with multi-gnome-terminal.
90070
90071 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90072
90073         * lib/bumpalloc.h: Remove.
90074
90075 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90076
90077         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90078         * modules/bumpalloc: Remove.
90079
90080 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90081
90082         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90083         GNU coding style.
90084
90085         Merge from coreutils.
90086         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90087         1. From glibc.
90088         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90089         from Karl Berry, implemented by Jim Meyering.
90090         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90091         from Dmitry V. Levin.
90092         Remove anachronistic cast of xrealloc.
90093         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90094         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90095         type. Otherwise, it wouldn't compile with at least /bin/cc on
90096         ymp-cray-unicos9.0.2.X.
90097         Combine two mostly-identical uses of alloca into one.
90098         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90099
90100 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90101
90102         [From Emacs.]
90103
90104         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90105         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90106         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90107         obsolete NLIST_NAME_UNION.
90108         [__GNU__]: Undef BSD and FSCALE.
90109         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90110
90111 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90112
90113         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90114         an enum type, so that it's guaranteed to promote to int.  See:
90115         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90116
90117 2003-08-03  Karl Berry  <karl@gnu.org>
90118
90119         * config/depcomp: update from automake.
90120
90121 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90122
90123         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90124         (strerror): Don't assume that a printable int fits in 14 bytes.
90125
90126 2003-07-31  Bruno Haible  <bruno@clisp.org>
90127
90128         * modules/getpass-gnu: New file.
90129         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90130
90131 2003-07-31  Bruno Haible  <bruno@clisp.org>
90132
90133         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90134
90135 2003-07-24  Karl Berry  <karl@gnu.org>
90136
90137         * config/missing: update from automake.
90138
90139 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90140             Bruno Haible  <bruno@clisp.org>
90141
90142         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90143         * lib/getline.c (getline, getdelim): Likewise.
90144         Remove _GNU_SOURCE define; now it's defined in config.h through
90145         m4/getline.m4.
90146
90147 2003-07-23  Karl Berry  <karl@gnu.org>
90148
90149         * config/config.sub: update from prep.
90150
90151 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90152
90153         * modules/xalloc (Depends-on): Add exitfail.
90154         * modules/xmemcoll: Likewise.
90155
90156 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90157
90158         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90159         over-parenthesization in macros.
90160
90161         Sync with coreutils.
90162
90163         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90164         required by C99.
90165
90166         Use `exit_failure' for xalloc and xmemcoll instead of their own
90167         private exit-failure variables.
90168         * lib/xalloc.h (xalloc_exit_failure): Remove.
90169         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90170         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90171         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90172         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90173         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90174
90175 2003-07-20  Jim Meyering  <jim@meyering.net>
90176
90177         * modules/closeout (Depends-on): Add exitfail.
90178         Suggestion from Bruno Haible.
90179
90180 2003-07-19  Karl Berry  <karl@gnu.org>
90181
90182         * config/config.sub: update from prep.
90183
90184 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90185
90186         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90187         Remove.
90188         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90189         to test that it can stand by itself.  Include "exitfail.h".
90190         Clients should set exit_failure instead.
90191         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90192
90193 2003-07-18  Bruno Haible  <bruno@clisp.org>
90194
90195         * modules/getndelim2: New file.
90196         * modules/getline: Share files with module getndelim2.
90197         * modules/getnline: Depend on getndelim2 instead of sharing files with
90198         it. Add getnline.c to lib_SOURCES.
90199         * MODULES.html.sh (func_all_modules): Add getndelim2.
90200
90201 2003-07-18  Bruno Haible  <bruno@clisp.org>
90202
90203         * m4/getndelim2.m4: New file.
90204         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90205         invoke gl_PREREQ_GETNDELIM2.
90206         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90207         gl_PREREQ_GETNDELIM2.
90208         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90209         gl_GETNDELIM2.
90210
90211 2003-07-18  Bruno Haible  <bruno@clisp.org>
90212
90213         * lib/getndelim2.h: New file.
90214         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90215         getndelim2.h.
90216         (getndelim2): Make non-static. Change return type to ssize_t.
90217         * lib/getline.h: Change argument names.
90218         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90219         * lib/getnline.c: Include getndelim2.h.
90220
90221 2003-07-18  Andreas Schwab  <schwab@suse.de>
90222
90223         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90224
90225 2003-07-17  Karl Berry  <karl@gnu.org>
90226
90227         * config/config.sub: update from prep.
90228
90229 2003-07-17  Bruno Haible  <bruno@clisp.org>
90230
90231         * modules/getnline: New file.
90232         * modules/getline: Add lib/getndelim2.c to source file list.
90233         * MODULES.html.sh (func_all_modules): Add getnline.
90234
90235 2003-07-17  Bruno Haible  <bruno@clisp.org>
90236
90237         * m4/getnline.m4: New file.
90238
90239 2003-07-17  Bruno Haible  <bruno@clisp.org>
90240
90241         * m4/Makefile.am.in: Remove file.
90242         * m4/Makefile.am: Remove file.
90243         * m4/Makefile.in: Remove file.
90244
90245 2003-07-17  Bruno Haible  <bruno@clisp.org>
90246
90247         * lib/getnline.h: New file.
90248         * lib/getnline.c: New file.
90249         * lib/getndelim2.c: New file, extracted from getline.c.
90250         (getndelim2): Renamed from getdelim2, with added nmax argument.
90251         * lib/getline.c: Include getndelim2.c.
90252         (getdelim2): Moved out to getndelim2.c.
90253         (getline, getdelim): Update.
90254
90255 2003-07-17  Bruno Haible  <bruno@clisp.org>
90256
90257         * lib/Makefile.am: Remove file.
90258         * lib/Makefile.in: Remove file.
90259
90260 2003-07-17  Bruno Haible  <bruno@clisp.org>
90261
90262         * configure.in: Remove file.
90263         * Makefile.in: Remove file.
90264
90265 2003-07-17  Bruno Haible  <bruno@clisp.org>
90266
90267         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90268
90269 2003-07-16  Karl Berry  <karl@gnu.org>
90270
90271         * config/srclist-update: was running fixlicense twice, which caused
90272                 texinfo.tex to be nullified for some reason.  Simplify,
90273                 $gplsrc is no longer needed as far as I can see?
90274
90275 2003-07-16  Jim Meyering  <jim@meyering.net>
90276
90277         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90278
90279 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90280
90281         * config/srclist.txt: Get the following files from gettext-runtime/intl
90282         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90283         ref-del.sin.  From Bruno Haible.
90284         * config/srclist-update (fixfile): Change grep pattern again, since the
90285         previous fix didn't work (there was another trailing $).  Use
90286         '[$]' to escape the $s.
90287
90288 2003-07-15  Karl Berry  <karl@gnu.org>
90289
90290         * lib/vasnprintf.c: update from gettext.
90291
90292 2003-07-15  Karl Berry  <karl@gnu.org>
90293
90294         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90295         gets expanded when surrounded by '$'.
90296
90297 2003-07-15  Jim Meyering  <jim@meyering.net>
90298
90299         * modules/save-cwd: Don't depend on error.  From Derek Price.
90300
90301 2003-07-15  Jim Meyering  <jim@meyering.net>
90302
90303         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90304
90305 2003-07-14  Simon Josefsson  <jas@extundo.com>
90306
90307         * modules/mempcpy: New file.
90308         * MODULES.html.sh (func_all_modules): Add mempcpy.
90309
90310 2003-07-14  Simon Josefsson  <jas@extundo.com>
90311
90312         * m4/mempcpy.m4: New file.
90313
90314 2003-07-14  Simon Josefsson  <jas@extundo.com>
90315
90316         * lib/mempcpy.h: New file.
90317         * lib/mempcpy.c: New file.
90318
90319 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90320
90321         * modules/getdate, modules/posixtm: Depend on mktime.
90322
90323 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90324
90325         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90326         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90327         unicodeio.c, unicodeio.h, unlocked-io.h:
90328         Switch from LGPL to GPL.
90329
90330 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90331
90332         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90333         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90334         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90335         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90336         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90337         updated automatically by ../config/srclist-update.  This changes
90338         their license from LPGL to GPL.
90339
90340 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90341
90342         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90343         assumed to refer to the root of the most recent stable gettext version.
90344         * config/srclistvars.sh: Add defaults for eggert.
90345         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90346         Match "This program" as well as "The program".  This is needed
90347         for gettext.
90348
90349 2003-07-14  Jim Meyering  <jim@meyering.net>
90350
90351         Don't emit diagnostics.  Let callers do that.
90352         * lib/save-cwd.c: Don't include "error.h".
90353         (save_cwd): Don't call error.  Ensure that errno is valid
90354         when returning nonzero.
90355
90356         * lib/save-cwd.h (restore_cwd): Update prototype.
90357         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90358         Simplify.  Don't call error upon failure.  Let callers do that.
90359         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90360         when auditing is enabled.  But don't bother updating the #if.
90361
90362 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90363
90364         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90365         it breaks C++ compilation.
90366         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90367
90368 2003-07-10  Simon Josefsson  <jas@extundo.com>
90369
90370         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90371
90372 2003-07-10  Jim Meyering  <jim@meyering.net>
90373
90374         * m4/clock_time.m4: Remove trailing blank.
90375         * m4/intmax_t.m4: Likewise.
90376
90377 2003-07-10  Jim Meyering  <jim@meyering.net>
90378
90379         * lib/vasnprintf.c: Remove trailing blanks.
90380         Make cpp indentation consistent.
90381
90382 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90383
90384         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90385         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90386         Switch from LGPL to GPL.
90387
90388 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90389
90390         * config/srclist.txt: Sort sublists.  Add
90391         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90392         that differ from gnulib for one reason or another; we'd like this list
90393         to be smaller but for now let's document what we have.
90394
90395 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90396
90397         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90398         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90399         and sweeter "eval x=$x".
90400         * config/srclist.txt: Get lib/argp* from glibc.
90401
90402 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90403
90404         * lib/mktime.c: Fix some boundary cases and remove need for floating
90405         point.
90406
90407         Issue a compile-time diagnostic if time_t is floating point, or if
90408         two's complement arithmetic is not in effect, or if arithmetic
90409         right shift does not propagate the sign.  These assumptions were
90410         all in the original code but they weren't checked.
90411
90412         (TIME_T_MIDPOINT, verify): New macros.
90413         (__isleap): Remove; it has integer overflow problems.
90414         (leapyear): New function, without those problems.
90415         (ydhms_tm_diff): Remove; splitting into two parts.
90416         (ydhms_diff): New function, containing the arithmetic part of
90417         the old ydhms_tm_diff function.  Issue a compile-time
90418         diagnostic if we are not using C99 integer division.
90419         Avoid casts when possible.
90420         (guess_time_tm): New function, containing the checking part of
90421         the old ydhms_tm_diff function.  Return the new value, rather than
90422         the difference between it and the old.  Accept a new argument T
90423         so that *T specifies the old value.  Check for overflow in the result.
90424
90425         (__mktime_internal): Use a time_t offset, not a long int offset.
90426         This undoes the 2003-06-04 change, which is no longer needed now
90427         that we have better overflow checking.
90428         (localtime_offset): Likewise.
90429
90430         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90431         and long are 64-bit but int is only 32-bit.
90432         (ydhms_diff): Use long int to store year1 and yday1.
90433         Issue a compile-time diagnostic if long int is not wide enough.
90434
90435         (__mktime_internal): Use long int to store adjusted year and yday.
90436         Use plain C rather than preprocessor commands, if that doesn't
90437         affect efficiency.
90438         Check for overflow (and try to repair) after each probe
90439         rather than checking only at the very end.  This avoids some bugs
90440         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90441         does not equal GMT offset at maximum time).
90442         Use integer to check for overflow rather than floating point; this
90443         is more portable to non-IEEE hosts, and is a tad faster.
90444         When we detect that we are oscillating between two values,
90445         don't check whether tm_isdst has the requested value, since
90446         we already know the answer.  When tm_isdst has the wrong value,
90447         use a different heuristic to find the right one, based on the
90448         extreme values actually observed in practice in tz2003a,
90449         rather than the (overly optimistic) "previous 3 calendar quarters".
90450
90451         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90452         "T const" to accommodate glibc style.
90453         (check_result): Use less-confusing report format.  "long" -> "long int.
90454         (main): Likewise.
90455         Don't loop if the iteration overflows time_t.
90456         Allow a negative step in the iteration.
90457
90458 2003-07-06  Karl Berry  <karl@gnu.org>
90459
90460         * config/depcomp: update from automake.
90461         * config/config.sub: update from prep.
90462
90463 2003-07-03  Karl Berry  <karl@gnu.org>
90464
90465         * config/config.guess: update from prep.
90466
90467 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90468
90469         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90470         xreadlink.c now includes it unconditionally.
90471
90472 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90473
90474         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90475         having it depend on HAVE_SYS_TYPES_H.
90476
90477 2003-07-01  Bruno Haible  <bruno@clisp.org>
90478
90479         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90480         <sys/types.h> should be sufficient.
90481         Reported by Paul Eggert.
90482
90483 2003-06-26  Karl Berry  <karl@gnu.org>
90484
90485         * config/depcomp: update from automake.
90486
90487 2003-06-26  Bruno Haible  <bruno@clisp.org>
90488
90489         * modules/human: Depend on module stdbool.
90490
90491 2003-06-25  Bruno Haible  <bruno@clisp.org>
90492
90493         * modules/readlink: New file.
90494         * modules/xreadlink: Depend on it.
90495         * MODULES.html.sh (func_all_modules): Add readlink.
90496
90497 2003-06-25  Bruno Haible  <bruno@clisp.org>
90498
90499         * m4/readlink.m4: New file.
90500
90501 2003-06-25  Bruno Haible  <bruno@clisp.org>
90502
90503         * lib/readlink.c: New file.
90504
90505 2003-06-22  Karl Berry  <karl@gnu.org>
90506
90507         * config/srclist.txt: update mkinstalldirs from automake.
90508         * config/mkinstalldirs: update.
90509
90510 2003-06-22  Bruno Haible  <bruno@clisp.org>
90511
90512         Portability to mingw32.
90513         * m4/ssize_t.m4: New file, from GNU gettext.
90514         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90515         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90516
90517 2003-06-22  Bruno Haible  <bruno@clisp.org>
90518
90519         * modules/safe-read: Add m4/ssize_t.m4.
90520         * modules/xreadlink: Add m4/ssize_t.m4.
90521
90522 2003-06-20  Bruno Haible  <bruno@clisp.org>
90523
90524         Assume C89, so PARAMS isn't needed.
90525         * lib/unicodeio.h (PARAMS): Remove.
90526         * lib/unicodeio.c: Don't use PARAMS.
90527
90528 2003-06-18  Karl Berry  <karl@gnu.org>
90529
90530         * config/config.{guess,sub}: update from prep.
90531
90532 2003-06-18  Jim Meyering  <jim@meyering.net>
90533
90534         Merge changes from coreutils.
90535         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90536         Remove explicit declarations of xmalloc and realloc.
90537         Include xalloc.h.
90538         (read_utmp): Remove anachronistic cast of xmalloc.
90539
90540 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90541
90542         Assume C89, so PARAMS isn't needed.
90543         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90544         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90545         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90546         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90547         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90548         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90549         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90550         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90551         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90552         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90553         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90554         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90555         no longer needed. Anyway, config.h should always be included before any
90556         other file.
90557
90558 2003-06-11  Simon Josefsson  <jas@extundo.com>
90559
90560         * modules/sysexits: New file.
90561         * MODULES.html.sh (func_all_modules): Add sysexits.
90562
90563 2003-06-11  Simon Josefsson  <jas@extundo.com>
90564
90565         * lib/sysexit_.h: New file.
90566
90567 2003-06-11  Derek Price  <derek@ximbiot.com>
90568
90569         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90570         necessary.
90571
90572 2003-06-11  Bruno Haible  <bruno@clisp.org>
90573
90574         * m4/sysexits.m4: New file.
90575
90576 2003-06-10  Simon Josefsson  <jas@extundo.com>
90577
90578         * lib/argp.h: New file, from glibc.
90579         * lib/argp-ba.c: New file, from glibc.
90580         * lib/argp-eexst.c: New file, from glibc.
90581         * lib/argp-fmtstream.c: New file, from glibc.
90582         * lib/argp-fmtstream.h: New file, from glibc.
90583         * lib/argp-fs-xinl.c: New file, from glibc.
90584         * lib/argp-help.c: New file, from glibc.
90585         * lib/argp-namefrob.h: New file, from glibc.
90586         * lib/argp-parse.c: New file, from glibc.
90587         * lib/argp-pv.c: New file, from glibc.
90588         * lib/argp-pvh.c: New file, from glibc.
90589         * lib/argp-xinl.c: New file, from glibc.
90590
90591 2003-06-10  Simon Josefsson  <jas@extundo.com>
90592
90593         * modules/strchrnul: New file.
90594
90595 2003-06-10  Simon Josefsson  <jas@extundo.com>
90596
90597         * modules/argp: New file.
90598
90599 2003-06-10  Simon Josefsson  <jas@extundo.com>
90600
90601         * m4/strchrnul.m4: New file.
90602
90603 2003-06-10  Simon Josefsson  <jas@extundo.com>
90604
90605         * lib/strchrnul.h: New file.
90606         * lib/strchrnul.c: New file.
90607
90608 2003-06-10  Bruno Haible  <bruno@clisp.org>
90609
90610         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90611
90612 2003-06-07  Karl Berry  <karl@gnu.org>
90613
90614         * config/config.{guess,sub}: update from prep.
90615
90616 2003-06-07  Jim Meyering  <jim@meyering.net>
90617
90618         * modules/strtod: Use $(...) notation, not @...@ for
90619         AC_REPLACE'd variables.
90620         * modules/localcharset: Likewise.
90621
90622 2003-06-07  Jim Meyering  <jim@meyering.net>
90623
90624         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90625         in place of my name in the copyright comment.
90626         Remove definition and uses of __P.
90627
90628         From coreutils.
90629         * lib/stat.c: Don't declare xmalloc explicitly.
90630         Instead, include "xalloc.h".
90631         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90632         xrealloc, and xcalloc return values.
90633         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90634         Improve comment.
90635         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90636
90637 2003-06-07  Bruno Haible  <bruno@clisp.org>
90638
90639         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90640         avoid AC_CONFIG_LINKS.
90641         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90642         fnmatch.h, to avoid AC_CONFIG_LINKS.
90643         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90644
90645 2003-06-07  Bruno Haible  <bruno@clisp.org>
90646
90647         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90648         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90649         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90650         directory.
90651         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90652         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90653         directory.
90654
90655 2003-06-06  Jim Meyering  <jim@meyering.net>
90656
90657         Merge from coreutils.
90658         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90659         Consolidate declarations and initializations of *_base* locals.
90660
90661         Merge from coreutils.
90662         This avoids a core dump on systems without GNU putenv,
90663         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
90664         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
90665         (unsetenv): New static function, from GNU libc.
90666         (rpl_putenv): Use it.
90667
90668         * lib/modechange.c: Remove trailing blanks.
90669
90670         Merge from coreutils.
90671         * lib/fsusage.c: Remove declaration of statfs.
90672         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
90673
90674         * lib/posixtm.c: Include <stdbool.h> unconditionally.
90675
90676 2003-06-06  Jim Meyering  <jim@meyering.net>
90677
90678         * lib/stdbool_.h: Renamed from stdbool.h.in.
90679
90680 2003-06-06  Jim Meyering  <jim@meyering.net>
90681             Bruno Haible  <bruno@clisp.org>
90682
90683         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
90684         Adjust Makefile.am snippet not to redirect directly to target.
90685         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90686
90687 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90688
90689         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90690         mismatch, look in future quarters as well as past.  This fixes a
90691         bug when processing fall-backwards gaps immediately after a long
90692         period of daylight-saving time.
90693
90694         * lib/mktime.c: Assume freestanding C89 or better.
90695         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90696         (__P): Remove; not used.
90697         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90698         (mktime, not_equal_tm, print_tm, check_result,
90699         main): Use prototypes.  Use const * where appropriate.
90700         (main): Fix typo in testing code that uncovered by above changes.
90701         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90702
90703 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90704
90705         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90706         locale.h, localeconv.  This merges changes from coreutils.
90707
90708         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90709         It can be removed after the next Autoconf is released.
90710         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90711         needed.
90712
90713 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90714
90715         * lib/mktime.c: Fix Debian bug 177940
90716         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90717         (localtime_offset): Now long int, not time_t, because we want it
90718         to be guaranteed to be signed.  All uses changed.
90719         (__mktime_internal): If overflow would occur when adding offset,
90720         don't add it.
90721
90722         Merge 'human' changes from coreutils.  Rewrite to support
90723         locale-specific notations like thousands separators.
90724         * lib/human.c: Simplify authorship notice.
90725         Include human.h immediately after config.h.
90726         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90727         <limits.h>: Do not include, since human.h does.
90728         (SIZE_MAX, UINTMAX_MAX): New macros.
90729         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90730         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90731         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90732         (power_letter): Renamed from suffixes.
90733         (generate_suffix_backwards): Remove.
90734         (adjust_value): Now takes int style (because of human.h changes)
90735         and long double value (for greater precision on some platforms).
90736         (group_number): New function.
90737         (human_readable): Use it.  Use integer options, not enum.
90738         Put the options before the sizes in the arg list.
90739         Support all the new options.
90740         The old human_readable function has been removed;
90741         use inttostr.h instead.
90742         (human_readable, default_block_size, humblock):
90743         Use uintmax_t, not int, for block sizes.
90744         (human_readable_inexact, block_size_types): Remove.
90745         (block_size_opts): New constant.
90746         (human_options): Renamed from human_block_size, with new signature
90747         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90748         * lib/human.h: Add copyright and authorship notice.
90749         Include <limits.h> and <stdbool.h> unconditionally.
90750         (PARAMS): Remove.  All uses removed.
90751         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90752         (enum human_inexact_style): Remove tag; now a nameless enum.
90753         (human_floor, human_ceiling, human_round_to_even): Now have
90754         values 2, 0, 1 rather than -1, 1, 0.
90755         (human_group_digits, human_suppress_point_zero, human_autoscale,
90756         human_base_1024, human_SI, human_B): New constants.
90757         (human_readable_inexact, human_block_size): Remove.
90758         (human_readable): Size args are now uintmax_t, not int.
90759         (human_options): New decl.
90760
90761         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90762         unnecessary now that we assume C89 or better.  This change
90763         imported from coreutils.
90764
90765         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90766         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90767         in the 2003-05-30 sync from glibc.
90768
90769         .h files should stand alone, but we shouldn't include <sys/types.h>
90770         if we can get away with just <stddef.h>.
90771
90772         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90773         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90774         rather than <sys/types.h>, as we merely need size_t.
90775         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90776         to get size_t.
90777         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90778         Include <stdio.h>, to get FILE.
90779         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90780         memcasecmp.h has included <stddef.h> and all we need is size_t.
90781         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90782         our interface, instead of including <sys/types.h>
90783
90784 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90785
90786         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90787         now, as glibc mktime is buggy on non-glibc systems.
90788
90789 2003-06-03  Karl Berry  <karl@gnu.org>
90790
90791         * config/config.sub: update from prep.
90792
90793 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90794
90795         [from coreutils]
90796         Fix some minor time-related bugs with POSIX time arguments.
90797         Some valid time stamps were being rejected (notably -1, and
90798         time stamps before 1900 on 64-bit hosts).  And some invalid
90799         time stamps were being accepted, e.g. September 31.
90800
90801         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90802         that we can return (time_t) -1 successfully.
90803         * lib/posixtm.c: Likewise.
90804         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90805         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90806         (t): Remove static var.
90807         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90808         of static var.  All uses changed.
90809         (year): Do not reject years before 1900; they can occur with
90810         64-bit time_t.
90811         (posix_time_parse): Do not check for out-of-range components;
90812         that is now the caller's responsibility, since our checks were
90813         only approximations.
90814         (posixtime): Use mktime to check for out-of-range components,
90815         since it knows them exactly.
90816         If mktime returns (time_t) -1, check whether an error actually occurred
90817         by invoking localtime on -1.
90818         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90819         posixtime failures better.
90820         Improve the test data (in comments only).
90821
90822 2003-06-02  Karl Berry  <karl@gnu.org>
90823
90824         * config/mkinstalldirs (version): new variable.
90825         (--version): new option.
90826         (usage): improve message.
90827
90828 2003-05-30  Karl Berry  <karl@gnu.org>
90829
90830         * lib/mktime.c: update from libc.
90831
90832 2003-05-30  Bruno Haible  <bruno@clisp.org>
90833
90834         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90835         * config/config.rpath: Upgrade to gettext-0.12.1.
90836
90837 2003-05-30  Bruno Haible  <bruno@clisp.org>
90838
90839         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90840         * m4/nls.m4: New file, from gettext-0.12.1.
90841         * m4/po.m4: New file, from gettext-0.12.1.
90842         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90843
90844 2003-05-30  Bruno Haible  <bruno@clisp.org>
90845
90846         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90847         * lib/localcharset.h: Likewise.
90848         * lib/localcharset.c: Likewise.
90849
90850 2003-05-29  Karl Berry  <karl@gnu.org>
90851
90852         * config/config.rpath: update from gettext.
90853
90854 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90855
90856         Assume the headers required for C89 freestanding compilers.
90857         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90858         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90859         * m4/human.m4 (gl_HUMAN): Likewise.
90860         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90861         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90862         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90863         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90864         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90865         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90866
90867 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90868
90869         Assume the headers required for C89 freestanding compilers.
90870         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90871         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90872         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90873         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90874         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90875         define, since <limits.h> is guaranteed to do that.
90876         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90877         * lib/exclude.c: Include <stdbool.h> unconditionally.
90878         * lib/tempname.c: Include <stddef.h> unconditionally.
90879         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90880         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90881         <stddef.h> does that.
90882         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90883         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90884         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90885         needed.
90886         * lib/xstrtol.c: Likewise.
90887         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90888         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90889
90890         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90891         warnings on some platforms.
90892
90893         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90894         arbitrarily.
90895
90896 2003-05-26  Jim Meyering  <jim@meyering.net>
90897
90898         Merge in a change from coreutils:
90899         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90900         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90901         that condition, rather than `-1' which is slightly misleading.
90902         Change the name of the cache variable to have the gl_ prefix.
90903         Prompted by a patch from Richard Dawe for DJGPP.
90904
90905 2003-05-24  Karl Berry  <karl@gnu.org>
90906
90907         * config/config.guess: update from prep.
90908
90909 2003-05-22  Karl Berry  <karl@gnu.org>
90910
90911         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90912
90913 2003-05-20  Karl Berry  <karl@gnu.org>
90914
90915         * config/config.guess: update from prep.
90916
90917 2003-05-18  Karl Berry  <karl@gnu.org>
90918
90919         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90920         might actually be set by the user.
90921
90922         * config/depcomp, install-sh, mdate-sh: update from automake.
90923
90924 2003-05-17  Bruno Haible  <bruno@clisp.org>
90925
90926         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90927         invalid expansion for AC_EGREP_CPP.
90928         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90929         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90930         Suggested by Akim Demaille <akim@epita.fr> in
90931         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90932
90933 2003-05-12  Jim Meyering  <jim@meyering.net>
90934
90935         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90936         the space-padded-by-default conversion specifiers, %e, %k, %l.
90937
90938 2003-05-12  Bruno Haible  <bruno@clisp.org>
90939
90940         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90941         the string is longer than 4 KB.
90942
90943 2003-05-11  Karl Berry  <karl@gnu.org>
90944
90945         * config/config.{guess,sub}: update from prep.
90946
90947 2003-05-09  Bruno Haible  <bruno@clisp.org>
90948
90949         * modules/error: Add m4/strerror_r.m4 to file list.
90950
90951 2003-05-03  Bruno Haible  <bruno@clisp.org>
90952
90953         Upgrade to Unicode-4.0.
90954         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90955         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90956         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90957         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90958         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90959         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90960         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90961         Change width of U+E0100..U+E01EF from 1 to 0.
90962
90963 2003-04-25  Jim Meyering  <jim@meyering.net>
90964
90965         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90966         of type size_t, not int.
90967
90968 2003-04-25  Bruno Haible  <bruno@clisp.org>
90969
90970         * lib/copy-file.c: Include <stddef.h>, for size_t.
90971
90972 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90973
90974         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90975         code which expansion is under static control.  Patch imported from
90976         Akim Demaille's patch to Bison; see
90977         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90978
90979 2003-04-14  Bruno Haible  <bruno@clisp.org>
90980
90981         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90982
90983 2003-04-11  Jim Meyering  <jim@meyering.net>
90984
90985         Merge changes from Coreutils.
90986
90987         2003-03-22  Jim Meyering  <jim@meyering.net>
90988
90989         * lib/strftime.c (widen): Cast alloca return value to proper type.
90990
90991         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90992
90993         From GNU libc.
90994         * lib/strftime.c (my_strftime): Handle very large width
90995         specifications for numeric values correctly.  Improve checks for
90996         overflow.
90997
90998         2003-01-19  Jim Meyering  <jim@meyering.net>
90999
91000         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91001         definitions.
91002         (nl_get_alt_digit) [! defined my_strftime]: Define.
91003         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91004         _nl_get_alt_digit and _nl_get_walt_digit.
91005
91006         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91007         libc. These changes have no effect outside of _LIBC.
91008
91009 2003-04-10  Bruno Haible  <bruno@clisp.org>
91010
91011         * modules/findprog: New file.
91012         * MODULES.html.sh (func_all_modules): Add it.
91013
91014 2003-04-10  Bruno Haible  <bruno@clisp.org>
91015
91016         * m4/findprog.m4: New file.
91017         * m4/eaccess.m4: New file.
91018
91019 2003-04-10  Bruno Haible  <bruno@clisp.org>
91020
91021         * lib/findprog.h: New file, from GNU gettext.
91022         * lib/findprog.c: New file, from GNU gettext.
91023
91024 2003-04-05  Jim Meyering  <jim@meyering.net>
91025
91026         Merge changes from Coreutils.
91027
91028         * lib/exclude.h (PARAMS): Remove definition and uses.
91029         * lib/exclude.c: Remove uses of `PARAMS'.
91030
91031         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91032         Add test-cases for DOS filenames. Declare program_name.
91033         (main): Set up program_name.  Patch by Rich Dawe.
91034
91035         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91036         error from mntctl.
91037         Use mntctl's return value to drive the entry-processing loop, since
91038         we can't rely on the value of the vmt_length member in the last
91039         entry.  On some systems doing so could result in exhausting
91040         virtual memory.  Based in part on a patch from Mike Jetzer.
91041
91042 2003-04-04  Bruno Haible  <bruno@clisp.org>
91043
91044         * modules/linebreak: New file.
91045         * MODULES.html.sh (func_all_modules): Add it.
91046
91047 2003-04-04  Bruno Haible  <bruno@clisp.org>
91048
91049         * m4/linebreak.m4: New file.
91050
91051 2003-04-04  Bruno Haible  <bruno@clisp.org>
91052
91053         * lib/linebreak.h: New file, from GNU gettext.
91054         * lib/linebreak.c: New file, from GNU gettext with slight
91055         modifications.
91056         * lib/lbrkprop.h: New file, from GNU gettext.
91057
91058 2003-04-03  Bruno Haible  <bruno@clisp.org>
91059
91060         * modules/utf8-ucs4: New file.
91061         * modules/utf16-ucs4: New file.
91062         * modules/ucs4-utf8: New file.
91063         * modules/ucs4-utf16: New file.
91064         * MODULES.html.sh (func_all_modules): Add them.
91065
91066 2003-04-03  Bruno Haible  <bruno@clisp.org>
91067
91068         * m4/utf-ucs4.m4: New file.
91069         * m4/ucs4-utf.m4: New file.
91070
91071 2003-04-03  Bruno Haible  <bruno@clisp.org>
91072
91073         * lib/utf8-ucs4.h: New file, from GNU gettext.
91074         * lib/utf16-ucs4.h: New file, from GNU gettext.
91075         * lib/ucs4-utf8.h: New file, from GNU gettext.
91076         * lib/ucs4-utf16.h: New file, from GNU gettext.
91077
91078 2003-04-02  Bruno Haible  <bruno@clisp.org>
91079
91080         * modules/binary-io: New file.
91081         * MODULES.html.sh (func_all_modules): Add it.
91082
91083 2003-04-02  Bruno Haible  <bruno@clisp.org>
91084
91085         * lib/binary-io.h: New file, from GNU gettext.
91086
91087 2003-04-01  Bruno Haible  <bruno@clisp.org>
91088
91089         * modules/pathname: New file.
91090         * MODULES.html.sh (func_all_modules): Add it.
91091
91092 2003-04-01  Bruno Haible  <bruno@clisp.org>
91093
91094         * lib/pathname.h: New file, from GNU gettext.
91095         * lib/concatpath.c: New file, from GNU gettext.
91096
91097 2003-03-30  Bruno Haible  <bruno@clisp.org>
91098
91099         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91100
91101 2003-03-30  Bruno Haible  <bruno@clisp.org>
91102
91103         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91104         function chown() doesn't exist.
91105
91106 2003-03-28  Bruno Haible  <bruno@clisp.org>
91107
91108         * modules/copy-file: New file.
91109         * MODULES.html.sh (func_all_modules): Add it.
91110
91111 2003-03-28  Bruno Haible  <bruno@clisp.org>
91112
91113         * m4/copy-file.m4: New file.
91114
91115 2003-03-28  Bruno Haible  <bruno@clisp.org>
91116
91117         * lib/copy-file.h: New file, from GNU gettext.
91118         * lib/copy-file.c: New file, from GNU gettext.
91119
91120 2003-03-18  Jim Meyering  <jim@meyering.net>
91121
91122         * lib/quote.c (quote_n): Fix typo in comment.
91123
91124 2003-03-18  Bruno Haible  <bruno@clisp.org>
91125
91126         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91127         checking.
91128         * m4/onceonly_2_57.m4: Likewise.
91129
91130 2003-03-17  Bruno Haible  <bruno@clisp.org>
91131
91132         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91133         (m4_quote): Remove macro.
91134         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91135
91136 2003-03-14  Jim Meyering  <jim@meyering.net>
91137
91138         Merge changes from Coreutils.
91139         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91140         to be const, in order to avoid warnings.
91141         (obstack_room): Likewise.
91142         (obstack_empty_p): Likewise.
91143
91144 2003-03-14  Bruno Haible  <bruno@clisp.org>
91145
91146         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91147         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91148
91149 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91150
91151         Merge changes from Bison.
91152         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91153         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91154         when compiling Bison 1.875's `bitset bset = obstack_alloc
91155         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91156         * lib/hash.c: Include <stdbool.h> unconditionally.
91157
91158 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91159
91160         * m4/onceonly.m4 (m4_quote): New macro.
91161         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91162         Quote AC_FOREACH variable-expansions properly.
91163
91164 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91165
91166         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91167
91168 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91169
91170         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91171         Reported by Bruce Becker; see:
91172         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91173
91174 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91175             Bruno Haible  <bruno@clisp.org>
91176
91177         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91178         Reported by John Hughes, see
91179         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91180
91181 2003-02-20  Bruno Haible  <bruno@clisp.org>
91182
91183         * MODULES.html.sh (func_all_modules): Add poll.
91184
91185 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91186
91187         * modules/poll: New file.
91188
91189 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91190
91191         * lib/poll_.h: New file.
91192         * lib/poll.c: New file.
91193
91194 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91195
91196         * m4/poll.m4: New file.
91197
91198 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91199
91200         * modules/mathl: New file.
91201
91202 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91203
91204         * lib/mathl.h: New file.
91205         * lib/acosl.c: New file.
91206         * lib/asinl.c: New file.
91207         * lib/atanl.c: New file.
91208         * lib/ceill.c: New file.
91209         * lib/cosl.c: New file.
91210         * lib/expl.c: New file.
91211         * lib/floorl.c: New file.
91212         * lib/frexpl.c: New file.
91213         * lib/ldexpl.c: New file.
91214         * lib/logl.c: New file.
91215         * lib/sincosl.c: New file.
91216         * lib/sinl.c: New file.
91217         * lib/sqrtl.c: New file.
91218         * lib/tanl.c: New file.
91219         * lib/trigl.c: New file.
91220         * lib/trigl.h: New file.
91221
91222 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91223
91224         * m4/mathl.m4: New file.
91225
91226 2003-02-18  Bruno Haible  <bruno@clisp.org>
91227
91228         * MODULES.html.sh (func_all_modules): Add mathl.
91229
91230 2003-02-17  Bruno Haible  <bruno@clisp.org>
91231
91232         * modules/mkdtemp: New module.
91233         * MODULES.html.sh (func_all_modules): Add it.
91234
91235 2003-02-17  Bruno Haible  <bruno@clisp.org>
91236
91237         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91238
91239 2003-02-17  Bruno Haible  <bruno@clisp.org>
91240
91241         * lib/mkdtemp.h: New file, from GNU gettext.
91242         * lib/mkdtemp.c: New file, from GNU gettext.
91243
91244 2003-02-02  Jim Meyering  <jim@meyering.net>
91245
91246         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91247         e.g. glibc-2.2.93.
91248
91249 2003-01-31  Bruno Haible  <bruno@clisp.org>
91250
91251         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91252         'rpl_rename'.
91253         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91254         'rpl_strnlen'.
91255         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91256         'rpl_strtod'.
91257         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91258         'rpl_utime'.
91259
91260 2003-01-31  Bruno Haible  <bruno@clisp.org>
91261
91262         * lib/rename.c: #undef rename before defining rpl_rename.
91263         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91264
91265 2003-01-30  Bruno Haible  <bruno@clisp.org>
91266
91267         * modules/vasnprintf, modules/vasprintf: New modules.
91268         * MODULES.html.sh (func_all_modules): Add them.
91269
91270 2003-01-30  Bruno Haible  <bruno@clisp.org>
91271
91272         * m4/signed.m4: New file, from GNU gettext.
91273         * m4/longdouble.m4: New file, from GNU gettext.
91274         * m4/wchar_t.m4: New file, from GNU gettext.
91275         * m4/wint_t.m4: New file, from GNU gettext.
91276         * m4/vasnprintf.m4: New file.
91277         * m4/vasprintf.m4: New file.
91278
91279 2003-01-30  Bruno Haible  <bruno@clisp.org>
91280
91281         * lib/printf-args.h: New file, from GNU gettext.
91282         * lib/printf-args.c: New file, from GNU gettext.
91283         * lib/printf-parse.h: New file, from GNU gettext.
91284         * lib/printf-parse.c: New file, from GNU gettext.
91285         * lib/vasnprintf.h: New file, from GNU gettext.
91286         * lib/vasnprintf.c: New file, from GNU gettext.
91287         * lib/asnprintf.c: New file, from GNU gettext.
91288         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91289         * lib/vasprintf.c: New file, from GNU gettext.
91290         * lib/asprintf.c: New file, from GNU gettext.
91291
91292 2003-01-29  Bruno Haible  <bruno@clisp.org>
91293
91294         * modules/stpncpy: New module.
91295         * MODULES.html.sh (func_all_modules): Add it.
91296
91297 2003-01-29  Bruno Haible  <bruno@clisp.org>
91298
91299         * m4/stpncpy.m4: New file.
91300
91301 2003-01-29  Bruno Haible  <bruno@clisp.org>
91302
91303         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91304         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91305
91306 2003-01-28  Bruno Haible  <bruno@clisp.org>
91307
91308         * modules/c-ctype: New module.
91309         * MODULES.html.sh (func_all_modules): Add it.
91310
91311 2003-01-28  Bruno Haible  <bruno@clisp.org>
91312
91313         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91314         Paul Eggert.
91315         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91316         Paul Eggert.
91317
91318 2003-01-27  Bruno Haible  <bruno@clisp.org>
91319
91320         * modules/xsetenv: New module.
91321         * MODULES.html.sh (func_all_modules): Add it.
91322
91323 2003-01-27  Bruno Haible  <bruno@clisp.org>
91324
91325         * lib/xsetenv.h: New file, from GNU gettext.
91326         * lib/xsetenv.c: New file, from GNU gettext.
91327
91328 2003-01-23  Jim Meyering  <jim@meyering.net>
91329
91330         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91331         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91332
91333 2003-01-23  Bruno Haible  <bruno@clisp.org>
91334
91335         * modules/minmax: New module.
91336         * MODULES.html.sh (func_all_modules): Add it.
91337
91338 2003-01-23  Bruno Haible  <bruno@clisp.org>
91339
91340         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91341         Eggert.
91342
91343 2003-01-22  Bruno Haible  <bruno@clisp.org>
91344
91345         * modules/exit: New module.
91346         * MODULES.html.sh (func_all_modules): Add it.
91347
91348 2003-01-22  Bruno Haible  <bruno@clisp.org>
91349
91350         * lib/exit.h: New file, from GNU gettext.
91351
91352 2003-01-19  Bruno Haible  <bruno@clisp.org>
91353
91354         * gnulib-tool: Recognize option --extract-maintainer.
91355         (func_get_maintainer): New function.
91356         * modules/*: Add Maintainer entry.
91357
91358 2003-01-16  Jim Meyering  <jim@meyering.net>
91359
91360         * m4/regex.m4: The `regex' struct is both input and output.
91361         Initialize it before each use.  Patch by Tim Waugh.
91362
91363 2003-01-16  Bruno Haible  <bruno@clisp.org>
91364
91365         * MODULES.html.sh: Add a table of contents. Add the module name as
91366         leftmost column. Add hyperlinks.
91367
91368 2003-01-15  Bruno Haible  <bruno@clisp.org>
91369
91370         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91371
91372 2003-01-15  Bruno Haible  <bruno@clisp.org>
91373
91374         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91375         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91376         suffix.
91377
91378 2003-01-15  Bruno Haible  <bruno@clisp.org>
91379
91380         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91381
91382 2003-01-15  Bruno Haible  <bruno@clisp.org>
91383
91384         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91385         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91386
91387 2003-01-14  Jim Meyering  <jim@meyering.net>
91388
91389         * lib/same.c (same_name): Tweak a comment.
91390
91391 2003-01-14  Bruno Haible  <bruno@clisp.org>
91392
91393         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91394         when a string comparison is sufficient.
91395
91396 2003-01-14  Bruno Haible  <bruno@clisp.org>
91397
91398         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91399         'unsigned int'.
91400
91401 2003-01-14  Bruno Haible  <bruno@clisp.org>
91402
91403         * lib/hash-pjw.c: Add comment about low quality of this function.
91404
91405 2003-01-13  Bruno Haible  <bruno@clisp.org>
91406
91407         * modules/stpcpy: Distribute lib/stpcpy.h.
91408         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91409
91410 2003-01-13  Bruno Haible  <bruno@clisp.org>
91411
91412         * modules/*: Add a description.
91413         * modules/strpbrk: Fix Makefile.am snippet.
91414         * modules/strtoimax: Fix dependencies.
91415         * modules/strtoumax: Likewise.
91416
91417 2003-01-13  Bruno Haible  <bruno@clisp.org>
91418
91419         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91420         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91421         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91422
91423 2003-01-13  Bruno Haible  <bruno@clisp.org>
91424
91425         * gnulib-tool (func_create_testdir): Store config/* files in the main
91426         directory.
91427         * config.rpath: Move to ...
91428         * config/config.rpath: ... here.
91429         * modules/gettext: Contains config/config.rpath, not config.rpath.
91430         * modules/iconv: Likewise.
91431
91432 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91433
91434         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91435         to avoid collisions with libcurses and libreadline.
91436
91437         * m4/getstr.m4: Remove.
91438         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91439
91440 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91441
91442         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91443         to avoid collisions with libcurses and libreadline.
91444
91445         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91446         * lib/getstr.h, getstr.c: Remove.
91447         * lib/getline.c: Include "getline.h", to check interface.
91448         Move body of old getstr.c here: this defines MIN_CHUNK and
91449         declares getdelim2, which is renamed from getstr.
91450         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91451
91452         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91453         All uses changed.
91454         * lib/linebuffer.h: Likewise.
91455         (readline): Remove backward-compatibility macro.
91456
91457 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91458
91459         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91460         to avoid collisions with libcurses and libreadline.
91461         * getstr: Remove.
91462         * MODULES.html.sh: Remove getstr.
91463         * modules/getline: Depend on unlocked-io, not getstr.
91464
91465 2003-01-12  Jim Meyering  <jim@meyering.net>
91466
91467         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91468
91469 2003-01-10  Bruno Haible  <bruno@clisp.org>
91470
91471         * modules/alloca: Change Makefile.am requirements. Simplify Include
91472         requirements. Add lib/alloca_.h to file list.
91473
91474 2003-01-10  Bruno Haible  <bruno@clisp.org>
91475
91476         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91477
91478 2003-01-10  Bruno Haible  <bruno@clisp.org>
91479
91480         * lib/alloca_.h: New file.
91481         * lib/getdate.y: Unconditionally include alloca.h.
91482         * lib/makepath.c: Likewise.
91483         * lib/setenv.c: Likewise.
91484         * lib/userspec.c: Likewise.
91485
91486 2003-01-09  Karl Berry  <karl@gnu.org>
91487
91488         * MODULES.html.sh: include `dirname $0` in PATH, to find
91489         gnulib-tool.
91490
91491 2003-01-09  Bruno Haible  <bruno@clisp.org>
91492
91493         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91494         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91495
91496 2003-01-09  Bruno Haible  <bruno@clisp.org>
91497
91498         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91499
91500 2003-01-09  Bruno Haible  <bruno@clisp.org>
91501
91502         * lib/stdbool.h.in: New file.
91503
91504 2003-01-09  Bruno Haible  <bruno@clisp.org>
91505
91506         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91507         * MODULES.html.sh: Likewise.
91508
91509 2003-01-08  Jim Meyering  <jim@meyering.net>
91510
91511         * lib/full-write.c: Undefine and define-away `const' after inclusion
91512         of errno.h, not before.  Suggestion from Bruno Haible.
91513
91514 2003-01-08  Bruno Haible  <bruno@clisp.org>
91515
91516         * modules/full-read: Depend on full-write.
91517
91518 2003-01-08  Bruno Haible  <bruno@clisp.org>
91519
91520         * lib/safe-read.c: Include specification header first, to ensure its
91521         selfcontainedness.
91522         * lib/full-write.c: Likewise.
91523
91524 2003-01-07  Jim Meyering  <jim@meyering.net>
91525
91526         * lib/full-write.c: Rework so that it may serve to define full_read,
91527         too.
91528         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91529
91530 2003-01-07  Bruno Haible  <bruno@clisp.org>
91531
91532         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91533         <inttypes.h>.
91534         * lib/xstrtol.h: Likewise.
91535         * lib/xstrtoimax.c: Likewise.
91536         * lib/xstrtoumax.c: Likewise.
91537         * lib/human.h: Likewise.
91538
91539         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91540         on systems that have <inttypes.h> but not <stdint.h>.
91541
91542 2003-01-07  Bruno Haible  <bruno@clisp.org>
91543
91544         * MODULES.html.sh: Add copyright notice.
91545         (missed_files): Omit CVS directory entries.
91546         (func_module): Make it work with sed-3.02.
91547         * MODULES.txt: Remove file.
91548
91549 2003-01-06  Jim Meyering  <jim@meyering.net>
91550
91551         * lib/version-etc.c: Update year in translatable copyright string.
91552
91553 2003-01-03  Karl Berry  <karl@gnu.org>
91554
91555         * config/config.{guess,sub}: update from prep.
91556
91557 2003-01-02  Karl Berry  <karl@gnu.org>
91558
91559         * doc/COPYING.DOC: belatedly updated to 1.2.
91560
91561 2003-01-01  Karl Berry  <karl@gnu.org>
91562
91563         * gnulib-tool (func_verify_module): report module name $module in
91564         error message, not $1.
91565         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91566         be created, only if it doesn't exist.
91567         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91568
91569 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91570
91571         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91572
91573 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91574
91575         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91576         memcmp if strcoll doesn't work.
91577
91578 2002-12-31  Bruno Haible  <bruno@clisp.org>
91579
91580         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91581         nonempty.
91582
91583 2002-12-31  Bruno Haible  <bruno@clisp.org>
91584
91585         * lib/memcoll.c (STRCOLL): New macro.
91586         (memcoll): Use it.
91587
91588 2002-12-31  Bruno Haible  <bruno@clisp.org>
91589
91590         * lib/localcharset.h: New file.
91591         * lib/localcharset.c: Include it.
91592         * lib/unicodeio.c: Likewise.
91593
91594 2002-12-31  Bruno Haible  <bruno@clisp.org>
91595
91596         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91597         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91598
91599 2002-12-31  Bruno Haible  <bruno@clisp.org>
91600
91601         * lib/getline.h: Include <stddef.h>, for size_t.
91602
91603         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91604         * lib/unicodeio.c: Don't include <stddef.h>.
91605
91606 2002-12-31  Bruno Haible  <bruno@clisp.org>
91607
91608         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91609         HAVE_TM_ZONE.
91610
91611 2002-12-24  Karl Berry  <karl@gnu.org>
91612
91613         * config/config.guess: update from prep.
91614
91615 2002-12-24  Bruno Haible  <bruno@clisp.org>
91616
91617         General infrasructure.
91618         * m4/README: Rewritten.
91619         * m4/onceonly.m4: New file.
91620         * m4/onceonly_2_57.m4: New file.
91621
91622         Module atexit.
91623         * m4/atexit.m4: New file.
91624
91625         Module strtod.
91626         * m4/strtod.m4: New file.
91627
91628         Module strtol.
91629         * m4/strtol.m4: New file.
91630
91631         Module strtoul.
91632         * m4/strtoul.m4: New file.
91633
91634         Module memchr.
91635         * m4/memchr.m4: New file.
91636
91637         Module memcmp.
91638         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91639         (jm_FUNC_MEMCMP): Invoke it.
91640
91641         Module memcpy.
91642         * m4/memcpy.m4: New file.
91643
91644         Module memmove.
91645         * m4/memmove.m4: New file.
91646
91647         Module memset.
91648         * m4/memset.m4: New file.
91649
91650         Module strcspn.
91651         * m4/strcspn.m4: New file.
91652
91653         Module strpbrk.
91654         * m4/strpbrk.m4: New file.
91655
91656         Module strstr.
91657         * m4/strstr.m4: New file.
91658
91659         Module strerror.
91660         * m4/strerror.m4: New file.
91661
91662         Module mktime.
91663         * m4/mktime.m4: Renamed from jm-mktime.m4.
91664         (gl_PREREQ_MKTIME): New macro.
91665         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
91666
91667         Module malloc.
91668         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
91669         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
91670         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
91671
91672         Module realloc.
91673         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
91674         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
91675         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
91676
91677         Module strftime.
91678         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
91679         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
91680         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
91681         gl_TM_GMTOFF.
91682         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
91683
91684         Module xalloc.
91685         * m4/xalloc.m4: New file.
91686
91687         Module alloca.
91688         * m4/alloca.m4: New file.
91689
91690         Module putenv.
91691         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91692         (jm_FUNC_PUTENV): Invoke it.
91693
91694         Module setenv.
91695         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91696         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91697         when invoked twice.
91698         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91699         gt_FUNC_SETENV.
91700
91701         Module memrchr.
91702         * m4/memrchr.m4: New file.
91703
91704         Module stpcpy.
91705         * m4/stpcpy.m4: New file.
91706
91707         Module strcase.
91708         * m4/strcase.m4: New file.
91709
91710         Module strdup.
91711         * m4/strdup.m4: New file.
91712
91713         Module strnlen.
91714         * m4/strnlen.m4: New file.
91715
91716         Module strndup.
91717         * m4/strndup.m4: New file.
91718
91719         Module xstrtod.
91720         * m4/xstrtod.m4: New file.
91721
91722         Module xstrtol.
91723         * m4/xstrtol.m4: New file.
91724
91725         Module getdate.
91726         * m4/getdate.m4: New file.
91727
91728         Module unlocked-io.
91729         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91730         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91731         * m4/jm-glibc-io.m4n: Remove file.
91732
91733         Module long-options.
91734         * m4/long-options.m4: New file.
91735
91736         Module md5.
91737         * m4/md5.m4: New file.
91738
91739         Module sha.
91740         * m4/sha.m4: New file.
91741
91742         Module getstr.
91743         * m4/getstr.m4: New file.
91744
91745         Module getline.
91746         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91747         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91748         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91749         simply getline. Infoke gl_PREREQ_GETLINE.
91750
91751         Module obstack.
91752         * m4/obstack.m4: New file.
91753
91754         Module hash.
91755         * m4/hash.m4: New file.
91756
91757         Module readtokens.
91758         * m4/readtokens.m4: New file.
91759
91760         Module strverscmp.
91761         * m4/strverscmp.m4: New file.
91762
91763         Module stdbool.
91764         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91765         OSF/1.
91766
91767         Module strtoll.
91768         * m4/strtoll.m4: New file.
91769
91770         Module strtoull.
91771         * m4/strtoull.m4: New file.
91772
91773         Module strtoimax.
91774         * m4/strtoimax.m4: New file.
91775
91776         Module strtoumax.
91777         * m4/strtoumax.m4: New file.
91778
91779         Module xstrtoimax.
91780         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91781         jm_AC_PREREQ_XSTRTOIMAX.
91782         Moved the strtol prerequisites to strtol.m4.
91783         Moved the strtoll prerequisites to strtoll.m4.
91784         Moved the strtoimax prerequisites to strtoimax.m4.
91785
91786         Module xstrtoumax.
91787         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91788         jm_AC_PREREQ_XSTRTOUMAX.
91789         Moved the strtoul prerequisites to strtoul.m4.
91790         Moved the strtoull prerequisites to strtoull.m4.
91791         Moved the strtoumax prerequisites to strtoumax.m4.
91792
91793         Module chown.
91794         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91795         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91796
91797         Module dup2.
91798         * m4/dup2.m4: New file.
91799
91800         Module ftruncate.
91801         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91802         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91803
91804         Module getgroups.
91805         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91806         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91807
91808         Module gettimeofday.
91809         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91810         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91811         gl_PREREQ_GETTIMEOFDAY.
91812
91813         Module mkdir.
91814         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91815         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91816
91817         Module mkstemp.
91818         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91819         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91820         jm_AC_TYPE_UINTMAX_T.
91821         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91822
91823         Module stat.
91824         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91825         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91826
91827         Module lstat.
91828         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91829         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91830
91831         Module timespec.
91832         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91833         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91834         * m4/st_mtim.m4: Indentation.
91835
91836         Module nanosleep.
91837         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91838         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91839         gl_PREREQ_NANOSLEEP.
91840
91841         Module regex.
91842         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91843         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91844         (gl_REGEX): New macro.
91845
91846         Module rename.
91847         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91848         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91849
91850         Module rmdir.
91851         * m4/rmdir.m4: New file.
91852
91853         Module utime.
91854         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91855         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91856         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91857
91858         Module dirname.
91859         * m4/dirname.m4: New file.
91860
91861         Module getopt.
91862         * m4/getopt.m4: New file.
91863
91864         Module unistd-safer.
91865         * m4/unistd-safer.m4: New file.
91866
91867         Module fnmatch.
91868         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91869         declaration.
91870         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91871         (gl_FUNC_FNMATCH_POSIX): New macro.
91872         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91873         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91874         simply fnmatch.
91875
91876         Module exclude.
91877         * m4/exclude.m4: New file.
91878
91879         Module human.
91880         * m4/human.m4: New file.
91881
91882         Module acl.
91883         * m4/acl.m4: Nop.
91884
91885         Module backupfile.
91886         * m4/backupfile.m4: New file.
91887         * m4/d-ino.m4: Indentation.
91888
91889         Module fsusage.
91890         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91891         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91892         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91893
91894         Module dirfd.
91895         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91896         requirements.
91897
91898         Module euidaccess.
91899         * m4/euidaccess.m4: New file.
91900
91901         Module file-type.
91902         * m4/file-type.m4: New file.
91903
91904         Module fileblocks.
91905         * m4/fileblocks.m4: New file.
91906
91907         Module filemode.
91908         * m4/filemode.m4: New file.
91909
91910         Module isdir.
91911         * m4/isdir.m4: New file.
91912
91913         Module lchown.
91914         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91915         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91916
91917         Module makepath.
91918         * m4/makepath.m4: New file.
91919
91920         Module modechange.
91921         * m4/modechange.m4: New file.
91922
91923         Module mountlist.
91924         * m4/mountlist.m4: New file.
91925         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91926         Indentation.
91927
91928         Module path-concat.
91929         * m4/path-concat.m4: New file.
91930
91931         Module pathmax.
91932         * m4/pathmax.m4: New file.
91933
91934         Module same.
91935         * m4/same.m4: New file.
91936
91937         Module save-cwd.
91938         * m4/save-cwd.m4: New file.
91939
91940         Module savedir.
91941         * m4/savedir.m4: New file.
91942
91943         Module xgetcwd.
91944         * m4/xgetcwd.m4: New file.
91945         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91946
91947         Module xreadlink.
91948         * m4/xreadlink.m4: New file.
91949
91950         Module safe-read.
91951         * m4/safe-read.m4: New file.
91952
91953         Module safe-write.
91954         * m4/safe-write.m4: New file.
91955
91956         Module closeout.
91957         * m4/closeout.m4: New file.
91958
91959         Module stdio-safer.
91960         * m4/stdio-safer.m4: New file.
91961
91962         Module getpass.
91963         * m4/getpass.m4: New file.
91964
91965         Module getugroups.
91966         * m4/getugroups.m4: New file.
91967
91968         Module group-member.
91969         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91970         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91971
91972         Module idcache.
91973         * m4/idcache.m4: New file.
91974
91975         Module userspec.
91976         * m4/userspec.m4: New file.
91977
91978         Module gettime.
91979         * m4/clock_time.m4: New file.
91980         * m4/gettime.m4: New file.
91981
91982         Module settime.
91983         * m4/settime.m4: New file.
91984
91985         Module posixtm.
91986         * m4/posixtm.m4: New file.
91987
91988         Module gethostname.
91989         * m4/gethostname.m4: New file.
91990
91991         Module canon-host.
91992         * m4/canon-host.m4: New file.
91993
91994         Module gettext.
91995         * m4/codeset.m4: New file, from gettext-0.11.5.
91996         * m4/gettext.m4: New file, from gettext-0.11.5.
91997         * m4/glibc21.m4: New file, from gettext-0.11.5.
91998         * m4/iconv.m4: New file, from gettext-0.11.5.
91999         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92000         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92001         * m4/inttypes.m4: New file, from gettext-0.11.5.
92002         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92003         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92004         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92005         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92006         * m4/lib-link.m4: New file, from gettext-0.11.5.
92007         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92008         * m4/progtest.m4: New file, from gettext-0.11.5.
92009         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92010         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92011         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92012
92013         Module localcharset.
92014         * m4/localcharset.m4: New file.
92015
92016         Module hard-locale.
92017         * m4/hard-locale.m4: New file.
92018
92019         Module mbswidth.
92020         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92021         onceonly macros.
92022         * m4/mbrtowc.m4: Add comment.
92023
92024         Module memcasecmp.
92025         * m4/memcasecmp.m4: New file.
92026
92027         Module memcoll.
92028         * m4/memcoll.m4: New file.
92029
92030         Module unicodeio.
92031         * m4/unicodeio.m4: New file.
92032
92033         Module rpmatch.
92034         * m4/rpmatch.m4: New file.
92035
92036         Module yesno.
92037         * m4/yesno.m4: New file.
92038
92039         Module exitfail.
92040         * m4/exitfail.m4: New file.
92041
92042         Module c-stack.
92043         * m4/c-stack.m4 (gl_C_STACK): New macro.
92044         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92045
92046         Module error.
92047         * m4/error.m4 (gl_ERROR): New macro.
92048         (jm_PREREQ_ERROR): Use onceonly macros.
92049
92050         Module fatal.
92051         * m4/fatal.m4: New file.
92052
92053         Module getloadavg.
92054         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92055         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92056
92057         Module getpagesize.
92058         * m4/getpagesize.m4: New file.
92059
92060         Module getusershell.
92061         * m4/getusershell.m4: New file.
92062
92063         Module physmem.
92064         * m4/physmem.m4: New file.
92065
92066         Module posixver.
92067         * m4/posixver.m4: New file.
92068
92069         Module quotearg.
92070         * m4/quotearg.m4: New file.
92071
92072         Module quote.
92073         * m4/quote.m4: New file.
92074
92075         Module readutmp.
92076         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92077
92078         Module sig2str.
92079         * m4/sig2str.m4: New file.
92080
92081         Other.
92082         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92083         ulonglong.m4.
92084         * m4/intmax_t.m4: New file.
92085         * m4/d-type.m4: Indentation.
92086         * m4/jm-macros.m4: Update.
92087         * m4/prereq.m4 (jm_PREREQ): Update.
92088         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92089         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92090         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92091         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92092         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92093         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92094         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92095         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92096         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92097         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92098         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92099         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92100         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92101         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92102         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92103         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92104         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92105         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92106         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92107
92108 2002-12-24  Bruno Haible  <bruno@clisp.org>
92109
92110         * MODULES.txt: Update according to m4/ changes.
92111
92112         Module gettext.
92113         * config.rpath: New file, from gettext-0.11.5.
92114
92115         * modules/*: New module descriptions.
92116         * gnulib-tool: New file.
92117         * MODULES.html.sh: New file.
92118
92119 2002-12-21  Karl Berry  <karl@gnu.org>
92120
92121         * doc/fdl.texi: update to version 1.2.
92122
92123 2002-12-19  Karl Berry  <karl@gnu.org>
92124
92125         * config/config.guess: update from prep.
92126
92127 2002-12-18  Bruno Haible  <bruno@clisp.org>
92128
92129         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92130         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92131
92132 2002-12-17  Bruno Haible  <bruno@clisp.org>
92133
92134         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92135         stdlib.h, string.h.
92136
92137 2002-12-17  Bruno Haible  <bruno@clisp.org>
92138
92139         * lib/canon-host.c (strdup): Remove unused declaration.
92140
92141         * lib/fsusage.c: Include full_read.h.
92142         (get_fs_usage): Use full_read instead of safe_read.
92143
92144         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92145
92146 2002-12-12  Karl Berry  <karl@gnu.org>
92147
92148         * config/config.guess: update from prep.
92149
92150 2002-12-11  Bruno Haible  <bruno@clisp.org>
92151
92152         * m4/setenv.m4: New file, from gettext-0.11.5.
92153
92154 2002-12-11  Bruno Haible  <bruno@clisp.org>
92155
92156         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92157         not unsetenv().
92158         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92159         modifications:
92160
92161         2002-12-11  Bruno Haible  <bruno@clisp.org>
92162
92163                 * setenv.c (alloca): Fall back to malloc.
92164                 (freea): New macro.
92165                 (setenv): Use freea() to free memory allocated with alloca().
92166
92167         2002-11-13  Bruno Haible  <bruno@clisp.org>
92168
92169                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92170                 function declarations.
92171                 * unsetenv.c (unsetenv): Likewise.
92172
92173         2002-03-04  Bruno Haible  <bruno@clisp.org>
92174
92175                 Portability to AIX 4.3.3.
92176                 * unsetenv.c: New file, extracted from setenv.c.
92177                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92178
92179         2001-12-20  Bruno Haible  <bruno@clisp.org>
92180
92181                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92182                 use malloc instead. For SunOS 4.
92183
92184         2001-12-11  Bruno Haible  <bruno@clisp.org>
92185
92186                 * setenv.c: Declare alloca.
92187                 (compar_fn_t): New typedef.
92188                 (KNOWN_VALUE, STORE_VALUE): Use it.
92189
92190         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92191         setenv.h.
92192
92193 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92194
92195         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92196         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92197         Choose values that are less likely to collide with system fnmatch
92198         options.
92199         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92200         defined (e.g., a pure POSIX system).
92201         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92202         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92203
92204 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92205
92206         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92207         a pain in practice to deal with generated m4 files.  This change
92208         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92209
92210         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92211         and jm-glibc-io.m4, as they are no longer a special case.
92212         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92213         kludge and the auto-generation stuff.  Check only whether the
92214         functions are declared, not whether they exist, since older hosts
92215         that don't declare the functions can't use the optimization anyway.
92216
92217 2002-12-06  Jim Meyering  <jim@meyering.net>
92218
92219         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92220
92221         Merge in changes from libc's misc/error.c, in preparation
92222         for the merge of gnulib's changes back into libc.
92223
92224         * lib/error.c (_): Define only if not already defined.
92225         Move definition to follow all #include directives.
92226         Include unlocked-io.h only if !_LIBC.
92227         [_LIBC]: Include <libio/libioP.h>.
92228         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92229         (fflush): Tweak definition to use INTUSE.
92230         (putc): Define.
92231
92232 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92233
92234         * lib/alloca.c [defined emacs]: Include "lisp.h".
92235         (xalloc_die) [defined emacs]: New macro.
92236         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92237         [! defined emacs]: Include <xalloc.h>.
92238         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92239         (pointer): Typedef to POINTER_TYPE *.
92240         (malloc): Remove decl; we now always use xmalloc.
92241         (alloca): Use old-style definition, since Emacs needs this.
92242         Check for arithmetic overflow when computing combined size.
92243
92244 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92245
92246         Do not generate unlocked-io.h automatically, since it's easier to
92247         maintain it by hand.
92248
92249         * lib/unlocked-io.h: New file, from GNU diffutils,
92250         but with proper copyright notice and attribution.
92251         * lib/gen-uio: Remove.
92252         * lib/Makefile.am: Add copyright notice.
92253         (libfetish_a_SOURCES): Add unlocked-io.h.
92254         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92255         (DISTCLEANFILES, io_functions): Remove macros.
92256         (EXTRA_DIST): Remove gen_uio.
92257         (unlocked-io.h): Remove rule.
92258
92259 2002-12-04  Jim Meyering  <jim@meyering.net>
92260
92261         Reflect the fact that stat.c and lstat.c are no longer generated.
92262         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92263         (DISTCLEANFILES): Likewise.
92264         (EXTRA_DIST): Likewise.
92265         (all_local): Don't depend on stat.c or lstat.c.
92266         (stat.c, lstat.c): Remove rules.
92267         (EXTRA_DIST): Remove xstat.in.
92268
92269         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92270         * lib/stat.c: New file.  Contents mostly from xstat.in.
92271         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92272         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92273
92274         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92275         too.
92276         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92277
92278 2002-12-03  Jim Meyering  <jim@meyering.net>
92279
92280         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92281         but not semantics, to minimize the differences between these two files.
92282         (safe_read): Change comment to mention SAFE_READ_ERROR.
92283
92284         * lib/safe-read.c (IS_EINTR): Define.
92285         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92286
92287 2002-12-02  Jim Meyering  <jim@meyering.net>
92288
92289         * lib/safe-read.c (EINTR): Define.
92290         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92291         (INT_MAX): Provide fallback.
92292         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92293
92294         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92295
92296 2002-12-02  Bruno Haible  <bruno@clisp.org>
92297
92298         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92299         Define, taken from safe-read.c.
92300         (INT_MAX): Provide fallback.
92301         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92302         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92303
92304         * lib/safe-read.c (EINTR): Remove definition.
92305         (safe_read): Don't use EINTR if it is absent.
92306
92307 2002-12-01  Jim Meyering  <jim@meyering.net>
92308
92309         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92310         zero.
92311         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92312
92313 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92314
92315         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92316         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92317         with `if (! (value < limit)) abort ();', for readability.
92318
92319 2002-11-26  Karl Berry  <karl@gnu.org>
92320
92321         * lib/strdup.c: copy from libc again, with jim's ok.
92322         * lib/.cppi-disable: re-add strdup.c
92323
92324 2002-11-25  Karl Berry  <karl@gnu.org>
92325
92326         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92327         instead of "strtol.c".
92328
92329 2002-11-25  Karl Berry  <karl@gnu.org>
92330
92331         * config/install-sh: update from automake for variable quoting, $0 in
92332         error msgs, etc.
92333
92334         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92335         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92336         entry.
92337
92338 2002-11-25  Jim Meyering  <jim@meyering.net>
92339
92340         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92341
92342 2002-11-24  Karl Berry  <karl@gnu.org>
92343
92344         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92345         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92346
92347 2002-11-24  Jim Meyering  <jim@meyering.net>
92348
92349         Update from coreutils:
92350
92351         * lib/mktime.c: Merge in changes from libc.
92352
92353         Avoid a link-time failure on some Linux systems.
92354         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92355         (otherwise).
92356         (__mon_yday): Declare with the STATIC attribute.
92357         (__mktime_internal): Likewise.
92358         Based on a report from Greg Schafer.
92359
92360 2002-11-23  Jim Meyering  <jim@meyering.net>
92361
92362         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92363         Use `unsigned', not `int', as type of index.
92364
92365         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92366
92367         * lib/fsusage.c: Remove unneeded parentheses around operands of
92368         `defined'.
92369
92370 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92371
92372         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92373         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92374         so that we can be included first.
92375         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92376         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92377         No need to include stddef.h or sys/types.h any more.
92378         Surround local include files with "", not "<>".
92379         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92380         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92381         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92382         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92383         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92384         (ISPRINT): Remove; no longer needed now that we assume C89.
92385
92386         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92387         Preserve errno.
92388
92389         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92390         quotearg_char): Use SIZE_MAX rather than
92391         (size_t) -1 when we are talking about "infinity".
92392
92393         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92394
92395 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92396
92397         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92398         hint that one should use `if (! x) abort ();' rather than `assert
92399         (x);', and anyway it's one less thing to worry about configuring.
92400         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92401         hash_rehash, hash_insert): Use abort rather than assert.
92402
92403 2002-11-22  Bruno Haible  <bruno@clisp.org>
92404
92405         * lib/safe-read.h: Assume C89. Add comments.
92406         (safe_read): Change return type to size_t.
92407         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92408         byte counts > SSIZE_MAX correctly.
92409         * lib/safe-write.h: New file.
92410         * lib/safe-write.c: New file.
92411         * lib/full-read.h: New file.
92412         * lib/full-read.c: New file.
92413         * lib/full-write.h: Assume C89. Add comments.
92414         * lib/full-write.c: Include safe-write.h.
92415         (full_write): Rewritten to use safe_write.
92416         Suggested by Jim Meyering and Paul Eggert.
92417
92418 2002-11-21  Jim Meyering  <jim@meyering.net>
92419
92420         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92421
92422         Merge in changes from the coreutils.
92423
92424         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92425         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92426         <stdint.h>.
92427         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92428         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92429         int.  Work more efficiently if X is the same width as uintmax_t.
92430         Do not compare X to -1, to avoid bogus compiler warning.
92431         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92432         Don't assume that f_frsize and f_bsize are the same type.
92433
92434         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92435         warning on FreeBSD.
92436
92437         * lib/makepath.c (make_path): Restore umask *before* creating the final
92438         component.
92439         (make_path): Minor reformatting.
92440
92441         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92442         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92443         HAVE_MALLOC/HAVE_REALLOC.
92444
92445         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92446         dummy ones.  At least on GNU/Linux systems, `auto' means something
92447         else.
92448         From Michael Stone.
92449
92450 2002-11-21  Bruno Haible  <bruno@clisp.org>
92451
92452         Remove case insensitive option matching.
92453         * lib/argmatch.h (argcasematch): Remove declaration.
92454         (ARGCASEMATCH): Remove macro.
92455         (__xargmatch_internal): Remove case_sensitive argument.
92456         (XARGMATCH): Update.
92457         (XARGCASEMATCH): Remove macro.
92458         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92459         case_sensitive argument.
92460         (argcasematch): Remove function.
92461         (__xargmatch_internal): Remove case_sensitive argument.
92462         (main): Use XARGMATCH instead of XARGCASEMATCH.
92463
92464         * lib/xmalloc.c: Change compile-time error message. Add comment about
92465         required autoconf version.
92466
92467 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92468
92469         Merge argmatch cleanups from Bison.  Assume C89.
92470
92471         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92472         Include stdlib.h, for EXIT_FAILURE.
92473         Always include <string.h>, since we assume C89.
92474         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92475         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92476         Include <stddef.h> instead, since it's all we need for size_t.
92477         (PARAMS): Remove.  All uses removed.
92478         (ARRAY_CARDINALITY): Do not bother to #undef.
92479         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92480         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92481         Remove unnecessary parentheses.
92482         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92483         Insert necessary parentheses.
92484         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92485         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92486
92487 2002-11-19  Bruno Haible  <bruno@clisp.org>
92488
92489         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92490         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92491
92492         * lib/mbswidth.h (PARAMS): Remove macro.
92493         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92494         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92495
92496         * lib/gcd.h (PARAMS): Remove macro.
92497         (gcd): Use ANSI C function declarations.
92498         * lib/gcd.c (gcd): Likewise.
92499
92500 2002-11-15  Bruno Haible  <bruno@clisp.org>
92501
92502         * lib/strcspn.c: Include <stddef.h>.
92503         (strcspn): Use ANSI C function declaration. Change return type to
92504         size_t. Use NULL.
92505         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92506         (strpbrk): Use NULL.
92507         * lib/strpbrk.h (PARAMS): Remove macro.
92508         (strpbrk): Use ANSI C function declaration.
92509         * lib/strstr.c: Don't include <sys/types.h>.
92510         * lib/strstr.h (PARAMS): Remove macro.
92511         (strstr): Use ANSI C function declarations.
92512
92513 2002-11-14  Karl Berry  <karl@gnu.org>
92514
92515         * config/mkinstalldirs: `do' on separate line, instead of
92516         `for var; do'.
92517
92518 2002-11-06  Bruno Haible  <bruno@clisp.org>
92519
92520         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92521         * lib/gcd.c (gcd): Likewise.
92522
92523 2002-11-05  Bruno Haible  <bruno@clisp.org>
92524
92525         * lib/gcd.h: New file, from gettext-0.11.5.
92526         * lib/gcd.c: New file, from gettext-0.11.5.
92527
92528 2002-11-05  Bruno Haible  <bruno@clisp.org>
92529
92530         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92531         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92532         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92533         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92534
92535         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92536         <libintl.h>.
92537         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92538         <libintl.h>.
92539
92540         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92541         * lib/human.c: Include gettext.h instead of <libintl.h>.
92542         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92543         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92544         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92545         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92546         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92547         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92548         (textdomain): Remove definition.
92549         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92550
92551         * lib/long-options.c: Remove include of <libintl.h> and definition of
92552         _.
92553         * lib/same.c: Remove include of <libintl.h> and definition of _.
92554
92555 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92556
92557         * lib/config.charset: A few additions for Solaris.
92558
92559 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92560
92561         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92562         * lib/localcharset.c (locale_charset): Declare as extern "C".
92563
92564 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92565
92566         * lib/config.charset: msdos in uk_UA uses CP1125.
92567
92568 2002-11-04  Bruno Haible  <bruno@clisp.org>
92569
92570         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92571         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92572         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92573         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92574         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92575
92576 2002-11-04  Bruno Haible  <bruno@clisp.org>
92577
92578         * lib/localcharset.c (locale_charset): Don't return an empty string.
92579
92580 2002-11-04  Bruno Haible  <bruno@clisp.org>
92581
92582         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92583         aliases.
92584
92585 2002-11-04  Bruno Haible  <bruno@clisp.org>
92586
92587         * lib/config.charset: Update for newest glibc. Add canonical names
92588         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92589
92590 2002-11-04  Bruno Haible  <bruno@clisp.org>
92591
92592         * lib/config.charset: Add support for NetBSD.
92593
92594 2002-11-04  Bruno Haible  <bruno@clisp.org>
92595
92596         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92597
92598 2002-11-01  Bruno Haible  <bruno@clisp.org>
92599
92600         * configure.in: Add AC_CONFIG_AUX_DIR call.
92601         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92602         test/Makefile.
92603         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92604
92605 2002-09-28  Karl Berry  <karl@gnu.org>
92606
92607         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92608         installed automake until the next release, since changes have been
92609         made.
92610
92611 2002-09-25  Karl Berry  <karl@gnu.org>
92612
92613         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92614         * lib/getopt*: copy from libc/posix.
92615         * lib/gettext.h: copy from gettext.
92616         * lib/.cppi-disable: add strdup.c, gettext.h.
92617
92618 2002-09-25  Karl Berry  <karl@gnu.org>
92619
92620         * config/srclist.txt: enable gettext.h check.
92621         * config/config.{guess,sub}: update from prep.
92622         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92623                 from automake 1.6.3.
92624         See srclist*.
92625
92626 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92627
92628         * regex.c (PATFETCH): Remove the translating fetch.
92629         (PATFETCH_RAW): Rename to PATFETCH.
92630         (set_image_of_range): New fun.
92631         (SET_RANGE_TABLE_WORK_AREA): Use it.
92632         (regex_compile): Don't translate the pattern chars so eagerly.
92633         Only do it when inserting an `exactn' bytecode or when handling
92634         a char-range.
92635         (mutually_exclusive_p): Avoid empty statement.
92636
92637 2002-07-06  Jim Meyering  <meyering@lucent.com>
92638
92639         * m4/README: Don't mention Makefile.am.in.
92640         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92641
92642 2002-07-01  Jim Meyering  <meyering@lucent.com>
92643
92644         * lib/c-stack.c: Include sys/time.h.
92645         From Volker Borchert.
92646
92647 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92648
92649         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92650
92651 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92652
92653         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92654         New macro.  Use it uniformly instead of
92655         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92656         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92657         reported by Vin Shelton.
92658
92659 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92660
92661         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
92662         Do not assume SA_SIGINFO behavior.
92663         Bug reported by Jim Meyering on NetBSD 1.5.2.
92664
92665 2002-06-22  Jim Meyering  <meyering@lucent.com>
92666
92667         * m4/c-stack.m4: New file, from diffutils-2.8.2.
92668         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
92669
92670         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
92671         now that configure.ac uses AC_GNU_SOURCE.
92672         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
92673         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
92674
92675         Update to latest tools.  Suggestions from Paul Eggert.
92676         * m4/stdbool.m4: New file, from diffutils-2.8.2.
92677         * m4/gnu-source.m4: Update from diffutils-2.8.2.
92678         * m4/fnmatch.m4: Likewise.
92679         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
92680         to AC_HEADER_STDBOOL
92681
92682 2002-06-22  Jim Meyering  <meyering@lucent.com>
92683
92684         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92685         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92686
92687 2002-06-22  Jim Meyering  <meyering@lucent.com>
92688
92689         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92690
92691         * lib/exitfail.c, exitfail.h: Likewise.
92692         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92693
92694         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92695         of fnmatch.h.
92696         (EXTRA_DIST): Add fnmatch_loop.c.
92697         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92698
92699         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92700         * lib/fnmatch.c: Update from diffutils-2.8.2.
92701         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92702         * lib/fnmatch.h: Remove file.
92703
92704 2002-06-21  Jim Meyering  <meyering@lucent.com>
92705
92706         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92707         * m4/mbrtowc.m4: Likewise.
92708
92709         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92710         * m4/mbswidth.m4: Reflect name change:
92711         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92712         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92713
92714         * m4/lib-link.m4: Update from gettext-0.11.2.
92715         * m4/gettext.m4: Likewise.
92716
92717         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92718         From Alfred M. Szmidt.
92719
92720 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92721
92722         * lib/file-type.h: Report an error if neither S_ISREG nor
92723         S_IFREG is defined, instead of using a test specific to glibc
92724         2.2.  This should be safe, since POSIX requires S_ISREG and
92725         Unix Version 7 had S_IFREG.  We don't need to check for
92726         <sys/types.h> since we don't use any symbols that it defines.
92727
92728 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92729
92730         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92731         $@-t, so that each temporary file name is unique and valid in the first
92732         8 characters, for operation under DOS.
92733
92734 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92735
92736         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92737
92738 2002-06-15  Jim Meyering  <meyering@lucent.com>
92739
92740         Work even with DJGPP 2.03, which lacks support for symlinks.
92741         From Richard Dawe.
92742         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92743         is defined.
92744         * lib/lchown.c (S_ISLNK): Likewise.
92745
92746 2002-06-15  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92749         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92750         have been included before this file.
92751
92752 2002-06-14  Jim Meyering  <meyering@lucent.com>
92753
92754         * lib/file-type.h: Use the version from diffutils-2.8.2.
92755         * lib/file-type.c: Likewise.
92756
92757 2002-06-07  Jim Meyering  <meyering@lucent.com>
92758
92759         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92760         They're needed at least for NetBSD 1.5.2.
92761         ($statxfs_includes): Include those same headers.
92762         ($statxfs_includes): Include sys/vfs.h if available.
92763         ($statxfs_includes): Likewise for sys/statvfs.h.
92764         Check for the following members in both structs statfs and statvfs:
92765         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92766
92767 2002-06-01  Jim Meyering  <meyering@lucent.com>
92768
92769         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92770         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92771
92772 2002-05-28  Jim Meyering  <meyering@lucent.com>
92773
92774         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92775         Reported by Volker Borchert.
92776
92777 2002-05-27  Jim Meyering  <meyering@lucent.com>
92778
92779         Fix a problem seen only on nonconforming systems whereby ls.c's
92780         use of localtime, and then of gettimeofday would cause trouble:
92781         the localtime call used to initialize rpl_gettimeofday's save
92782         mechanism would clobber ls's current local time information so
92783         that in any long listing the first file would always be listed
92784         with date 1970-01-01.  Analysis by Volker Borchert.
92785
92786         * lib/gettimeofday.c (localtime): Undefine.
92787         (rpl_localtime): New function.
92788
92789 2002-05-27  Jim Meyering  <meyering@lucent.com>
92790
92791         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92792         localtime.
92793
92794         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92795         use the replacement function; it wouldn't resolve at link time.
92796         Reported by Volker Borchert.
92797
92798 2002-05-22  Jim Meyering  <meyering@lucent.com>
92799
92800         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92801         file-type.h.
92802         * lib/file-type.h: New file.
92803         * lib/file-type.c (file_type): New file/function.  Extracted from
92804         diffutils.
92805
92806 2002-04-30  Jim Meyering  <meyering@lucent.com>
92807
92808         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92809
92810 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92811
92812         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92813
92814 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92815
92816         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92817         Do not check for alloca.h (no longer used) or stdbool.h (was never
92818         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92819
92820 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92821
92822         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92823
92824 2002-04-29  Jim Meyering  <meyering@lucent.com>
92825
92826         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92827         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92828         Use AC_FUNC_STRNLEN here instead.
92829
92830         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92831         With autoconf-2.53a, it's part of AC_PROG_CC.
92832
92833 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92834
92835         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92836         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92837
92838 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92839
92840         * lib/sig2str.h, lib/sig2str.c: New files.
92841         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92842
92843 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92844
92845         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92846         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92847         of 127, since 64 is the largest conceivable number for ancient
92848         nonstandard hosts.
92849         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92850
92851 2002-04-28  Jim Meyering  <meyering@lucent.com>
92852
92853         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92854
92855 2002-04-24  Jim Meyering  <meyering@lucent.com>
92856
92857         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92858         (jm_PREREQ): Use it.
92859
92860         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92861         mach/mach.h fcntl.h.
92862         Check for this function: setlocale.
92863
92864 2002-04-24  Jim Meyering  <meyering@lucent.com>
92865
92866         * lib/gettext.h: New file, from Gettext.
92867         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92868         (libfetish_a_SOURCES): Add gettext.h.
92869
92870 2002-04-16  Jim Meyering  <meyering@lucent.com>
92871
92872         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92873         ut_pid, ut_id, ut_exit.
92874
92875 2002-04-16  Jim Meyering  <meyering@lucent.com>
92876
92877         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92878         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92879         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92880
92881 2002-04-12  Jim Meyering  <meyering@lucent.com>
92882
92883         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92884         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92885         existence of the getmntinfo function.  Needed for Darwin 5.3.
92886
92887         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92888         This is necessary at least on Darwin 5.3.
92889
92890         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92891         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92892         strnlen.o in the library, and that makes some versions of ranlib
92893         object.
92894
92895 2002-04-12  Jim Meyering  <meyering@lucent.com>
92896
92897         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92898
92899 2002-04-09  Jim Meyering  <meyering@lucent.com>
92900
92901         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92902         to be more precise.  Rather than saying we're checking whether the
92903         function `works', say what we're testing.
92904         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92905         Reported by Bruno Haible.
92906
92907 2002-03-10  Jim Meyering  <meyering@lucent.com>
92908
92909         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92910         Suggestion from Santiago Vila.
92911
92912 2002-03-08  Jim Meyering  <meyering@lucent.com>
92913
92914         * lib/rename.c: Mention that this wrapper is needed also on
92915         mips-dec-ultrix4.4 systems.
92916
92917 2002-03-02  Jim Meyering  <meyering@lucent.com>
92918
92919         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92920         not HAVE_CLOCK_SETTIME.
92921
92922 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92923
92924         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92925         Check for clock_settime.
92926
92927 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92928
92929         * lib/nanosleep.h: Rename to....
92930         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92931
92932         * lib/gettime.c: New file.
92933         * lib/settime.c: New file.
92934         * lib/stime.c: Remove.
92935
92936         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92937         timespec.h.  Remove nanosleep.h.
92938
92939 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92940
92941         * m4/acl.m4: New file.
92942         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92943         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92944
92945 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92946
92947         * lib/acl.c, lib/acl.h: New files.
92948         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92949
92950 2002-02-24  Jim Meyering  <meyering@lucent.com>
92951
92952         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92953         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92954         cause trouble.  Reported by Nelson Beebe.
92955
92956 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92957
92958         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92959         compilers that don't know that xalloc_die never returns.
92960
92961 2002-02-20  Jim Meyering  <meyering@lucent.com>
92962
92963         * lib/getdate.c: Regenerate using bison-1.33.
92964
92965 2002-02-17  Jim Meyering  <meyering@lucent.com>
92966
92967         * config/config.guess (main): Don't use `head -1'; it's no longer
92968         portable. Use `sed 1q' instead.
92969
92970 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92971
92972         * m4/codeset.m4: Upgrade to gettext-0.11.
92973         * m4/gettext.m4: Upgrade to gettext-0.11.
92974         * m4/glibc21.m4: Upgrade to gettext-0.11.
92975         * m4/iconv.m4: Upgrade to gettext-0.11.
92976         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92977         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92978         * m4/lib-ld.m4: New file, from gettext-0.11.
92979         * m4/lib-link.m4: New file, from gettext-0.11.
92980         * m4/lib-prefix.m4: New file, from gettext-0.11.
92981         * m4/progtest.m4: Upgrade to gettext-0.11.
92982
92983 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92984
92985         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92986         (jm_PREREQ): Use it.
92987
92988 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92989
92990         * lib/posixver.c, lib/posixver.h: New files.
92991         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92992
92993 2002-02-02  Paul Eggert  <eggert@twinsun.com>
92994             Bruno Haible  <bruno@clisp.org>
92995
92996         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
92997         (fwrite_success_callback): New declaration.
92998         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
92999         print_unicode_char. Call failure callback instead of error.
93000         (fwrite_success_callback): New function.
93001         (exit_failure_callback): New function.
93002         (fallback_failure_callback): New function.
93003         (print_unicode_char): Call unicode_to_mb.
93004
93005 2002-01-26  Jim Meyering  <meyering@lucent.com>
93006
93007         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93008         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93009
93010 2002-01-26  Jim Meyering  <meyering@lucent.com>
93011
93012         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93013
93014 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93015
93016         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93017
93018 2002-01-22  Jim Meyering  <meyering@lucent.com>
93019
93020         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93021         Otherwise, some versions of automake would omit the rule that makes
93022         Makefile from Makefile.in.
93023
93024 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93025
93026         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93027         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93028         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93029         (memcoll): Set errno to zero if there is no error.
93030
93031         * lib/quotearg.c (quotearg_buffer_restyled):
93032         Fix bug with quoting buffers containing NUL when backslashing escapes.
93033         This bug was exposed by the other changes in this patch.
93034         (quotearg_n_options): New arg ARGSIZE.
93035         All callers changed.
93036         (quoting_options_from_style): New function.
93037         (quotearg_n_style): Use it.
93038         (quotearg_n_style_mem): New function.
93039
93040         * lib/quotearg.h (quotearg_n_style_mem): New function.
93041
93042 2002-01-19  Jim Meyering  <meyering@lucent.com>
93043
93044         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93045         Remove useless quotes: DF_PROG="df".
93046         * m4/strnlen.m4: New file.
93047
93048 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93049
93050         * lib/backupfile.c (ISDIGIT): Comment fix.
93051         * lib/getdate.y (ISDIGIT): Likewise.
93052         * lib/posixtm.c (ISDIGIT, year): Likewise.
93053         * lib/strverscmp.c (ISDIGIT): Likewise.
93054         * lib/userspec.c (ISDIGIT): Likewise.
93055
93056 2002-01-16  Jim Meyering  <meyering@lucent.com>
93057
93058         * lib/getdate.y: Add three semicolons, each just before a closing
93059         brace. Bison (as of version 1.31) no longer papers over that mistake.
93060
93061 2002-01-05  Jim Meyering  <meyering@lucent.com>
93062
93063         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93064
93065 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93066
93067         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93068         not silently exit merely because the output buffer happens to
93069         have nothing pending.
93070
93071 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93072
93073         See the big note in ../ChangeLog.
93074         * lib/human.c (suffixes): Prefer K to k for 1024.
93075         (generate_suffix_backwards): New function.
93076         (human_readable_inexact): Use it.
93077         * lib/xstrtol.c (__xstrtol): If there is no number but there
93078         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93079         Accept 'K' as well as 'k'.
93080
93081 2001-12-15  Jim Meyering  <meyering@lucent.com>
93082
93083         * lib/regex.h (__restrict_arr): Update from libc.
93084
93085         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93086         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93087         (STREQ): Define.
93088
93089 2001-12-14  Jim Meyering  <meyering@lucent.com>
93090
93091         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93092         Suggestion from Bruno Haible.
93093
93094 2001-12-10  Jim Meyering  <meyering@lucent.com>
93095
93096         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93097         xrealloc, Instead, include "xalloc.h".
93098         (initbuffer): Don't cast xmalloc return value to char*.
93099         (readline): Reword comment.
93100         Don't cast xrealloc return value to char*
93101         Return NULL, not 0.
93102
93103 2001-12-09  Jim Meyering  <meyering@lucent.com>
93104
93105         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93106         about `signed and unsigned type in conditional expression'.
93107         * lib/posixtm.c (posix_time_parse): Likewise.
93108
93109         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93110
93111         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93112         to avoid a pedantic warning.
93113
93114         * lib/getstr.c: Don't include assert.h.
93115         (getstr): Remove warning-evoking assertions.
93116         Return -1 if offset parameter is out of bounds.
93117         Change the type of a local from int to size_t.
93118
93119         * lib/strftime.c (my_strftime_localtime_r): Include this function
93120         definition in the `#if ! HAVE_TM_GMTOFF' block.
93121
93122         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93123         Include xalloc.h instead.
93124
93125 2001-12-02  Jim Meyering  <meyering@lucent.com>
93126
93127         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93128         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93129         included.
93130
93131         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93132         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93133
93134 2001-11-30  Akim Demaille  <akim@epita.fr>
93135
93136         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93137         before being defined.
93138
93139 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93140
93141         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93142         First arg is int, not unsigned.
93143         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93144         (SIZE_MAX, UINT_MAX): New macros.
93145         (quotearg_n_options): Abort if N is negative.
93146         Avoid overflow check on hosts where size_t is 64 bits and int
93147         is 32 bits, as overflow is impossible there.
93148         Fix off-by-one typo that caused unnecessary reallocation.
93149
93150 2001-11-27  Jim Meyering  <meyering@lucent.com>
93151
93152         * lib/tempname.c: Merge with version from libc.
93153         * lib/regex.c: Likewise.
93154
93155         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93156         systems for which STDC_HEADERS is 0, it was not included, resulting in
93157         a warning about an integer-to-pointer conversion problem with getenv.
93158         Reported by Volker Borchert.
93159
93160 2001-11-26  Jim Meyering  <meyering@lucent.com>
93161
93162         * lib/gtod.h: Remove file.
93163         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93164         * lib/gettimeofday.c: Don't include gtod.h.
93165         (GTOD_init): Remove function.
93166         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93167         Suggestion from Volker Borchert.
93168
93169 2001-11-23  Jim Meyering  <meyering@lucent.com>
93170
93171         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93172         it.
93173         * lib/hash.c (struct hash_table): Define it here instead.
93174
93175 2001-11-22  Jim Meyering  <meyering@lucent.com>
93176
93177         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93178
93179 2001-11-20  Jim Meyering  <meyering@lucent.com>
93180
93181         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93182         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93183
93184 2001-11-19  Jim Meyering  <meyering@lucent.com>
93185
93186         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93187         directory.  Use "conftestXXXXXX" as the template.
93188         Suggestion from Paul Eggert.
93189
93190         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93191         immediately, so the test doesn't mistakenly hit the max-open-files
93192         limit.
93193
93194 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93195
93196         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93197         (TEMPORARIES): New macro.
93198         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93199         removes an artificial limitation (e.g. HP-UX 10.20, where
93200         TMP_MAX is 17576).
93201
93202 2001-11-18  Jim Meyering  <meyering@lucent.com>
93203
93204         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93205
93206 2001-11-18  Jim Meyering  <meyering@lucent.com>
93207
93208         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93209         on SunOS 4.
93210
93211         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93212         files will be created before anything else.
93213
93214 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93215
93216         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93217         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93218
93219 2001-11-17  Jim Meyering  <meyering@lucent.com>
93220
93221         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93222         Prompted by a report from Bob Proulx.
93223
93224         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93225         Instead, require UTILS_FUNC_MKSTEMP.
93226
93227 2001-11-17  Jim Meyering  <meyering@lucent.com>
93228
93229         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93230         Now, that's done as part of AC_FUNC_STRTOD.
93231
93232 2001-11-17  Jim Meyering  <meyering@lucent.com>
93233
93234         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93235         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93236         rather than group writable.  Patch by Juan F. Codagnone.
93237
93238         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93239         xrealloc, Instead, include "xalloc.h".
93240
93241         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93242         Remove explicit declarations of xmalloc, xrealloc,
93243         and xstrdup.  Instead, include "xalloc.h".
93244
93245         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93246         unlocked-io.h.
93247         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93248         Likewise.
93249         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93250
93251         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93252         Reported by Padraig Brady.
93253
93254         * lib/mkstemp.c: #undef mkstemp.
93255         Include config.h.
93256         (rpl_mkstemp): Rename from mkstemp.
93257         Protoize.
93258
93259 2001-11-16  Jim Meyering  <meyering@lucent.com>
93260
93261         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93262         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93263         determine the amount of total physical memory, use pstat_getstatic.
93264         HPUX-11 doesn't define _SC_PHYS_PAGES.
93265         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93266         If sysconf couldn't be used to determine the amount of available
93267         physical memory, use both pstat_getstatic and pstat_getdynamic.
93268         Based on a patch from Bob Proulx.
93269
93270 2001-11-10  Jim Meyering  <meyering@lucent.com>
93271
93272         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93273         (jm_PREREQ): Use it.
93274
93275 2001-11-09  Jim Meyering  <meyering@lucent.com>
93276
93277         * m4/jm-macros.m4: Require autoconf-2.52f.
93278         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93279         Use these AC_-prefixed names, not the AM_-prefixed ones.
93280
93281         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93282
93283 2001-11-05  Jim Meyering  <meyering@lucent.com>
93284
93285         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93286
93287 2001-11-04  Jim Meyering  <meyering@lucent.com>
93288
93289         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93290         $DEFS.
93291
93292 2001-11-03  Jim Meyering  <meyering@lucent.com>
93293
93294         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93295         of AC_DEFUN.
93296
93297         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93298         know the name of the variable in the macro definition.
93299
93300 2001-11-03  Jim Meyering  <meyering@lucent.com>
93301
93302         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93303         in argmatch_to_argument call.
93304
93305         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93306         argument.
93307
93308         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93309         e.g., a fault due to an attempt to free a NULL pointer.
93310
93311 2001-11-01  Jim Meyering  <meyering@lucent.com>
93312
93313         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93314         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93315
93316 2001-11-01  Jim Meyering  <meyering@lucent.com>
93317
93318         * lib/dirfd.c, lib/dirfd.h: New files.
93319         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93320
93321         * lib/hash.c (hash_print) [TESTING]: Clean up.
93322
93323 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93324
93325         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93326         to avoid a warning if -Wall.
93327
93328 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93329
93330         * README: New file
93331         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93332         (per RMS's instructions, this is now the canonical source)
93333         * lgpl/, gpl/: New directories.
93334
93335 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93336
93337         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93338
93339 2001-10-21  Jim Meyering  <meyering@lucent.com>
93340
93341         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93342         this code would end up calling gettext even in packages built
93343         with --disable-nls.
93344         * lib/getopt.c (_): Likewise.
93345         * lib/regex.c (_): Likewise.
93346
93347 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93348
93349         * m4/error.m4 (jm_PREREQ_ERROR):
93350         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93351         AC_FUNC_STRERROR_R does that.
93352         Check for strerror declaration.
93353
93354         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93355         are supposed to have them these days.
93356         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93357         Merge changes from latest Autoconf CVS.
93358         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93359         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93360         POSIX decided to standardize on the int flavor of strerror_r.
93361
93362 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93363
93364         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93365         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93366         Use strerror_r that is only a macro, even if it is not a function.
93367         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93368         (private_strerror): Use prototypes, not old-style function definition.
93369         (print_errno_message): New function.
93370         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93371         char*-flavored one.
93372         (error_tail, error, error_at_line): Use it.
93373
93374 2001-10-11  Jim Meyering  <meyering@lucent.com>
93375
93376         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93377         and quote_n (1, ... to avoid clobbering a buffer.
93378
93379 2001-10-05  Jim Meyering  <meyering@lucent.com>
93380
93381         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93382         hash-pjw.h.
93383         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93384         * lib/hash-pjw.h: New file.
93385
93386 2001-09-30  Jim Meyering  <meyering@lucent.com>
93387
93388         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93389         `struct fsstat' has the `f_fstypename' member.
93390         Use that to define FS_TYPE, which is now used to make
93391         the getfsstat link test tighter.
93392
93393 2001-09-30  Jim Meyering  <meyering@lucent.com>
93394
93395         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93396         Include <sys/ucred.h>, for Apple Darwin.
93397         Include sys/mount.h and sys/fs_types.h only if available.
93398         (FS_TYPE): Define.
93399         (read_filesystem_list): Use FS_TYPE.
93400
93401 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93402
93403         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93404         a boolean context.
93405
93406 2001-09-29  Jim Meyering  <meyering@lucent.com>
93407
93408         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93409         [one-argument getmntent function]): Include stdio.h before mntent.h.
93410         SunOS 4.1.x needs it for the declaration of `FILE'.
93411         Patch by Volker Borchert.
93412
93413         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93414         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93415         sys/fs_types.h, and make the link-test for getfsstat guard #include
93416         directives with appropriate #if HAVE_*_H tests so that we can
93417         detect getfsstat on Apple Darwin1.3.7 systems.
93418         Reported by Nelson Beebe.
93419         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93420
93421 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93422
93423         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93424         #defines strtoimax.  Also treat the other strto* functions
93425         like strtoimax.
93426
93427         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93428         Check for strtoul and strtoumax,
93429         as those declarations are made even in the signed case.
93430         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93431         Likewise, for strtol and strtoimax.
93432
93433 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93434
93435         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93436         #defines strtoimax.  Also treat the other strto* functions
93437         like strtoimax.
93438
93439         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93440         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93441         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93442
93443 2001-09-26  Jim Meyering  <meyering@lucent.com>
93444
93445         Most macros in unlocked-io.h had the wrong number of arguments.
93446         * lib/gen-uio: New script.
93447         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93448         * lib/unlocked-io.hin: Remove file.
93449         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93450         rather than trying to embed it here.
93451         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93452         Reported by Padraig Brady.
93453
93454 2001-09-25  Volker Borchert  <bt@teknon.de>
93455
93456         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93457         `result'.
93458
93459 2001-09-24  Jim Meyering  <meyering@lucent.com>
93460
93461         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93462
93463 2001-09-23  Jim Meyering  <meyering@lucent.com>
93464
93465         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93466         instead of the mere test for existence of mntent.h.  The latter
93467         would get a false-positive on AIX 3.4 systems.
93468         In the outer getmntent if-block, don't die if neither of the getmntent
93469         tests succeeds.  Instead, just fall through and continue with the
93470         remaining tests.
93471
93472 2001-09-23  Jim Meyering  <meyering@lucent.com>
93473
93474         * lib/mountlist.c: Remove useless parentheses in #if directives.
93475         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93476         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93477
93478 2001-09-22  Jim Meyering  <meyering@lucent.com>
93479
93480         * m4/gettext.m4: New file.  From gettext.
93481         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93482         * m4/progtest.m4: Likewise
93483         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93484         * m4/glibc21.m4: Likewise.
93485
93486         * m4/libintl.m4: Remove.  No longer used.
93487
93488 2001-09-22  Jim Meyering  <meyering@lucent.com>
93489
93490         * lib/localcharset.c: Update from latest gettext.
93491         * lib/config.charset: Likewise.
93492
93493 2001-09-20  Jim Meyering  <meyering@lucent.com>
93494
93495         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93496         strtoimax.
93497         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93498         strtoumax.
93499
93500 2001-09-20  Jim Meyering  <meyering@lucent.com>
93501
93502         * lib/xstrtol.c (strtoimax): Guard declaration with
93503         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93504         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93505         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93506         (strtoumax): Likewise, for completeness (it wasn't necessary).
93507
93508 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93509
93510         * lib/strtoimax.c (HAVE_LONG_LONG):
93511         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93512         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93513         to work around bug in IBM C compiler.
93514
93515 2001-09-17  Jim Meyering  <meyering@lucent.com>
93516
93517         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93518         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93519         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93520         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93521         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93522         whenever the right hand side need not be expanded by the shell.
93523
93524 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93525
93526         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93527         library.  It's not correct, as some older glibcs are buggy.
93528         fnmatch wasn't fixed until glibc 2.2.
93529
93530         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93531         special shell magic here.
93532
93533 2001-09-16  Jim Meyering  <meyering@lucent.com>
93534
93535         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93536         * m4/jm-macros.m4: Require it.
93537
93538 2001-09-16  Jim Meyering  <meyering@lucent.com>
93539
93540         * lib/mkdir.c: New file.
93541
93542 2001-09-15  Jim Meyering  <meyering@lucent.com>
93543
93544         * m4/jm-macros.m4: Check for help2man.
93545
93546 2001-09-11  Jim Meyering  <meyering@lucent.com>
93547
93548         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93549         The body, by Paul Eggert, was moved here from configure.in.
93550         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93551
93552 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93553
93554         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93555         (jm_PREREQ): Use it.
93556
93557 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93558
93559         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93560         Use ssize_t, not int, to store result of readlink.
93561         Check for ssize_t overflow as well as size_t overflow,
93562         as POSIX says the result of readlink is implementation-defined
93563         when ssize_t overflows.
93564         Remove unnecessary cast to char*.
93565         Use free+malloc instead of realloc, as the storage doesn't need
93566         to be preserved and it's clearer and can be more efficient that way.
93567         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93568         * lib/xreadlink.h (xreadlink): Update prototype.
93569
93570 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93571
93572         * lib/xgetcwd.c: Revert some of the previous change; intead,
93573         fix the HAVE_GETCWD_NULL code to behave more like the
93574         !HAVE_GETCWD_NULL code used to.
93575
93576         Include "xalloc.h".
93577         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93578         invoke xalloc_die.
93579
93580 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93581
93582         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93583         sys/param.h, as pathmax.h includes them.
93584
93585 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93586
93587         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93588         (jm_PREREQ_XGETCWD): New macro.
93589
93590         * m4/getcwd.m4: New file.
93591
93592 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93593
93594         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93595         like the HAVE_GETCWD_NULL code.
93596         Include pathmax.h if not HAVE_GETCWD.
93597         Do not include xalloc.h.
93598         (INITIAL_BUFFER_SIZE): New symbol.
93599         Do not use xmalloc / xrealloc, since the caller is responsible for
93600         handling errors.  Preserve errno around `free' during failure.
93601         Do not overrun buffer when using getwd.
93602
93603 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93604
93605         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93606         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93607         getcwd (NULL, 0).
93608
93609 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93610
93611         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93612         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93613         spotted by Jim Meyering.
93614
93615 2001-09-03  Jim Meyering  <meyering@lucent.com>
93616
93617         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93618         failure.
93619
93620 2001-09-02  Jim Meyering  <meyering@lucent.com>
93621
93622         * lib/error.c: Update from GNU libc.
93623
93624 2001-09-01  Jim Meyering  <meyering@lucent.com>
93625
93626         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93627         Used by df.
93628
93629 2001-09-01  Jim Meyering  <meyering@lucent.com>
93630
93631         * lib/xreadlink.c: New file.
93632         * lib/xreadlink.h: New file.
93633         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93634         xreadlink.h.
93635
93636         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93637         doesn't conflict with sparc Solaris 7's definition in
93638         /usr/include/sys/int_types.h.
93639
93640         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93641         files.
93642         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93643         and strncasecmp as r-values.  Unixware didn't have declarations.
93644
93645 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93646
93647         * lib/xstrtol.h: Add copyright notice.
93648         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93649         LONGINT_INVALID_SUFFIX_CHAR.
93650
93651 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93652
93653         * lib/xstrtol.c (strtoimax): New decl.
93654
93655 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93656
93657         * lib/xgetcwd.c: Don't include pathmax.h.
93658         Include stdlib.h and unistd.h if available.
93659         Include xalloc.h.
93660         (xmalloc, xstrdup, free): Remove decls.
93661         (xgetcwd): Don't assume sizes fit in unsigned.
93662         Check for overflow when computing sizes.
93663         Simplify reallocation code.
93664
93665 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93666
93667         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
93668         a directory's st_size can have an arbitrary value, so the old
93669         usage could waste an arbitrary amount of memory.  All uses
93670         changed.
93671         * lib/savedir.h: Update prototype.
93672
93673 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93674
93675         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
93676
93677         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
93678         old strtoimax.c.
93679
93680         Also, make the following further changes to make this file's
93681         configuration more similar to that of strtol.c:
93682         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
93683         (strtoumax, uintmax_t, strtoull, strtol): Remove.
93684         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93685         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93686         changed to signed values.
93687
93688         And make the following changes as well:
93689         Fix copyright notice, as 1999 was missing.
93690         (verify): New macro.
93691         (strtoimax): Check sizes at compile-time, not run-time.
93692         Prefer strtol to strtoll if both work.
93693         (main): Remove; it was not that useful and was a pain to maintain.
93694
93695         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93696
93697 2001-08-31  Jim Meyering  <meyering@lucent.com>
93698
93699         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93700         Use an initial, malloc'd, buffer of length 128 rather than
93701         a statically allocated one of length 1024.
93702
93703 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93704
93705         Simplify code, partly by assuming autoconf 2.52 semantics.
93706
93707         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93708
93709         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93710         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93711         All uses removed.
93712         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93713         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93714         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93715         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93716         jm_AC_HEADER_INTTYPES_H.
93717         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93718
93719         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93720
93721         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93722         Quote first arg of AC_DEFUN.
93723         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93724         since they are needed to parse the include file even if we need
93725         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93726         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93727         but with opposite signedness.
93728
93729 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93730
93731         Merge 'exclude' changes from tar 1.13.22.
93732         This fixes one or two unlikely storage allocation overflow bugs,
93733         but doesn't change user-visible behavior otherwise.
93734
93735 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93736
93737         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93738         (jm_PREREQ_EXCLUDE): New macro.
93739
93740 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93741
93742         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93743         tm to be declared.
93744
93745 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93746
93747         * lib/hash.c: Remove '2001' from copyright notice.
93748
93749 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93750
93751         * lib/full-write.h: New file.
93752         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93753         * lib/full-write.c: Correct credits, as cccp.c no longer
93754         exists and anyway it was so heavily changed from the old cccp
93755         code as to be unrecognizable.  Include full-write.h.
93756         (full_write): Return size_t, with short writes meaning failure.
93757         All callers changed.  This fixes a bug with large buffers
93758         on 64-bit hosts.
93759         * lib/utime.c: Include full-write.h.
93760
93761 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93762
93763         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93764         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93765         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93766         Include if available.
93767         (<xalloc.h>): Include
93768         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93769         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93770         collide with FNM macros.
93771         (struct patopts): New struct.
93772         (struct exclude): Use it, as exclude patterns now come with options.
93773         (new_exclude): Support above changes.
93774         (new_exclude, add_exclude_file):
93775         Initial size must now be a power of two to simplify overflow checking.
93776         (free_exclude, fnmatch_no_wildcards): New function.
93777         (excluded_filename): No longer requires options arg, as the options
93778         are determined by add_exclude.  Now returns bool, not int.
93779         (excluded_filename, add_exclude):
93780         Add support for the fancy new exclusion options.
93781         (add_exclude, add_exclude_file): Now takes int options arg.
93782         Check for arithmetic overflow when computing sizes.
93783         (add_exclude_file): xrealloc might modify errno, so don't
93784         realloc until after errno might be used.
93785
93786         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93787         New macros.
93788         (free_exclude): New decl.
93789         (add_exclude, add_exclude_file): Now takes int options arg.
93790         (excluded_filename): No longer requires options arg, as the options
93791         are determined by add_exclude.  Now returns bool, not int.
93792
93793 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93794
93795         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93796
93797 2001-08-27  Jim Meyering  <meyering@lucent.com>
93798
93799         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93800
93801         * lib/version-etc.c (N_): Remove definition.
93802         Revert most of last change.
93803         Instead, simply don't mark the `Copyright...' string for translation.
93804         Based on advice from Paul Eggert.
93805
93806         * lib/strtoxmax.c: Tweak comment.
93807
93808 2001-08-26  Jim Meyering  <meyering@lucent.com>
93809
93810         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93811
93812         * m4/xstrtoimax.m4: New file.
93813         * m4/xstrtoumax.m4: Add comments explaining why we
93814         AC_REPLACE_FUNCS(strtol).
93815
93816 2001-08-26  Jim Meyering  <meyering@lucent.com>
93817
93818         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93819         of copyright with `%s' so translators don't get an untranslated
93820         message in 2002.
93821         (COPYRIGHT_YEAR): Define.
93822         (version_etc): Use fprintf rather than fputs.
93823         Suggestion from Ulrich Drepper.
93824
93825         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93826
93827         * lib/strtoll.c: New file, from GNU libc.
93828         * lib/xstrtoimax.c: New file.
93829
93830         * lib/xstrtol.h: Add xstrtoimax.
93831         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93832         * lib/strtoimax.c: New file.  Likewise, but first define
93833         STRTOUXMAX_SIGNED.
93834
93835         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93836         ...
93837         * lib/strtoxmax.c: ... then renamed to this.
93838
93839 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93840
93841         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93842         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93843         (jm_AC_TYPE_INTMAX_T): New macro.
93844         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93845
93846         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93847
93848         * m4/longlong.m4: Renamed from ulonglong.m4.
93849         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93850         * m4/uintmax_t.m4: Removed.
93851
93852 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93853
93854         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93855         Port to Solaris 8, where 'sed' requires a space after the 'r'
93856         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93857         Redirect output to $tmp just once.
93858
93859 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93860
93861         * lib/addext.c (<errno.h>): Include.
93862         (errno): Declare if not defined.
93863         (addext): Work correctly when pathconf returns -1 and leaves
93864         errno alone because there is no limit.  Also, work even if
93865         pathconf returns a value greater than SIZE_MAX.
93866
93867 2001-08-12  Jim Meyering  <meyering@lucent.com>
93868
93869         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93870         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93871         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93872         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93873         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93874         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93875         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93876         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93877         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93878         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93879         utime.m4, utimes.m4, xstrtoumax.m4:
93880         Quote the first argument in each use of AC_DEFUN.
93881
93882 2001-08-12  Jim Meyering  <meyering@lucent.com>
93883
93884         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93885         Simply `return getcwd (NULL, 0);'.
93886         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93887         Use 1300 as initial value for length, not PATH_MAX.
93888
93889         * lib/pathmax.h: Clean up cpp syntax.
93890
93891 2001-08-12  Jim Meyering  <meyering@lucent.com>
93892
93893         * lib/gettimeofday.c: New file.
93894         * lib/gtod.h: New file.
93895         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93896
93897 2001-08-05  Jim Meyering  <meyering@lucent.com>
93898
93899         * m4/jm-macros.m4: Require autoconf-2.52.
93900
93901 2001-08-04  Jim Meyering  <meyering@lucent.com>
93902
93903         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93904         stmt, to get in sync with glibc.
93905
93906 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93907
93908         The following changes are from gettext 0.10.39 as maintained by
93909         Bruno Haible.
93910
93911         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93912         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93913         with inverted sense.  All uses changed.
93914
93915         * lib/mbswidth.c: Don't include <limits.h>.
93916         Include <stdlib.h> and <string.h> unconditionally.
93917         (iswcntrl, mbsinit, ISCNTRL): New macros.
93918         (mbsnwidth): Use K&R style function declarations.
93919         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93920         can optimize it when MB_CUR_MAX == 1.
93921         The width of control characters is zero, not 1.
93922
93923 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93924
93925         The following changes are from gettext 0.10.39 as maintained by
93926         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93927
93928         * m4/codeset.m4: Upgrade to serial AM1.
93929         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93930         all uses changed.  Quote first arg of AC_DEFUN.
93931         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93932
93933         * m4/iconv.m4: Upgrade to serial AM2.
93934         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93935         Add --with-libconv-prefix.
93936         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93937         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93938         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93939         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93940         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93941
93942         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93943         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93944         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93945         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93946         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93947         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93948         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93949         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93950         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93951
93952         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93953         string.h any more.
93954
93955         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93956         not the default value.
93957
93958         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93959         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93960         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93961         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93962         Also check for iswcntrl, used for wcwidth fallback.
93963         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93964         to Autoconf 2.13.
93965
93966 2001-08-03  Jim Meyering  <meyering@lucent.com>
93967
93968         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93969         as it was in the original.  Reported by Paul Eggert.
93970
93971 2001-07-16  Jim Meyering  <meyering@lucent.com>
93972
93973         * m4/gettimeofday.m4: New file.
93974         Prompted by a report from Bernhard Baehr.
93975
93976 2001-07-15  Jim Meyering  <meyering@lucent.com>
93977
93978         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93979         stuff. Now it's in ../Makefile.cfg.
93980
93981 2001-07-15  Jim Meyering  <meyering@lucent.com>
93982
93983         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93984         (BUILT_SOURCES): Add unlocked-io.h.
93985         (io_functions): Define.
93986         (unlocked-io.h): New rule.
93987         (DISTCLEANFILES): Add unlocked-io.h.
93988         (all-local): Depend on unlocked-io.h, to ensure it is created.
93989
93990         * lib/unlocked-io.hin: New file
93991
93992         * lib/regex.c: Update from glibc.
93993
93994 2001-07-05  Jim Meyering  <meyering@lucent.com>
93995
93996         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
93997         recommendation.
93998         (libfetish_a_SOURCES): Put all .h files here instead.
93999         Remove a thus-exposed (better checks in automake) duplicate and
94000         two unnecessary .h files.
94001
94002 2001-07-04  Jim Meyering  <meyering@lucent.com>
94003
94004         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94005         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94006         distcheck failure.
94007
94008 2001-07-02  Jim Meyering  <meyering@lucent.com>
94009
94010         The following changes were prompted by suggestions from Bruno Haible.
94011
94012         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94013         is now generated.
94014         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94015         definition of EXTRA_DIST.
94016         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94017         ensure that the generated file is created/updated whenever the list
94018         of $(unlocked_functions) is changed.
94019         (jm-glibc-io.m4): New rule.
94020         (unlocked-io.h): New rule -- currently unused.
94021
94022 2001-06-24  Jim Meyering  <meyering@lucent.com>
94023
94024         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94025         unmatched right bracket, rather than kludging it with an extra,
94026         falsely-matching quote in a comment.  Patch by Akim Demaille.
94027
94028 2001-06-11  Jim Meyering  <meyering@lucent.com>
94029
94030         * lib/regex.c: Update from GNU libc.
94031
94032 2001-05-27  Jim Meyering  <meyering@lucent.com>
94033
94034         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94035         Check for ut_type in struct utmp.
94036
94037 2001-05-27  Jim Meyering  <meyering@lucent.com>
94038
94039         * lib/readutmp.h (UT_TYPE): Define.
94040
94041 2001-05-24  Jim Meyering  <meyering@lucent.com>
94042
94043         * lib/argmatch.c: Include "quote.h".
94044         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94045         quote function.  Reported by Göran Uddeborg.
94046
94047 2001-05-22  Jim Meyering  <meyering@lucent.com>
94048
94049         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94050         now that we use the package-supplied version unconditionally.
94051         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94052
94053 2001-05-21  Jim Meyering  <meyering@lucent.com>
94054
94055         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94056         shell syntax errors.
94057
94058 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94059
94060         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94061
94062 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94063
94064         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94065         Don't bother to check library strftime, since
94066         we'll be using our own my_strftime function anyway.
94067         Define my_strftime instead of strftime.
94068
94069 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94070
94071         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94072         which is not yet declared.
94073
94074 2001-05-15  Jim Meyering  <meyering@lucent.com>
94075
94076         * m4/regex.m4: Use proper quoting so brackets appear in the test
94077         program.
94078         Reported by, and with help from, Bruno Haible.
94079
94080 2001-05-13  Jim Meyering  <meyering@lucent.com>
94081
94082         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94083         undefined.
94084
94085 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94086
94087         dirname code cleanup.  base_name now behaves more compatibly
94088         with POSIX basename when given file names that have trailing
94089         slashes, and similarly for dir_name.  Add new primitives
94090         base_len and dir_len.  Put the directory-name-related decls
94091         into dirname.h.
94092
94093         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94094         * lib/backupfile.c (base_name): Likewise.
94095         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94096         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94097         * lib/makepath.c (strip_trailing_slashes): Likewise.
94098         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94099         ISSLASH): Likewise.
94100         * lib/rename.c (strip_trailing_slashes): Likewise.
94101         * lib/same.c (base_name): Likewise.
94102         * lib/stripslash.c (ISSLASH): Likewise.
94103
94104         * lib/addext.c: Include <dirname.h> after size_t is defined.
94105         * lib/backupfile.c: Likewise.
94106
94107         * lib/addext.c (addext): Use base_len to trim redundant
94108         trailing slashes instead of doing it ourselves.
94109         But do not trim the last slash if it is not redundant.
94110
94111         * lib/backupfile.c (find_backup_file_name,
94112         max_backup_version): Use base_len instead of rolling it ourselves.
94113         Handle the case of "" and (on DOS) "C:" correctly.
94114
94115         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94116         needed. Include <string.h>, <dirname.h>.
94117         (base_name): Allow file names ending in slashes, other than names
94118         that are all slashes.  In this case, return the basename followed
94119         by the slashes.  This is more general, and can be used in places
94120         where the original base_name purposely had an assertion failure.
94121         (base_len): New function.
94122
94123         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94124         Do not include <assert.h>; no longer needed.
94125         Include xalloc.h.
94126         (memrchr): Remove decl.
94127         (dir_name_r): Remove.
94128         (dir_len): Renamed from dirlen.  All callers changed.
94129         Rewrite in terms of base_name, for simplicity and consistency.
94130         (dir_name): Never return NULL.  All callers changed.
94131         Do not include <stdlib.h> in test program; no longer needed.
94132         return 0; is fine for test program.
94133
94134         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94135         New macros.
94136         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94137
94138         * lib/path-concat.c (path_concat): Use base_len to compute
94139         base length, not strlen; this means we cannot rely on memcpy
94140         to null-terminate.
94141
94142         * lib/same.c (STREQ): Remove.
94143         (same_name): Handle the case where the basename ends in trailing '/'.
94144
94145         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94146         a slash was stripped.  Do not strip the last slash after a
94147         file system prefix.
94148
94149 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94150
94151         * lib/Makefile.am (libfetish_a_SOURCES):
94152         Add strftime.c, since we now compile it on all hosts.
94153
94154         * lib/strftime.c (my_strftime):
94155         Define to nstrftime if emacs, but only if my_strftime is not defined.
94156         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94157         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94158         Add one more extra argument: a nanoseconds value.
94159         All uses changed.
94160         (ns): New macro.
94161         (my_strftime function): Add %N format.
94162         (emacs_strftimeu): Renamed from emacs_strftime,
94163         with extra ut argument.
94164
94165 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94166
94167         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94168
94169 2001-04-21  Jim Meyering  <meyering@lucent.com>
94170
94171         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94172         doesn't interfere.
94173
94174 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94175
94176         * m4/ftruncate.m4: Check for chsize.
94177         Link with ftruncate.o unconditionally if ftruncate is missing.
94178         This was required when cross-compiling to i586-mingw32msvc.
94179
94180 2001-04-08  Jim Meyering  <meyering@lucent.com>
94181
94182         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94183         recomputed; that's necessary when the offset spans a DST transition.
94184         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94185
94186 2001-04-02  Jim Meyering  <meyering@lucent.com>
94187
94188         * lib/regex.h, regex.c: Update from GNU libc.
94189
94190 2001-03-24  Jim Meyering  <meyering@lucent.com>
94191
94192         * m4/jm-macros.m4: Require autoconf-2.49d.
94193
94194 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94195
94196         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94197
94198 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94199
94200         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94201
94202 2001-03-17  Jim Meyering  <meyering@lucent.com>
94203
94204         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94205         now that the version in autoconf is equivalent.
94206         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94207
94208         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94209         Suggestion from Akim Demaille.
94210
94211         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94212         (jm_PREREQ_TEMPNAME): New function.
94213
94214 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94215
94216         * lib/tempname.c (uint64_t): Define to uintmax_t if
94217         not defined, and if UINT64_MAX is not defined.
94218         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94219         Reported by John David Anglin.
94220
94221 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94222
94223         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94224         resolve alias if codeset is empty.
94225         * lib/config.charset (BeOS): Use wildcard syntax.
94226
94227 2001-03-13  Jim Meyering  <meyering@lucent.com>
94228
94229         * lib/path-concat.c (path_concat)
94230         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94231         concatenating e.g., `C:' and `foo'.
94232         From Bruno Haible.
94233
94234 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94235
94236         * lib/localcharset.c (locale_charset): Don't use
94237         setlocale(LC_CTYPE,NULL). Don't return NULL.
94238         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94239
94240 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94241
94242         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94243         support for DOS/DJGPP.
94244
94245 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94246
94247         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94248         lacks mkstemp.  Compile our own tempname.c if we compile our own
94249         mkstemp.c, as mkstemp relies on tempname.
94250
94251 2001-03-01  Jim Meyering  <meyering@lucent.com>
94252
94253         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94254         AH_VERBATIM really does output its argument verbatim.
94255
94256 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94257
94258         * lib/Makefile.am (libfetish_a_SOURCES):
94259         Add dup-safer.c, fopen-safer.c.
94260         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94261
94262         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94263         * lib/unistd-safer.h: New files.
94264
94265 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94266
94267         The mkstemp replacement is taken from glibc 2.2.2, with some
94268         portability fixes for use outside glibc, as follows:
94269
94270         * lib/tempname.c (struct_stat64): New macro.
94271         (direxists, __gen_tempname): Use it.
94272         This avoids a portability problem with Solaris 8.
94273
94274         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94275         (<stddef.h>, <stdint.h>, <string.h>):
94276         Include only if STDC_HEADERS || _LIBC.
94277         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94278         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94279         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94280         (__set_errno): Define this macro if <errno.h> doesn't.
94281         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94282         Define these macros if <stdio.h> doesn't.
94283         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94284         Define these macros if <sys/stat.h>
94285         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94286         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94287         __xstat64): Define if not _LIBC.
94288         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94289         (__gen_tempname): Invoke gettimeofday only if
94290         HAVE_GETTIMEOFDAY || _LIBC;
94291         otherwise, fall back on plain "time".
94292         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94293
94294         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94295
94296         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94297
94298 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94299
94300         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94301
94302 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94303
94304         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94305         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94306         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94307         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94308
94309 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94310
94311         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94312         Remove workaround macros for hosts that have mbrtowc but not
94313         mbstate_t, as we now insist on proper declarations for both
94314         before using mbrtowc.
94315
94316 2001-02-17  Jim Meyering  <meyering@lucent.com>
94317
94318         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94319         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94320         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94321         UnixWare 7.1.1.
94322
94323         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94324         rather than AC_CACHE_VAL.
94325
94326 2001-02-17  Jim Meyering  <meyering@lucent.com>
94327
94328         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94329         around included file name.
94330
94331         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94332
94333         * lib/strftime.c: Update from GNU libc (the only changes were to
94334         comments).
94335
94336 2001-02-17  Jim Meyering  <meyering@lucent.com>
94337
94338         * lib/regex.c: Update from libc.
94339
94340 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94341
94342         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94343         clash.
94344
94345 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94346
94347         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94348         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94349         Reported by Mark Hounschell via Paul Eggert.
94350
94351 2001-02-07  Jim Meyering  <meyering@lucent.com>
94352
94353         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94354
94355 2001-02-05  Jim Meyering  <meyering@lucent.com>
94356
94357         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94358         it includes the patch required for `large file' support with at least
94359         HP-UX's 10.20 /bin/cc.
94360
94361 2001-02-03  Jim Meyering  <meyering@lucent.com>
94362
94363         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94364         AS_IF, now that it works once again (mysteriously).
94365         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94366
94367 2001-01-30  Jim Meyering  <meyering@lucent.com>
94368
94369         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94370         * m4/chown.m4: Rename conftestchown to conftest.chown.
94371         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94372         s/conftestdir2/conftest.d2/.
94373         * m4/utimes.m4: s/conftestdata/conftest.data/
94374         Inspired by Pavel Roskin's change in autoconf.
94375
94376 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94377
94378         * lib/config.charset: Update for FreeBSD 4.2.
94379
94380 2001-01-27  Jim Meyering  <meyering@lucent.com>
94381
94382         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94383         a use of AS_IF.
94384         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94385
94386 2001-01-26  Jim Meyering  <meyering@lucent.com>
94387
94388         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94389         quotearg.c includes it.
94390
94391 2001-01-26  Jim Meyering  <meyering@lucent.com>
94392
94393         * lib/quotearg.c: Include stddef.h.
94394         * lib/quote.c: Include stddef.h.
94395         Reported by Axel Kittenberger.
94396
94397         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94398         line in double quotes so that it evokes a better diagnostic.
94399         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94400         Reported by Axel Kittenberger.
94401
94402 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94403
94404         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94405         as if it was a `charset'.
94406
94407 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94408
94409         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94410         has const.
94411
94412 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94413
94414         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94415         to avoid a warning.  Add back 'const' to inptr.
94416
94417 2001-01-20  Jim Meyering  <meyering@lucent.com>
94418
94419         Be sure that headers are checked before used in code compiled
94420         for the type checks.
94421         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94422         In place of that, invoke jm_CHECK_ALL_TYPES.
94423         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94424         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94425         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94426         The check for ssize_t was mistakenly run before the test for unistd.h.
94427
94428         The configure-time check for stdbool.h was missing.
94429         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94430         (jm_PREREQ_HASH): New function.
94431
94432 2001-01-17  Jim Meyering  <meyering@lucent.com>
94433
94434         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94435         for autoconf-2.49c.
94436         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94437
94438 2001-01-16  Jim Meyering  <meyering@lucent.com>
94439
94440         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94441         From Bruno Haible.
94442
94443 2001-01-14  Jim Meyering  <meyering@lucent.com>
94444
94445         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94446         foo and bar.  Create conftestdir/ in the script, not in the C code.
94447         Remove directories in the script, not in the C code.
94448         Remove conftestdir{,2} before trying to create the directory.
94449         Make the entire configure script fail if the mkdir fails.
94450
94451 2001-01-14  Jim Meyering  <meyering@lucent.com>
94452
94453         * lib/rename.c: New file.  From Volker Borchert.
94454         Include stdlib.h, string.h or strings.h, and xalloc.h.
94455         Use strip_trailing_slashes rather than open-coding it.
94456
94457 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94458
94459         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94460
94461 2001-01-03  Jim Meyering  <meyering@lucent.com>
94462
94463         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94464         of local `inptr' to avoid warning with some system declarations of
94465         iconv.
94466
94467 2001-01-02  Volker Borchert  <bt@teknon.de>
94468
94469         * m4/rename.m4: New file.
94470         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94471
94472 2001-01-01  Jim Meyering  <meyering@lucent.com>
94473
94474         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94475         even on systems with utmpx.h.  It's necessary for the declaration of
94476         utmp's ut_user member.  Reported by Andreas Jaeger.
94477
94478         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94479         available. They are required for the declarations of getgrgid and
94480         getpwuid resp.
94481         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94482         Reported by Andreas Jaeger.
94483
94484 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94485
94486         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94487         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94488         so `make install' also works in VPATH builds.
94489
94490 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94491
94492         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94493         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94494         can be used in subdirectories.
94495
94496 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94497
94498         * lib/modechange.c: Do not assume that mode_t uses the
94499         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94500         the other-execute bit of FOO even if S_IXOTH != 1.
94501
94502         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94503         WOTH, XOTH, ALLM): New macros.
94504         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94505          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94506         Use them.
94507         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94508         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94509         (mode_compile):
94510         No need to use uintmax_t; unsigned long is long enough.
94511         Don't bother to get suffix since we don't use it.
94512
94513 2000-12-26  Jim Meyering  <meyering@lucent.com>
94514
94515         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94516         better with autoheader.
94517
94518 2000-12-24  Jim Meyering  <meyering@lucent.com>
94519
94520         * lib/hash.c (is_prime): Return explicit boolean values.
94521         (hash_get_first): Return NULL to appease Irix5.6's 89.
94522         Reported by Nelson Beebe.
94523
94524 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94525
94526         * lib/localcharset.c (locale_charset): Add support for Win32.
94527
94528 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94529
94530         * lib/physmem.h, lib/physmem.c: New files.
94531
94532         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94533         (noinst_HEADERS): Add physmem.h.
94534
94535         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94536         't' for compatibility with Solaris 8 sort.
94537
94538 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94539
94540         * lib/config.charset: Add support for BeOS.
94541
94542 2000-12-17  Jim Meyering  <meyering@lucent.com>
94543
94544         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94545         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94546
94547 2000-12-16  Jim Meyering  <meyering@lucent.com>
94548
94549         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94550         N and M) would have treated it like `chown N:N FILE'.
94551
94552         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94553
94554 2000-12-16  Jim Meyering  <meyering@lucent.com>
94555
94556         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94557         SHELLS_FILE to a file name that's useful on djgpp systems.
94558         Include stdlib.h.
94559         (ADDITIONAL_DEFAULT_SHELLS): Define.
94560         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94561         Based mostly on a patch from Prashant TR.
94562
94563 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94564
94565         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94566         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94567         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94568
94569 2000-12-08  Andreas Schwab  <schwab@suse.de>
94570
94571         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94572         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94573
94574 2000-12-07  Jim Meyering  <meyering@lucent.com>
94575
94576         * lib/stripslash.c (ISSLASH): Define.
94577         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94578         `/'.
94579         From Prashant TR.
94580
94581         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94582         (dir_name_r): Declare this function as static.
94583         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94584         manifest itself on a name containing a mix of slashes and
94585         backslashes.
94586         Make this function work with names starting with a DOS-style
94587         drive letter and colon prefix.
94588         (dir_name): Append `.' if necessary.
94589         Based mostly on patches from Prashant TR and Eli Zaretskii.
94590
94591         * lib/dirname.h (dir_name_r): Remove prototype.
94592
94593 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94594
94595         * m4/off_t-format.m4: Remove this file.
94596         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94597
94598 2000-12-06  Jim Meyering  <meyering@lucent.com>
94599
94600         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94601         replacement strtoull, we may well need the replacement strtoul, too.
94602         Check for declarations of strtoul and strtoull.
94603         Check for strtol.  Mainly as a cue to cause automake to include
94604         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94605         Check for limits.h -- strtol.c needs it.
94606
94607 2000-12-05  Jim Meyering  <meyering@lucent.com>
94608
94609         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94610
94611 2000-12-04  Jim Meyering  <meyering@lucent.com>
94612
94613         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94614         Also include memory.h, stdlib.h, unistd.h if appropriate.
94615         Reported by Andreas Jaeger (conflicting declaration of malloc).
94616
94617 2000-12-02  Jim Meyering  <meyering@lucent.com>
94618
94619         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94620         * m4/jm-macros.m4 (jm_MACROS): require it.
94621
94622 2000-12-02  Jim Meyering  <meyering@lucent.com>
94623
94624         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94625
94626 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94627
94628         * lib/memrchr.c: Include <config.h> before any system include file.
94629
94630 2000-11-30  Jim Meyering  <meyering@lucent.com>
94631
94632         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94633
94634 2000-11-30  Jim Meyering  <meyering@lucent.com>
94635
94636         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94637
94638 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94639
94640         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94641
94642 2000-11-26  Jim Meyering  <meyering@lucent.com>
94643
94644         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94645
94646 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94647
94648         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94649         size of (size_t) -1; it's not portable.
94650
94651 2000-11-17  Jim Meyering  <meyering@lucent.com>
94652
94653         * lib/strstr.c: Update from GNU libc.
94654
94655 2000-11-17  Akim Demaille  <akim@epita.fr>
94656
94657         * lib/obstack.h: Formatting changes.
94658         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94659         prevent type checking.
94660         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94661         cast the value to (void *): assigning a `foo *' to a `void *'
94662         variable is valid.
94663         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
94664
94665 2000-11-16  Jim Meyering  <meyering@lucent.com>
94666
94667         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
94668
94669 2000-11-11  Jim Meyering  <meyering@lucent.com>
94670
94671         * lib/error.c: Add a couple #includes, merging from GNU libc version.
94672
94673 2000-11-10  Jim Meyering  <meyering@lucent.com>
94674
94675         * lib/obstack.h: Update from GNU libc.
94676         * lib/obstack.c: Likewise.
94677
94678 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
94679
94680         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
94681
94682 2000-11-06  Paul Eggert  <eggert@twinsun.com>
94683
94684         * lib/getusershell.c (setusershell): Use rewind rather than
94685         fseek/fseeko, to avoid configuration hassles with fseeko.
94686         Don't bother opening SHELLS_FILE if shellstream is NULL;
94687         it's not necessary.
94688
94689 2000-11-05  Jim Meyering  <meyering@lucent.com>
94690
94691         * lib/makepath.h (make_dir): Declare.
94692         * lib/makepath.c (make_dir): Remove `static' attribute.
94693         Tweak a comment.
94694
94695 2000-11-04  Jim Meyering  <meyering@lucent.com>
94696
94697         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94698
94699 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94700
94701         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94702         last one in a bucket, advance to the next bucket.
94703
94704 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94705
94706         * lib/fnmatch.c: Do not comment out all the code if we are using
94707         the GNU C library, because in some cases we are replacing buggy
94708         code in the GNU C library itself.
94709
94710 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94711
94712         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94713         (regex_compile): Catch bogus \(\1\).
94714
94715 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94716
94717         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94718         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94719         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94720
94721 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94722
94723         * lib/error.h, getline.h, modechange.h:
94724         Remove "2000" from Copyright line, as the file hasn't been
94725         changed this year other than in the copyright notice.
94726
94727         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94728         was changed this year.
94729
94730 2000-10-29  Jim Meyering  <meyering@lucent.com>
94731
94732         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94733         renaming.
94734         * m4/ls-mntd-fs.m4: Likewise
94735
94736 2000-10-29  Jim Meyering  <meyering@lucent.com>
94737
94738         * lib/xstat.in: Fix grammar in comment.
94739
94740 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94741
94742         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94743         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94744         doesn't define __restrict_arr.
94745
94746 2000-10-28  Jim Meyering  <meyering@lucent.com>
94747
94748         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94749         (jm_PREREQ_MEMCHR): New function.
94750
94751 2000-10-28  Jim Meyering  <meyering@lucent.com>
94752
94753         * lib/memchr.c: Update from libc.
94754         Adjust for portability:
94755         [HAVE_STDLIB_H]: Include stdlib.h.
94756         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94757         Undef __memchr, too.
94758         [!weak_alias]: Define __memchr to memchr.
94759
94760         * lib/regex.c: Update from libc.
94761         * lib/regex.h: Likewise.
94762         * lib/getopt1.c: Likewise.
94763         * lib/memcmp.c: Likewise.
94764
94765         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94766         Avoid using fseek, when possible -- it's broken by design.
94767         Patch by Ulrich Drepper.
94768
94769 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94770
94771         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94772         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94773         Giving in to popular pressure to shut up the compiler with casts.
94774
94775 2000-10-26  Jim Meyering  <meyering@lucent.com>
94776
94777         * lib/strftime.c: Update from libc.
94778
94779 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94780
94781         * regex.c: More `unsigned char' -> `re_char' changes.
94782         Also change several `int' into `re_wchar_t'.
94783         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94784         (PUSH_FAILURE_POINTER): Don't cast any more.
94785         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94786         We want GCC to complain, since this piece of code makes
94787         re_match non-reentrant, which *should* be fixed.
94788         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94789         (EXTEND_BUFFER): Use RETALLOC.
94790         (SET_LIST_BIT): Don't cast.
94791         (re_wchar_t): New type.
94792         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94793         that those two functions will always properly return.
94794         (IMMEDIATE_QUIT_CHECK): Cast to void.
94795         (analyse_first): Use recursion rather than an explicit stack.
94796         (re_compile_fastmap): Can't fail anymore.
94797         (re_search_2): Don't check re_compile_fastmap for failure.
94798         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94799         Now also sets the new value (passed in a new argument).
94800         (re_match_2_internal): Use it.
94801         Also, use a new var `reg' of type size_t when looping through regs
94802         rather than reuse the inappropriate `mcnt'.
94803
94804 2000-10-25  Jim Meyering  <meyering@lucent.com>
94805
94806         * lib/obstack.c: Update from libc.
94807
94808 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94809
94810         * regex.c (regex_compile): Change the way of handling a range from
94811         a char less than 256 to a char not less than 256.
94812
94813 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94814
94815         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94816         NT-Emacs only.
94817         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94818         so that re_search functions only quit when callers expect them to.
94819
94820 2000-10-23  Jim Meyering  <meyering@lucent.com>
94821
94822         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94823         wrong.  That set_locale call must not have any side effects.
94824         From Paul Eggert.
94825
94826 2000-10-22  Jim Meyering  <meyering@lucent.com>
94827
94828         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94829         [CYCLIC]: Remove now-unused definition.
94830
94831         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94832         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94833         Suggestion from Ulrich Drepper.
94834
94835 2000-10-21  Jim Meyering  <meyering@lucent.com>
94836
94837         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94838         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94839         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94840
94841 2000-10-21  Jim Meyering  <meyering@lucent.com>
94842
94843         * lib/dirname.c (memrchr): Declare if necessary.
94844         (dir_name): Remove the restriction that there be no
94845         trailing slashes.  Now, this code skips past them, effectively
94846         ignoring them.
94847         [TEST_DIRNAME] (main): New unit tests.
94848
94849         * lib/memrchr.c: New file from GNU libc.
94850         Undef __memrchr, too.
94851         [!weak_alias]: Define __memrchr to memrchr.
94852         Guard weak_alias use with `#ifdef weak_alias'.
94853
94854 2000-10-21  Jim Meyering  <meyering@lucent.com>
94855
94856         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94857         (dir_name): Use dir_name_r.
94858         * lib/dirname.h (dir_name_r): Declare it.
94859
94860 2000-10-17  Jim Meyering  <meyering@lucent.com>
94861
94862         * lib/quote.h (PARAMS): Define and use.
94863         Reported by Akim Demaille.
94864
94865         * lib/getopt.c: Update from libc.
94866
94867 2000-10-16  Jim Meyering  <meyering@lucent.com>
94868
94869         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94870         setlocale.
94871         From Jan Fedak.
94872
94873 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94874
94875         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94876
94877 2000-09-25  Jim Meyering  <meyering@lucent.com>
94878
94879         * lib/md5.h (rol): Define (from GnuPG).
94880
94881         * lib/sha.c: Give credit (GnuPG) where due.
94882         (M): Use rol rather than open-coding it.
94883         Add a FIXME comment.
94884
94885 2000-09-21  Jim Meyering  <meyering@lucent.com>
94886
94887         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94888         Reported by Michael Stone.
94889
94890 2000-09-20  Jim Meyering  <meyering@lucent.com>
94891
94892         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94893         (noinst_HEADERS): Add sha.h.
94894         Based on code from Scott G. Miller and from GnuPG.
94895
94896 2000-09-18  Jim Meyering  <meyering@lucent.com>
94897
94898         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94899         LIBS. Otherwise, everyone ends up linking with -lelf for some
94900         configurations.
94901         Reported by Mike Stone.
94902
94903 2000-09-15  Jim Meyering  <meyering@lucent.com>
94904
94905         * lib/regex.c: Update from libc.
94906
94907 2000-09-10  Jim Meyering  <meyering@lucent.com>
94908
94909         * lib/getopt.c (_getopt_internal): Update from glibc.
94910
94911 2000-09-09  Jim Meyering  <meyering@lucent.com>
94912
94913         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94914         think it should be used as a general replacement for isascii.
94915         * lib/fnmatch.c: Likewise.
94916         * lib/mbswidth.c: Likewise
94917         * lib/regex.c: Likewise.
94918
94919         Don't use atoi.
94920         * lib/userspec.c: Include sys/param.h and limits.h.
94921         Include xstrtol.h.
94922         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94923         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94924         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94925         UID, GID.  Check range.
94926
94927 2000-09-06  Jim Meyering  <meyering@lucent.com>
94928
94929         * lib/getopt.c (_getopt_internal): Update from glibc.
94930
94931 2000-08-30  Jim Meyering  <meyering@lucent.com>
94932
94933         * lib/strftime.c: Merge in changes from GNU libc.
94934
94935 2000-08-26  Jim Meyering  <meyering@lucent.com>
94936
94937         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94938         * m4/fpending.m4: New file.
94939
94940 2000-08-26  Jim Meyering  <meyering@lucent.com>
94941
94942         * lib/closeout.c: Include "__fpending.h".
94943         (close_stdout_status): Return right away if there's nothing to flush.
94944
94945         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94946         * lib/__fpending.c: New file.
94947         * lib/__fpending.h: New file.
94948
94949 2000-08-20  Jim Meyering  <meyering@lucent.com>
94950
94951         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94952         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94953         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94954
94955 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94956
94957         Improve fileutils installation on systems where running
94958         programs (like install) can't be unlinked.
94959         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94960         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94961
94962 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94963
94964         Standardize on "memory exhausted" instead of "Memory exhausted"
94965         or "virtual memory exhausted".
94966         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94967         "virtual memory exhausted".
94968         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94969         our own message.
94970         * lib/userspec.c (parse_user_spec): Likewise.
94971         * lib/bumpalloc.h: comment fix
94972         * lib/same.c, userspec.c: Include xalloc.h.
94973
94974         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94975         not char *const and pointing to a constant array.
94976         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94977         (xrealloc): Comment fix.
94978
94979         * lib/userspec.c (parse_user_spec):
94980         Don't translate a message until just before returning,
94981         to avoid unnecessary translation.
94982
94983 2000-08-07  Jim Meyering  <meyering@lucent.com>
94984
94985         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94986         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94987         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94988         getgroups.c, gethostname.c, getopt.h, group-member.c,
94989         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94990         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94991         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94992         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
94993         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
94994         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
94995         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
94996         yesno.c: Back out Copyright date changes for each file with no change
94997         this year.  This eases coordination with other programs using the same
94998         source code modules.  From Paul Eggert.
94999
95000 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95001
95002         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95003         not char, for compatibility with glibc 2.1.3 strftime.c.
95004
95005 2000-08-03  Greg McGary  <greg@mcgary.org>
95006
95007         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95008         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95009         (EXTEND_BUFFER): Use them.
95010
95011 2000-08-01  Jim Meyering  <meyering@lucent.com>
95012
95013         * lib/dirname.c (ISSLASH): Define.
95014         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95015         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95016         both `\' and `/' may be use as path separators.
95017         Based on a patch from Prashant TR.
95018
95019 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95020
95021         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95022         slot vector a constant, since it might get modified.
95023
95024 2000-07-31  Jim Meyering  <meyering@lucent.com>
95025
95026         * lib/xmalloc.c: Use `virtual memory exhausted', not
95027         `Memory exhausted'.
95028         * lib/obstack.c (print_and_abort): Likewise.
95029
95030 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95031
95032         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95033         buffer, so that the caller can always quote one small
95034         component of a "memory exhausted" message in slot 0.
95035         From a suggestion by Jim Meyering.
95036
95037 2000-07-30  Jim Meyering  <meyering@lucent.com>
95038
95039         * lib/makepath.c (make_path): Quote the other instance, too.
95040
95041         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95042         (STATIC_BUF_SIZE): Define.
95043         (quotearg_n_options): Use only statically allocated storage when
95044         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95045         than STATIC_BUF_SIZE.
95046
95047 2000-07-29  Jim Meyering  <meyering@lucent.com>
95048
95049         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95050         * lib/dirname.c (dir_name): Likewise.
95051
95052         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95053         `/'.
95054
95055         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95056         (dir_name): Assert that there are no trailing slashes.
95057
95058 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95059
95060         * lib/mbswidth.h (mbswidth): Add a flags argument.
95061         (mbswidth): New declaration.
95062         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95063         * lib/mbswidth.c (mbswidth): Add a flags argument.
95064         (mbsnwidth): New function.
95065
95066 2000-07-24  Jim Meyering  <meyering@lucent.com>
95067
95068         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95069
95070 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95071
95072         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95073
95074 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95075
95076         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95077         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95078         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95079         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95080         invoke multibyte primitives.
95081
95082 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95083
95084         * lib/quotearg.c:
95085         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95086         so that mbstate_t is always defined.
95087
95088         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95089         be 1 in at least one GCC installation, and this configuration
95090         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95091         performance on hosts that have mbrtowc but have only unibyte
95092         locales, but I assume these hosts are rare.
95093
95094 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95095
95096         * lib/mbswidth.c (_XOPEN_SOURCE):
95097         Don't define; this causes problems on Solaris 7.
95098         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95099
95100 2000-07-23  Jim Meyering  <meyering@lucent.com>
95101
95102         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95103         too: getgrgid, getpwuid, getuid.
95104
95105 2000-07-23  Jim Meyering  <meyering@lucent.com>
95106
95107         * lib/basename.c (base_name): Add an assertion.
95108
95109 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95110
95111         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95112         shadow its mbsinit function.
95113
95114 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95115
95116         * lib/mbswidth.h: New file.
95117         * lib/mbswidth.c: New file.
95118         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95119         (noinst_HEADERS): Add mbswidth.h.
95120
95121 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95122
95123         * lib/config.charset: Add support for FreeBSD. Improve support for
95124         HP-UX and IRIX 6.
95125
95126 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95127
95128         * m4/mbswidth.m4: New file.
95129         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95130
95131 2000-07-15  Jim Meyering  <meyering@lucent.com>
95132
95133         * lib/makepath.c: Include quote.h.
95134         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95135         corresponding argument in a `quote (...)' call.
95136         Give better diagnostics.
95137
95138         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95139         (noinst_HEADERS): Add quote.h.
95140
95141         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95142         from tar's src/misc.c.
95143         * lib/quote.h: New file.  Prototypes for same.
95144
95145 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95146
95147         From a suggestion by Bruno Haible.
95148         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95149         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95150         to decide whether to define the BeOS workaround macro;
95151         this adjusts to the change to AC_MBSTATE_T.
95152
95153 2000-07-14  Jim Meyering  <meyering@lucent.com>
95154
95155         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95156         jm_AC_TYPE_UINTMAX_T.
95157
95158 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95159
95160         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95161
95162         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95163         quotearg_buffer_restyled): Add support for
95164         clocale_quoting_style.  Undo previous change to
95165         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95166         and "{RIGHT QUOTATION MARK}" msgids.
95167
95168 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95169
95170         From a suggestion by Bruno Haible.
95171         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95172         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95173         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95174         and mbstate_t, to a single-part test that simply defines mbstate_t.
95175         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95176         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95177
95178 2000-07-10  Jim Meyering  <meyering@lucent.com>
95179
95180         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95181
95182         * m4/gnu-source.m4: Output to confdefs.h directly.
95183         Suggestion from Akim Demaille.
95184
95185 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95186
95187         The old behavior of quoting `like this' doesn't look good with
95188         newer, ISO-style fonts.  See:
95189         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95190
95191         Instead, quote "like this" by default.  Let the translator
95192         tailor the locale-specific quoting behavior by providing
95193         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95194
95195         * lib/quotearg.c (N_): New macro.
95196         (gettext_default): New function.
95197         (quotearg_buffer_restyled): Use
95198         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95199         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95200
95201 2000-07-09  Jim Meyering  <meyering@lucent.com>
95202
95203         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95204         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95205
95206         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95207         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95208
95209 2000-07-09  Jim Meyering  <meyering@lucent.com>
95210
95211         * lib/Most files: Update copyright dates to include 2000.
95212
95213 2000-07-08  Jim Meyering  <meyering@lucent.com>
95214
95215         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95216         if not defined.
95217         (xgethostname): Remove now-unnecessary #ifdef.
95218         Move declaration of `err' into loop where it's used.
95219
95220 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95221         and Bruno Haible  <haible@clisp.cons.org>
95222
95223         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95224         only if the test for an object-type mbstate_t fails.  This
95225         prevents us from mistakenly reporting that mbstate_t is a
95226         system object type after we "#define mbstate_t int" to work
95227         around its lack.
95228
95229 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95230         and Bruno Haible  <haible@clisp.cons.org>
95231
95232         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95233
95234 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95235
95236         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95237         to strerror_r.
95238         Include <ctype.h> for use of isalpha.
95239
95240 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95241
95242         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95243         by allocating a larger buffer. Test the gethostname return value for
95244         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95245         returns an error and ENAMETOOLONG isn't defined.
95246
95247 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95248
95249         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95250         dimension.
95251
95252 2000-07-04  Jim Meyering  <meyering@lucent.com>
95253
95254         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95255         of the deprecated AC_CHECKING.
95256
95257 2000-07-04  Jim Meyering  <meyering@lucent.com>
95258
95259         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95260         Reported by Bruno Haible.
95261
95262 2000-07-04  Jim Meyering  <meyering@lucent.com>
95263
95264         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95265         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95266         lacks mbrtowc.
95267
95268 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95269
95270         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95271         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95272
95273 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95274         and Bruno Haible  <haible@clisp.cons.org>
95275
95276         * lib/quotearg.c (mbrtowc):
95277         Assign to *pwc, and return 1 only if result is nonzero.
95278         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95279
95280 2000-07-03  Jim Meyering  <meyering@lucent.com>
95281
95282         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95283
95284 2000-07-03  Jim Meyering  <meyering@lucent.com>
95285
95286         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95287         This is necessary to get a definition of e.g., UTMP_FILE on
95288         HP-UX 10.20.
95289         From Bob Proulx.
95290
95291 2000-07-02  Jim Meyering  <meyering@lucent.com>
95292
95293         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95294
95295         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95296         AC_LIBOBJ(function_name).
95297         * m4/chown.m4: Likewise.
95298         * m4/fnmatch.m4: Likewise.
95299         * m4/ftruncate.m4: Likewise.
95300         * m4/getgroups.m4: Likewise.
95301         * m4/getline.m4: Likewise.
95302         * m4/group-member.m4: Likewise.
95303         * m4/jm-macros.m4: Likewise.
95304         * m4/lstat.m4: Likewise.
95305         * m4/malloc.m4: Likewise.
95306         * m4/memcmp.m4: Likewise.
95307         * m4/nanosleep.m4: Likewise.
95308         * m4/putenv.m4: Likewise.
95309         * m4/realloc.m4: Likewise.
95310         * m4/regex.m4: Likewise.
95311         * m4/stat.m4: Likewise.
95312         * m4/strftime.m4: Likewise.
95313
95314 2000-07-02  Jim Meyering  <meyering@lucent.com>
95315
95316         * lib/quotearg.c (mbstate_t): Don't define here.
95317
95318 2000-07-02  Jim Meyering  <meyering@lucent.com>
95319
95320         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95321
95322 2000-07-01  Jim Meyering  <meyering@lucent.com>
95323
95324         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95325
95326 2000-07-01  Jim Meyering  <meyering@lucent.com>
95327
95328         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95329         problem.
95330
95331 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95332
95333         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95334         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95335
95336 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95337
95338         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95339         per change in ../m4/ls-mntd-fs.m4.
95340         (read_filesystem_list): Ignore symbolic links.
95341
95342 2000-06-29  Jim Meyering  <meyering@lucent.com>
95343
95344         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95345         for declaration of strcmp.
95346
95347         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95348
95349         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95350         Avoid warning by casting result to `char *' to remove `const'.
95351
95352 2000-06-28  Jim Meyering  <meyering@lucent.com>
95353
95354         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95355         included by quotearg.c, for which we perform this test.  From
95356         Bruno Haible.
95357
95358 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95359
95360         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95361         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95362         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95363
95364 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95365
95366         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95367
95368 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95369
95370         savedir now sets errno on failure and invokes xmalloc to get memory.
95371         Fix a couple of other minor bugs while we're at it.
95372
95373         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95374         (NAMLEN): Remove macro.
95375         (malloc, realloc): Remove decls.
95376         (stpcpy): Likewise.
95377         ("xalloc.h"): Include.
95378         (NAME_SIZE_DEFAULT): New macro.
95379         (savedir): Use xmalloc / xrealloc to allocate memory.
95380         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95381         Skip "" directory entries.
95382         Use strlen to calculate directory entry length, since the old method
95383         is rarely used these days and isn't worth supporting.
95384         Don't use a pointer after freeing it.
95385         Check for integer overflow when calculating allocation size.
95386         Use memcpy to copy entries, instead of stpcpy.
95387         Set errno properly when returning NULL.
95388         Check for readdir error.
95389
95390 2000-06-26  Jim Meyering  <meyering@lucent.com>
95391
95392         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95393
95394 2000-06-25  Jim Meyering  <meyering@lucent.com>
95395
95396         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95397         Linux header bug when _XOPEN_SOURCE is defined to 500.
95398
95399 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95400
95401         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95402         deficiency.
95403
95404 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95405
95406         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95407         Include xalloc.h.
95408         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95409
95410 2000-06-24  Jim Meyering  <meyering@lucent.com>
95411
95412         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95413         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95414         for which strerror does return char*, but which lacks a conveniently
95415         accessible declaration of the function.  If the compile-test says
95416         strerror_r doesn't work, then resort to a `run'-test that works on
95417         BeOS and segfaults on DEC Unix.
95418
95419 2000-06-24  Jim Meyering  <meyering@lucent.com>
95420
95421         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95422
95423 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95424
95425         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95426         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95427
95428 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95429
95430         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95431         (mbrtowc, mbstate_t): Define substitutes if
95432         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95433         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95434         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95435
95436 2000-06-23  Jim Meyering  <meyering@lucent.com>
95437
95438         * m4/afs.m4: Add missing AC_MSG_RESULT.
95439         Reported by Bruno Haible.
95440
95441         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95442         Suggestion from Bruno Haible.
95443
95444 2000-06-23  Jim Meyering  <meyering@lucent.com>
95445
95446         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95447
95448 2000-06-21  Jim Meyering  <meyering@lucent.com>
95449
95450         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95451
95452 2000-06-21  Jim Meyering  <meyering@lucent.com>
95453
95454         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95455         (noinst_HEADERS): Add getstr.h.
95456
95457         * lib/getline.c (getstr): Move into a separate file.
95458         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95459         the following changes: new parameter, delim2; both delim[12]
95460         parameters have type `int', not `char'.  The latter would lose
95461         with 8-bit delimiters.
95462         * lib/getstr.h: New file.
95463
95464 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95465
95466         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95467         than 1024, return a memory chunk of least possible size, instead
95468         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95469         Use free/xmalloc instead of xrealloc to avoid copying for very long
95470         paths.
95471
95472 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95473
95474         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95475         the empty string.
95476
95477 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95478
95479         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95480         address, not strdup.  Include <stdlib.h> and don't declare free().
95481
95482 2000-06-19  Jim Meyering  <meyering@lucent.com>
95483
95484         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95485
95486 2000-06-18  Jim Meyering  <meyering@lucent.com>
95487
95488         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95489
95490         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95491         `checking whether...' message to be consistent with that of the
95492         lstat test.
95493
95494 2000-06-18  Jim Meyering  <meyering@lucent.com>
95495
95496         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95497         Besides, these days every porting target provides a mkdir function.
95498
95499         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95500         needed. (this snippet comes from src/system.h).
95501
95502 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95503
95504         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95505
95506 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95507
95508         * lib/human.c (adjust_value): New function.
95509         (human_readable_inexact): Apply rounding style even when
95510         printing approximate values.
95511
95512 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95513
95514         * lib/human.c (human_readable_inexact): Allow an input block
95515         size that is not a multiple of the output block size, and vice versa.
95516         Reported by Piergiorgio Sartor.
95517
95518 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95519
95520         * lib/getdate.y (get_date): Apply relative times after time
95521         zone indicator, not before.  Reported by Todd A. Jacobs.
95522
95523 2000-06-13  Jim Meyering  <meyering@lucent.com>
95524
95525         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95526
95527         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95528
95529 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95530
95531         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95532
95533 2000-06-12  Jim Meyering  <meyering@lucent.com>
95534
95535         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95536         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95537         optional argument.
95538         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95539         the optional argument, `lib'.
95540
95541 2000-06-08  Jim Meyering  <meyering@lucent.com>
95542
95543         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95544
95545 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95546
95547         Rewrite largefile configuration so that we don't need to run
95548         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95549         AC_CANONICAL_HOST in configure.in -- jmm]
95550
95551         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95552         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95553         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95554         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95555         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95556         All uses changed.
95557         Instead of inspecting the output of getconf, try to compile the
95558         test program without and with the macro definition.
95559         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95560         for getconf.  Instead, check for the needed flags by compiling
95561         test programs.
95562
95563 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95564
95565         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95566
95567 2000-06-04  Jim Meyering  <meyering@lucent.com>
95568
95569         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95570         SunOS 4.1.4 for which gid_t is an unsigned type.
95571
95572 2000-06-03  Jim Meyering  <meyering@lucent.com>
95573
95574         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95575         now that autoconf requires that.
95576
95577         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95578         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95579         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95580
95581 2000-06-03  Jim Meyering  <meyering@lucent.com>
95582
95583         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95584
95585 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95586
95587         * m4/glibc21.m4: New file.
95588         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95589
95590 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95591
95592         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95593         newer, don't install charset.alias.
95594         * lib/config.charset: Change the Linux/glibc rules so they become empty
95595         on glibc-2.1 or newer.
95596
95597 2000-06-02  Jim Meyering  <meyering@lucent.com>
95598
95599         * lib/mountlist.c: Back out last change.  Instead, do this...
95600         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95601         me_dummy member using the same `ignore'-testing code.
95602         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95603         fs_type strings.
95604         From Mark D. Roth.
95605
95606 2000-05-29  Jim Meyering  <meyering@lucent.com>
95607
95608         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95609         mounts with the `ignore' attribute.  Based on a patch from
95610         Mark D. Roth.
95611
95612 2000-05-28  Jim Meyering  <meyering@lucent.com>
95613
95614         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95615         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95616         * m4/stat.m4: Likewise.
95617         * m4/lstat.m4: Likewise.
95618         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95619
95620         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95621         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95622
95623 2000-05-26  Jim Meyering  <meyering@lucent.com>
95624
95625         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95626
95627 2000-05-24  Jim Meyering  <meyering@lucent.com>
95628
95629         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95630         autoconf requires that.
95631         * m4/lib-check.m4: Likewise.
95632         * m4/jm-macros.m4: Likewise.
95633         * m4/strftime.m4: Likewise.
95634
95635         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95636         AC_CHECK_DECLS, now that autoconf requires that.
95637
95638 2000-05-22  Jim Meyering  <meyering@lucent.com>
95639
95640         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95641         * m4/lstat.m4: Likewise.
95642
95643 2000-05-22  Jim Meyering  <meyering@lucent.com>
95644
95645         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95646
95647 2000-05-20  Jim Meyering  <meyering@lucent.com>
95648
95649         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95650         (jm_PREREQ): Use it.
95651
95652 2000-05-18  Jim Meyering  <meyering@lucent.com>
95653
95654         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95655         back, too, since it may have been modified by allocate_entry.
95656         (hash_delete): Rewrite to use neither the assignment operator
95657         nor the comma operator in an if-expression.
95658
95659 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95660
95661         * lib/closeout.c:
95662         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
95663         Remove; no longer needed.
95664         "quotearg.h": Add include.
95665         (file_name): Do not bother to explicitly initialize to NULL; it's less
95666         efficient on some hosts.
95667         (close_stdout_status): Remove test as to whether stdout was already
95668         closed; it breaks for the case "echo x | sort >&-".
95669         Quote file name colons.
95670         Do not assume that _("write error") lacks format strings.
95671
95672 2000-05-15  Jim Meyering  <meyering@lucent.com>
95673
95674         * lib/version-etc.c (version_etc_copyright): Update the copyright
95675         string used in all --version output.
95676
95677 2000-05-14  Jim Meyering  <meyering@lucent.com>
95678
95679         * lib/closeout.c (close_stdout_set_file_name): New function.
95680         (close_stdout_status): Use new file-scoped global.
95681         Return right away if fstat says the stdout file descriptor is invalid.
95682         * lib/closeout.h (close_stdout_set_file_name): Declare.
95683
95684 2000-05-10  Jim Meyering  <meyering@lucent.com>
95685
95686         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95687         (close_stdout_set_status): New function.
95688         * lib/closeout.h (close_stdout_set_status): Declare.
95689
95690 2000-05-09  Jim Meyering  <meyering@lucent.com>
95691
95692         * m4/gettext.m4: Rename this...
95693         * m4/libintl.m4: ...to this.
95694
95695 2000-05-08  Jim Meyering  <meyering@lucent.com>
95696
95697         * lib/long-options.c: Don't include closeout.h.
95698         (parse_long_options): Don't call close_stdout for --version.
95699
95700 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95701
95702         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95703         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95704         2.1.3 bug.  This avoids a clash when files like regex.c define
95705         _GNU_SOURCE.
95706
95707 2000-05-06  Jim Meyering  <meyering@lucent.com>
95708
95709         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95710         (AC_REPLACE_FUNCS): Add strnlen.
95711
95712         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95713         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95714
95715         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95716         AC_SEARCH_LIBS call for nanosleep.
95717         (LIB_NANOSLEEP): Set and AC_SUBST.
95718
95719 2000-05-06  Jim Meyering  <meyering@lucent.com>
95720
95721         * lib/strnlen.c: Undefine __strnlen and strnlen.
95722         [!weak_alias]: Define __strnlen to strnlen.
95723
95724         * lib/atexit.c: New file, from libiberty.
95725
95726 2000-05-06  Jim Meyering  <meyering@lucent.com>
95727
95728         * lib/closeout.c (close_stdout_status): Also check for errors on the
95729         stderr stream.
95730
95731 2000-05-05  Jim Meyering  <meyering@lucent.com>
95732
95733         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95734         AC_SEARCH_LIBS call for clock_gettime.
95735         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95736
95737         * m4/search-libs.m4: Update from autoconf.
95738
95739         su doesn't work on Solaris 2.6.
95740         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95741         <shadow.h>.  Reported by Dragos Harabor.
95742
95743 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95744
95745         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95746         memcpy instead of xmalloc, xrealloc, path_concat.
95747         (locale_charset): Treat empty environment variables as absent.
95748         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95749
95750 2000-05-04  Jim Meyering  <meyering@lucent.com>
95751
95752         * lib/getopt.c: Update from glibc.
95753         * lib/obstack.c: Likewise.
95754         * lib/obstack.h: Likewise.
95755         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95756         file
95757
95758         * lib/regex.h: Likewise.
95759         * lib/strndup.c: Likewise.
95760         * lib/strnlen.c: New file, from glibc.
95761
95762 2000-05-03  Jim Meyering  <meyering@lucent.com>
95763
95764         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95765
95766 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95767
95768         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95769         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95770         compile-time test, rather than inspecting host and OS, to
95771         decide whether to define _LARGEFILE_SOURCE.
95772
95773 2000-05-01  Jim Meyering  <meyering@lucent.com>
95774
95775         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95776
95777         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95778         Based on a patch from Bruno Haible.
95779
95780 2000-05-01  Jim Meyering  <meyering@lucent.com>
95781
95782         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95783
95784 2000-04-29  Jim Meyering  <meyering@lucent.com>
95785
95786         * lib/path-concat.c: Declare strdup only if it's not defined.
95787         * lib/canon-host.c: Likewise.
95788
95789 2000-04-28  Jim Meyering  <meyering@lucent.com>
95790
95791         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95792         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95793         is included first, then limits.h is included by locale.h by libintl.h.
95794         From John David Anglin.
95795
95796 2000-04-25  Jim Meyering  <meyering@lucent.com>
95797
95798         * lib/makepath.c (S_IRWXUGO): Define.
95799         (make_path): Always perform explicit chmod if MODE specifies any
95800         of the `special' permission bits.  Prompted by a bug report against
95801         install from Mate Wierdl and Joost van Baal.
95802
95803 2000-04-18  Jim Meyering  <meyering@lucent.com>
95804
95805         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95806         (jm_PREREQ): Use it.
95807
95808 2000-04-18  Jim Meyering  <meyering@lucent.com>
95809
95810         * lib/README: New file.
95811
95812         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95813         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95814
95815 2000-04-17  Jim Meyering  <meyering@lucent.com>
95816
95817         Get it right :-)
95818         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95819         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95820         Suggestion from Akim Demaille.
95821
95822 2000-04-17  Jim Meyering  <meyering@lucent.com>
95823
95824         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95825         the definition of it to rpl_strftime also defined-away the system's
95826         declaration.
95827
95828 2000-04-15  Jim Meyering  <meyering@lucent.com>
95829
95830         Use `C' to denote so-called `contiguous' files, the same way
95831         that tar does.
95832         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95833         (ftypelet): Use S_ISCTG.
95834         From Michael Deutschmann.
95835
95836 2000-04-14  Jim Meyering  <meyering@lucent.com>
95837
95838         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95839         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95840         clobbered.
95841
95842 2000-04-14  Jim Meyering  <meyering@lucent.com>
95843
95844         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95845
95846 2000-04-13  Jim Meyering  <meyering@lucent.com>
95847
95848         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95849         AH_VERBATIM to insert required #ifndef into config.h.in.
95850         Suggestion from Akim Demaille.
95851
95852 2000-04-12  Jim Meyering  <meyering@lucent.com>
95853
95854         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95855         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95856         Christian Krackowizer.
95857
95858         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95859         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95860         (AC_SYS_LARGEFILE): Require.
95861         (AM_C_PROTOTYPES): Require.
95862
95863 2000-04-08  Jim Meyering  <meyering@lucent.com>
95864
95865         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95866         names don't conflict.  Reported by Eli Zaretskii.
95867
95868 2000-04-07  Jim Meyering  <meyering@lucent.com>
95869
95870         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95871         sys/types.h, to work around system header problems on AIX 3.2.5.
95872         From Bruno Haible.
95873
95874 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95875
95876         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95877         bug.  Deal with the different error behavior of Irix iconv.
95878
95879 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95880
95881         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95882         IRIX if the installer said otherwise.
95883
95884 2000-04-05  Jim Meyering  <meyering@lucent.com>
95885
95886         Portability tweaks required for ultrix4.3.
95887         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95888         (jm_CHECK_DECLS): Add getutent to the list of functions.
95889         (_jm_DECL_HEADERS): Add utmpx.h.
95890         From John David Anglin.
95891
95892         * m4/strftime.m4: Back out the 2000-04-02 change.
95893         Instead of that change, simply undefine putenv in the test program.
95894
95895 2000-04-05  Jim Meyering  <meyering@lucent.com>
95896
95897         Portability tweaks required for ultrix4.3.
95898         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95899         getutent.
95900         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95901         * lib/canon-host.c: Declare strdup.
95902         * lib/path-concat.c: Likewise.
95903         From John David Anglin.
95904
95905 2000-04-04  Jim Meyering  <meyering@lucent.com>
95906
95907         Be more DOS 8.3-friendly.
95908         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95909         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95910         * lib/Makefile.am: Reflect renaming.
95911         Reported by Eli Zaretskii.
95912
95913         Use a temporary file name that won't clash with `charset.alias'
95914         in the DOS 8.3 name space.
95915         * lib/Makefile.am (charset_tmp): Define.
95916         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95917         (uninstall-local): Likewise.
95918         Reported by Eli Zaretskii.
95919
95920 2000-04-03  Jim Meyering  <meyering@lucent.com>
95921
95922         * m4/gettext.m4: Fix typo in comment.
95923
95924         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95925         textutils/configure.in).  Suggestion from Paul Eggert.
95926         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95927
95928 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95929
95930         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95931         variable in the shell rather than using putenv, which isn't
95932         portable.  This avoids the configure-time inter-test dependency
95933         on the potentially-renamed putenv function.
95934
95935 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95936
95937         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95938         before checking struct stat.st_blksize, so that
95939         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95940
95941 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95942
95943         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95944         since strftime.c uses HAVE_STRFTIME to decide whether to use
95945         the underlying strftime.
95946
95947 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95948
95949         * lib/time/strftime.c (my_strftime): Make sure we call the system
95950         strftime, not ourselves, when invoking the underlying strftime.
95951
95952 2000-03-24  Jim Meyering  <meyering@lucent.com>
95953
95954         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95955         (charset_alias): Define.
95956         (install-exec-local): Factor out common code.
95957         (uninstall-local): Split lines longer than 80.
95958         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95959         (SUFFIXES): Define.
95960         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95961         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95962
95963 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95964
95965         * lib/config.charset: Output a line containing "Packages using this
95966         file".
95967         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95968         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95969         ref-del.sed): New rules.
95970
95971 2000-03-17  Jim Meyering  <meyering@lucent.com>
95972
95973         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95974         Otherwise, include <strings.h>
95975
95976 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95977
95978         * lib/unicodeio.c (utf8_wctomb): New function.
95979         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95980         format instead of in UCS-4 with platform dependent endianness.
95981
95982 2000-03-10  Jim Meyering  <meyering@lucent.com>
95983
95984         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95985         From Marco Franzen.
95986
95987 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95988
95989         * lib/savedir.c (savedir): Work even if directory size is
95990         negative; this can happen with some screwy NFS configurations.
95991
95992 2000-03-06  Jim Meyering  <meyering@lucent.com>
95993
95994         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
95995         if it's NULL (because we ran out of memory).  From Bruno Haible.
95996
95997 2000-03-05  Jim Meyering  <meyering@lucent.com>
95998
95999         * lib/localcharset.c ("path-concat.h"): Include.
96000         (get_charset_aliases): Use path_concat instead of ANSI string
96001         concatenation.
96002
96003         * lib/unicodeio.h (PARAMS): Define.
96004         Use it to guard prototype.
96005
96006 2000-03-04  Jim Meyering  <meyering@lucent.com>
96007
96008         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96009         for lib/localcharset.c.
96010
96011 2000-03-04  Jim Meyering  <meyering@lucent.com>
96012
96013         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96014         installing into it.
96015         (uninstall-local): Uncomment this rule so `make distcheck' works
96016         once again.
96017
96018         * lib/unicodeio.c (<errno.h>): Include it.
96019         (errno): Declare if not defined.
96020
96021         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96022
96023         * lib/config.charset: New version, incorporating remarks from a linux
96024         i18n mailing list.  From Bruno Haible.
96025
96026 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96027
96028         * m4/codeset.m4: New file.
96029         * m4/iconv.m4: New file.
96030         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96031
96032 2000-03-03  Jim Meyering  <meyering@lucent.com>
96033
96034         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96035
96036 2000-03-02  Jim Meyering  <meyering@lucent.com>
96037
96038         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96039         the messages come out on separate lines.
96040
96041         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96042         rather than jm_CHECK_DECLARATIONS.
96043         * m4/decl.m4: Remove now-unused file.
96044
96045         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96046         geteuid.
96047
96048 2000-03-02  Jim Meyering  <meyering@lucent.com>
96049
96050         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96051
96052 2000-03-01  Jim Meyering  <meyering@lucent.com>
96053
96054         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96055         * lib/unicodeio.c: Likewise.
96056
96057 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96058
96059         * lib/config.charset: New file.
96060         * lib/localcharset.c: New file.
96061         * lib/unicodeio.h, lib/unicodeio.c: New files.
96062         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96063         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96064         (noinst_HEADERS): Add unicodeio.h.
96065         (all-local, install-exec-local, charset.alias): New targets.
96066
96067 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96068
96069         * lib/quotearg.c (ALERT_CHAR): New macro.
96070         (quotearg_buffer_restyled): Use it.
96071
96072 2000-02-27  Jim Meyering  <meyering@lucent.com>
96073
96074         * m4/check-decl.m4: Add getenv to the list.
96075
96076 2000-02-27  Jim Meyering  <meyering@lucent.com>
96077
96078         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96079         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96080
96081         * lib/backupfile.c: Guard inclusion of stdlib.h with
96082         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96083         Declare malloc if needed.
96084
96085         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96086         `#ifndef HAVE_DECL..'
96087         now that autoconf always defines the HAVE_DECL_ symbols.
96088         * lib/human.c: Likewise.
96089         * lib/same.c: Likewise.
96090         * lib/strtoumax.c: Likewise.
96091
96092         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96093         declaration check was not run.
96094         * lib/hash.c: Likewise.
96095         * lib/human.c: Likewise.
96096         * lib/same.c: Likewise.
96097         * lib/strtoumax.c: Likewise.
96098
96099         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96100         `.', then first look up the entire `.'-containing string as a login
96101         name.
96102
96103 2000-02-23  Jim Meyering  <meyering@lucent.com>
96104
96105         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96106         in place of my hack.
96107
96108 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96109
96110         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96111         (textint): New typedef.
96112         (parser_control): Member year changed from int to textint.
96113         All uses changed.
96114         (YYSTYPE): Removed; replaced by %union with int and textint members.
96115         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96116         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96117         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96118         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96119         (date, number, to_year): Use width of number in digits, not its value,
96120         to determine whether it's a 2-digit year, or a 2-digit time.
96121         (yylex): Store number of digits of numeric tokens.
96122         Reported by John Kendall.
96123
96124         (parser_control): Changed from struct parser_control to typedef (for
96125         consistency).  All uses changed.
96126
96127         (tID): Removed; not used.
96128         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96129
96130 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96131
96132         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96133         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96134
96135 2000-02-12  Jim Meyering  <meyering@lucent.com>
96136
96137         * lib/userspec.c (ISDIGIT): Define it.
96138         (isdigit): Remove definition.
96139         (is_number): Use ISDIGIT, not isdigit.
96140         <libintl.h>: Include.
96141         (_ and N_): Define.
96142         (parse_user_spec): Mark translatable strings.
96143
96144 2000-02-10  Jim Meyering  <meyering@lucent.com>
96145
96146         With these changes, nanosleep.[ch] are finally enough like the other
96147         lib/* replacement files to compile on a few more losing systems.
96148
96149         * lib/nanosleep.h: Don't include config.h.
96150         Remove prototype from declaration of nanosleep.
96151         (PARAMS): Remove now-unneeded definition.
96152         * lib/nanosleep.c: #undef nanosleep.
96153         (rpl_nanosleep): Rename from nanosleep.
96154
96155 2000-02-10  Jim Meyering  <meyering@lucent.com>
96156
96157         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96158         gnu_nanosleep to rpl_nanosleep.
96159
96160 2000-02-09  Jim Meyering  <meyering@lucent.com>
96161
96162         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96163         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96164
96165 2000-02-08  Akim Demaille  <akim@epita.fr>
96166
96167         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96168         `[' and `]' and remove uses of `changequote'.
96169         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96170         (AC_SYS_LARGEFILE): Likewise.
96171         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96172         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96173         of changequote.
96174         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96175         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96176         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96177         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96178
96179 2000-02-05  Jim Meyering  <meyering@lucent.com>
96180
96181         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96182         Remove explicit use of AC_HEADER_TIME.  It is required by
96183         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96184         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96185         in autoconf whereby the expansion of the latter ended up preceding
96186         the expansion of its prerequisite, AC_HEADER_TIME.
96187         Reported by Volker Borchert.
96188
96189 2000-02-03  Jim Meyering  <meyering@lucent.com>
96190
96191         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96192
96193 2000-02-03  Jim Meyering  <meyering@lucent.com>
96194
96195         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96196         rather than with `#if HAVE_UTMPNAME'.
96197
96198 2000-02-02  Jim Meyering  <meyering@lucent.com>
96199
96200         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96201         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96202         Reported by Eli Zaretskii.
96203
96204 2000-02-01  Jim Meyering  <meyering@lucent.com>
96205
96206         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96207
96208 2000-01-31  Jim Meyering  <meyering@lucent.com>
96209
96210         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96211         functions.  Add the time.h and sys/time.h headers along with the
96212         AC_REQUIRE'ment of AC_HEADER_TIME.
96213
96214 2000-01-31  Jim Meyering  <meyering@lucent.com>
96215
96216         * lib/nanosleep.h (nanosleep): Guard declaration with
96217         `#if ! HAVE_DECL_NANOSLEEP'.
96218         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96219         the declaration in that vendor's sys/timers.h.
96220         Reported by Christian Krackowizer.
96221
96222         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96223         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96224         (ISPRINT): Likewise.
96225         Reported by Tom Tromey.
96226
96227 2000-01-30  Jim Meyering  <meyering@lucent.com>
96228
96229         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96230
96231         * m4/prereq.m4 (utmp_includes): Define.
96232         Check for ut_user and ut_name members in both struct utmpx
96233         and struct utmp.
96234
96235 2000-01-30  Jim Meyering  <meyering@lucent.com>
96236
96237         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96238         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96239         header files where only utmpx.ut_user is declared.
96240
96241         * lib/readutmp.h (UT_USER): Define.
96242
96243 2000-01-29  Jim Meyering  <meyering@lucent.com>
96244
96245         * m4/lib-check.m4: New file containing library-related checks from
96246         fileutils and sh-utils (textutils had none).
96247
96248 2000-01-28  Jim Meyering  <meyering@lucent.com>
96249
96250         * m4/perl.m4: Change format of warning message to look more like that
96251         from the missing script.  Suggestion from François Pinard.
96252
96253 2000-01-25  Jim Meyering  <meyering@lucent.com>
96254
96255         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96256         well as time.h in the compile check.
96257         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96258         Fix typo in cross-compiling case: s/yes/no/.
96259
96260 2000-01-23  Jim Meyering  <meyering@lucent.com>
96261
96262         * m4/jm-macros.m4: Move df-related tests here from
96263         fileutils/configure.in
96264
96265         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96266         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96267
96268         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96269         s/space/ac_fsusage_space/.
96270         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96271
96272         * m4/ftruncate.m4: New file (derived from part of
96273         fileutils/configure.in).
96274         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96275         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96276
96277         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96278         AC_SUBST these here, rather than just in sh-util/configure.in, so
96279         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96280         all the same.
96281         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96282         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96283         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96284         (AC_SUBST(POW_LIBM)): Likewise.
96285         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96286
96287 2000-01-23  Jim Meyering  <meyering@lucent.com>
96288
96289         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96290         obstack.c.
96291
96292 2000-01-22  Jim Meyering  <meyering@lucent.com>
96293
96294         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96295
96296         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96297
96298         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96299         configure.in
96300         (AC_CHECK_HEADERS): Likewise for sh-utils.
96301         (AC_CHECK_HEADERS): Likewise for textutils.
96302         Merge the three lists of headers.
96303
96304         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96305         from fileutils' configure.in.
96306
96307         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96308         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96309         check-decl.m4.
96310
96311         * m4/check-decl.m4: Use #if rather than #ifdef.
96312         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96313         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96314         (_jm_DECL_HEADERS): Define new function.
96315         (jm_CHECK_DECLARATIONS): Require it.
96316
96317 2000-01-22  Jim Meyering  <meyering@lucent.com>
96318
96319         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96320         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96321         Required for some AIX systems.  Reported by Christian Krackowizer.
96322         [TESTING] (main): New function.
96323
96324         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96325         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96326         letters.
96327
96328         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96329         iswprint.
96330
96331         * lib/strverscmp.c (ISDIGIT): Define.
96332         (strverscmp): Use ISDIGIT, not isdigit.
96333
96334 2000-01-19  Jim Meyering  <meyering@lucent.com>
96335
96336         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96337         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96338         defines `struct timespec' in <sys/time.h>
96339
96340         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96341         Thanks to Akim for explaining.
96342
96343 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96344
96345         * lib/nanosleep.c (nanosleep):
96346         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96347         POSIX.1 doesn't require SA_INTERRUPT and some systems
96348         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96349         it's been part of POSIX.1 since day 1 (in 1988).
96350
96351 2000-01-17  Jim Meyering  <meyering@lucent.com>
96352
96353         * lib/interlock: Remove unused file.  Reported by François Pinard.
96354
96355 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96356
96357         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96358         alert, backslash, formfeed, and vertical tab unnecessarily in
96359         shell quoting style.
96360
96361 2000-01-16  Jim Meyering  <meyering@lucent.com>
96362
96363         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96364         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96365         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96366         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96367
96368 2000-01-16  Jim Meyering  <meyering@lucent.com>
96369
96370         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96371         because the latter didn't work.
96372
96373 2000-01-15  Jim Meyering  <meyering@lucent.com>
96374
96375         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96376         (AC_REPLACE_FUNCS): Add memcpy and memset.
96377         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96378         Add strpbrk.
96379         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96380
96381 2000-01-12  Jim Meyering  <meyering@lucent.com>
96382
96383         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96384         (jm_PREREQ): Use it.
96385         (jm_PREREQ_READUTMP): New macro.
96386         (jm_PREREQ): Use it.
96387
96388 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96389
96390         Quote multibyte characters correctly.
96391         * m4/c-bs-a.m4: New file.
96392         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96393         (jm_PREREQ): Use it.
96394
96395 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96396
96397         * m4/uintmax_t.m4: Port to autoconf 2.13.
96398
96399 2000-01-08  Jim Meyering  <meyering@ascend.com>
96400
96401         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96402         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96403
96404 2000-01-04  Jim Meyering  <meyering@ascend.com>
96405
96406         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96407         jm_STRUCT_DIRENT_D_TYPE.
96408         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96409         jm_STRUCT_DIRENT_D_INO.
96410         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96411         jm_STRUCT_UTIMBUF.
96412         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96413         renamings.
96414         * m4/utime.m4: Likewise.
96415
96416         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96417         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96418
96419 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96420
96421         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96422         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96423
96424 2000-01-02  Jim Meyering  <meyering@ascend.com>
96425
96426         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96427         remember if this is necessary.
96428
96429 1999-12-26  Jim Meyering  <meyering@ascend.com>
96430
96431         * m4/jm-macros.m4: Use it here.
96432         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96433
96434 1999-12-23  Jim Meyering  <meyering@ascend.com>
96435
96436         * m4/jm-macros.m4: Check for clock_gettime (moved from
96437         fileutils/configure.in)
96438         Check for gettimeofday.
96439
96440 1999-12-20  Jim Meyering  <meyering@ascend.com>
96441
96442         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96443         autoconf-2.14a-1999-12-20.
96444
96445 1999-12-19  Jim Meyering  <meyering@ascend.com>
96446
96447         * m4/lstat-slash.m4: New file.
96448         * m4/jm-macros.m4: Use the new macro:
96449         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96450
96451 1999-12-07  Jim Meyering  <meyering@ascend.com>
96452
96453         * m4/perl.m4: Require that File::Compare be available, too.
96454         Too many systems seem to lack it.
96455
96456         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96457         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96458
96459 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96460
96461         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96462         problem with the QNX 4.25 shell, which doesn't propagate exit
96463         status of failed commands inside shell assignments.
96464
96465 1999-11-17  Jim Meyering  <meyering@ascend.com>
96466
96467         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96468
96469 1999-11-07  Jim Meyering  <meyering@ascend.com>
96470
96471         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96472
96473 1999-11-06  Jim Meyering  <meyering@ascend.com>
96474
96475         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96476         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96477
96478 1999-11-05  Jim Meyering  <meyering@ascend.com>
96479
96480         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96481         configure.in of textutils, fileutils, and sh-utils into this one
96482         (shared between those packages) file.
96483         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96484         AC_STRUCT_ST_BLKSIZE.
96485
96486 1999-11-03  Jim Meyering  <meyering@ascend.com>
96487
96488         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96489         of AC_CHECK_TYPE checks includes unistd.h.
96490         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96491         Suggestion from Akim Demaille.
96492
96493 1999-10-30  Jim Meyering  <meyering@ascend.com>
96494
96495         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96496         m4-quoted string.
96497         * m4/ls-mntd-fs.m4: Likewise.
96498         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96499         * m4/jm-winsz1.m4: Likewise.
96500
96501         * m4/const.m4: Remove file, since the fix made it into the experimental
96502         version of autoconf.
96503         * m4/mktime.m4: Likewise.
96504
96505         * m4/check-type.m4: Remove file, now that the latest version of
96506         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96507
96508         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96509         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96510         AC_CHECK_TYPE.
96511
96512 1999-10-04  Jim Meyering  <meyering@ascend.com>
96513
96514         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96515
96516 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96517
96518         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96519         2.95.1 bug with HP-UX 10.20.
96520
96521 1999-09-17  Jim Meyering  <meyering@ascend.com>
96522
96523         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96524         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96525         due to missing strdup (against sh-utils-2.0).
96526
96527 1999-08-29  Jim Meyering  <meyering@ascend.com>
96528
96529         * m4/jm-macros.m4: Require jm_BISON.
96530         * m4/bison.m4: New file.
96531
96532 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96533
96534         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96535         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96536
96537 1999-08-05  Jim Meyering  <meyering@ascend.com>
96538
96539         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96540         to avoid conflicts with `conftest' on 8+3 filesystems.
96541         Suggestion from Eli Zaretskii.
96542
96543 1999-08-04  Jim Meyering  <meyering@ascend.com>
96544
96545         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96546         fileutils and sh-utils (textutils's getline test was inadequate).
96547         (AM_FUNC_GETLINE): Run this test.
96548         (AC_CHECK_FUNCS): Check for getdelim.
96549         Reported by Bob Proulx.
96550
96551 1999-08-02  Jim Meyering  <meyering@ascend.com>
96552
96553         * m4/jm-macros.m4: Add a comment.
96554
96555 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96556
96557         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96558         <inttypes.h> defines strtoumax as a macro (and not as a
96559         function).
96560
96561 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96562
96563         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96564         that we can shift, multiply and divide unsigned long long
96565         values; Ultrix cc can't do it.
96566
96567 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96568
96569         * m4/mktime.m4: New file, which is a preview of what should appear
96570         in the next public autoconf release.
96571
96572 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96573
96574         * m4/lfs.m4: Remove this file.
96575         * m4/largefile.m4: New file.  It contains the old contents of
96576         lfs.m4, except that all names with prefix AC_LFS have been
96577         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96578         compatible with future autoconf versions.  Also, some minor m4
96579         quoting problems have been fixed.
96580
96581 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96582
96583         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96584         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96585         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96586         and simplify the shell code.
96587
96588 1999-08-01  Jim Meyering  <meyering@ascend.com>
96589
96590         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96591         m4.
96592
96593 1999-07-20  Jim Meyering  <meyering@ascend.com>
96594
96595         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96596
96597 1999-07-15  Jim Meyering  <meyering@ascend.com>
96598
96599         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96600
96601 1999-05-22  Jim Meyering  <meyering@ascend.com>
96602
96603         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96604
96605 1999-05-20  Jim Meyering  <meyering@ascend.com>
96606
96607         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96608         Add a colon after each `then' in case $4 is empty.
96609
96610 1999-05-16  Jim Meyering  <meyering@ascend.com>
96611
96612         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96613
96614 1999-05-10  Jim Meyering  <meyering@ascend.com>
96615
96616         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96617
96618         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96619         AC_FUNC_MKTIME.
96620
96621 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96622
96623         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96624
96625 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96626
96627         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96628         not CPPFLAGS, so that linking works correctly in IRIX.
96629
96630 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96631
96632         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96633
96634 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96635
96636         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96637         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96638         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96639         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96640         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96641
96642         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96643
96644 1999-04-20  Jim Meyering  <meyering@ascend.com>
96645
96646         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96647         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96648         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96649
96650 1999-04-18  Jim Meyering  <meyering@ascend.com>
96651
96652         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96653         * m4/jm-macros.m4: Use it.
96654
96655 1999-04-06  Jim Meyering  <meyering@ascend.com>
96656
96657         * m4/strftime.m4: Remove test for %f.
96658
96659 1999-03-29  Jim Meyering  <meyering@ascend.com>
96660
96661         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
96662         superset of the AC_TYPE_* checks in the textutils, fileutils,
96663         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
96664         AC_TYPE_PID_T.
96665
96666 1999-03-28  Jim Meyering  <meyering@ascend.com>
96667
96668         * m4/jm-macros.m4: Define GNU_PACKAGE here.
96669         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
96670         replaced e.g., in the *.sh files of the sh-utils.
96671
96672 1999-03-20  Jim Meyering  <meyering@ascend.com>
96673
96674         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
96675         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
96676         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
96677
96678 1999-03-19  Jim Meyering  <meyering@ascend.com>
96679
96680         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
96681
96682 1999-03-12  Jim Meyering  <meyering@ascend.com>
96683
96684         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96685
96686 1999-03-07  Jim Meyering  <meyering@ascend.com>
96687
96688         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96689         declared.
96690
96691 1999-02-17  Jim Meyering  <meyering@ascend.com>
96692
96693         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96694         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96695
96696 1999-02-07  Jim Meyering  <meyering@ascend.com>
96697
96698         * m4/group-member.m4: New file -- extracted from sh-utils'
96699         configure.in.
96700
96701         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96702         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96703
96704 1999-02-06  Jim Meyering  <meyering@ascend.com>
96705
96706         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96707         * m4/fnmatch.m4: Likewise.
96708         * m4/getgroups.m4: Likewise.
96709         * m4/lstat.m4: Likewise.
96710         * m4/malloc.m4: Likewise.
96711         * m4/putenv.m4: Likewise.
96712         * m4/realloc.m4: Likewise.
96713         * m4/regex.m4: Likewise.
96714         * m4/stat.m4: Likewise.
96715         * m4/strftime.m4: Likewise.
96716         Suggestion from Alain Magloire.
96717
96718         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96719         * m4/fnmatch.m4: Likewise.
96720         * m4/getgroups.m4: Likewise.
96721         * m4/getline.m4: Likewise.
96722         * m4/lstat.m4: Likewise.
96723         * m4/malloc.m4: Likewise.
96724         * m4/memcmp.m4: Likewise.
96725         * m4/putenv.m4: Likewise.
96726         * m4/realloc.m4: Likewise.
96727         * m4/regex.m4: Likewise.
96728         * m4/stat.m4: Likewise.
96729         * m4/strftime.m4: Likewise.
96730         Suggestion from Alain Magloire.
96731
96732         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96733         an argument.
96734
96735         * m4/regex.m4: Add a run-time Test for proper operation of
96736         re_compile_pattern.
96737
96738 1999-01-31  Jim Meyering  <meyering@ascend.com>
96739
96740         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96741
96742 1999-01-30  Jim Meyering  <meyering@ascend.com>
96743
96744         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96745
96746         * m4/jm-mktime.m4: Make this a wrapper around the official
96747         AM_FUNC_MKTIME rather than my private copy, now that the official one
96748         is up to date.
96749         * m4/mktime.m4: Remove file.
96750
96751         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96752         * m4/uptime.m4: Likewise.
96753         * m4/uintmax_t.m4: Likewise.
96754
96755 1999-01-28  Jim Meyering  <meyering@ascend.com>
96756
96757         * m4/jm-macros.m4: Use jm_AFS.
96758         * m4/afs.m4: New file (from fileutils' configure.in).
96759
96760         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96761         * m4/chown.m4: Likewise.
96762         * m4/d-ino.m4: Likewise.
96763         * m4/d-type.m4: Likewise.
96764         * m4/fnmatch.m4: Likewise.
96765         * m4/getgroups.m4: Likewise.
96766         * m4/gettext.m4: Likewise.
96767         * m4/jm-mktime.m4: Likewise.
96768         * m4/jm-winsz2.m4: Likewise.
96769         * m4/lcmessage.m4: Likewise.
96770         * m4/ls-mntd-fs.m4: Likewise.
96771         * m4/malloc.m4: Likewise.
96772         * m4/memcmp.m4: Likewise.
96773         * m4/putenv.m4: Likewise.
96774         * m4/realloc.m4: Likewise.
96775         * m4/st_mtim.m4: Likewise.
96776         * m4/strftime.m4: Likewise.
96777
96778 1999-01-16  Jim Meyering  <meyering@ascend.com>
96779
96780         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96781         (ARGMATCH_DIE_DECL): Define.
96782
96783 1999-01-12  Jim Meyering  <meyering@ascend.com>
96784
96785         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96786         Reported by Lars Hecking.
96787
96788 1999-01-10  Jim Meyering  <meyering@ascend.com>
96789
96790         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96791         gross kludge.
96792         * m4/inttypes_h.m4: Likewise.
96793         * m4/lstat.m4: Likewise.
96794         * m4/malloc.m4: Likewise.
96795         * m4/readdir.m4: Likewise.
96796         * m4/realloc.m4: Likewise.
96797         * m4/st_dm_mode.m4: Likewise.
96798         * m4/stat.m4: Likewise.
96799         * m4/utimbuf.m4: Likewise.
96800         * m4/utimes.m4: Likewise.
96801
96802         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96803         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96804         comments in config.h.in are meaningful.
96805
96806         * m4/jm-macros.m4: Require autoconf-2.13 here.
96807
96808         * m4/regex.m4: By default, don't use the included regex.c on systems
96809         with glibc 2.  Suggestion from Uli Drepper.
96810
96811 1999-01-02  Jim Meyering  <meyering@ascend.com>
96812
96813         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96814
96815 1998-12-18  Jim Meyering  <meyering@ascend.com>
96816
96817         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96818         Based on a suggestion from Lars Hecking.
96819
96820 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96821
96822         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96823
96824 1998-11-16  Jim Meyering  <meyering@ascend.com>
96825
96826         * m4/lfs.m4: Double-quote the `uname...` expression.
96827
96828 1998-11-14  Jim Meyering  <meyering@ascend.com>
96829
96830         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96831         * m4/stat.m4: Likewise.
96832
96833 1998-11-03  Jim Meyering  <meyering@ascend.com>
96834
96835         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96836         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96837
96838 1998-10-18  Jim Meyering  <meyering@ascend.com>
96839
96840         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96841
96842 1998-10-17  Jim Meyering  <meyering@ascend.com>
96843
96844         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96845         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96846         calls for those previously hard-coded headers.  Instead, take a new
96847         parameter.
96848         (jm_CHECK_DECLARATIONS): Reflect interface change.
96849         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96850         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96851
96852         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96853
96854 1998-10-14  Jim Meyering  <meyering@ascend.com>
96855
96856         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96857         instead of "TZ=America/Vancouver".  From Paul Eggert.
96858
96859 1998-10-11  Jim Meyering  <meyering@ascend.com>
96860
96861         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96862         This adds a test for a recently added compatibility fix for mktime.c.
96863         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96864
96865 1998-09-27  Jim Meyering  <meyering@ascend.com>
96866
96867         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96868
96869         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96870         ../configure.in, including a change from Gordon Matzigkeit to allow
96871         cross-compiling for the Hurd.
96872
96873         * m4/glibc.m4: New file/macro to test for the GNU C Library
96874         versions 1 and 2.  From Gordon Matzigkeit.
96875         Indent.
96876
96877 1998-09-21  Jim Meyering  <meyering@ascend.com>
96878
96879         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96880
96881 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96882
96883         Port nanosecond-resolution times to UnixWare 2.1.2 and
96884         pedantic Solaris 2.6.
96885
96886         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96887         AC_STRUCT_ST_MTIM.
96888         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96889         Generate name of ns member, instead of just 1 or undef.
96890         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96891
96892 1998-08-15  Jim Meyering  <meyering@ascend.com>
96893
96894         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96895         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96896         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96897         instead of jm_TYPE_SSIZE_T.
96898
96899 1998-08-12  Jim Meyering  <meyering@ascend.com>
96900
96901         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96902
96903 1998-08-02  Jim Meyering  <meyering@ascend.com>
96904
96905         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96906         in acconfig.h manually.
96907
96908 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96909
96910         * m4/st_mtim.m4: New file.
96911
96912 1998-07-28  Jim Meyering  <meyering@ascend.com>
96913
96914         * m4/utimes.m4: Undef stat.
96915
96916 1998-07-25  Jim Meyering  <meyering@ascend.com>
96917
96918         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96919         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96920
96921 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96922
96923         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96924         uid and gid actually remain unchanged.
96925
96926 1998-07-07  Jim Meyering  <meyering@ascend.com>
96927
96928         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96929
96930 1998-07-04  Jim Meyering  <meyering@ascend.com>
96931
96932         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96933         to prove that this macro can be used in packages without regex.c.
96934
96935 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96936
96937         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96938         is to be used.
96939
96940 1998-07-03  Jim Meyering  <meyering@ascend.com>
96941
96942         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96943
96944         * m4/gettext.m4: New file -- from gettext-0.10.35.
96945         * m4/lcmessage.m4: Likewise.
96946         * m4/progtest.m4: Likewise.
96947
96948         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96949         * m4/jm-macros.m4: Require the new macro.
96950
96951 1998-06-29  Jim Meyering  <meyering@ascend.com>
96952
96953         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96954         for the definition of NGROUPS (used in a system header included
96955         by sys/mount.h).
96956
96957 1998-06-28  Jim Meyering  <meyering@ascend.com>
96958
96959         * m4/ls-mntd-fs.m4: New file.
96960         * m4/fstypename.m4: New file.
96961
96962         * m4/jm-macros.m4: Require the new macro.
96963         * m4/jm-glibc-io.m4: New file.
96964
96965 1998-05-19  Jim Meyering  <meyering@ascend.com>
96966
96967         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96968         * m4/lchown.m4: New file.
96969
96970         * m4/Makefile.am.in: New file.
96971         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96972
96973 1998-05-14  Jim Meyering  <meyering@ascend.com>
96974
96975         * m4/Makefile.am (EXTRA_DIST): Add them.
96976         * m4/jm-macros.m4: New file.
96977         * m4/utimbuf.m4: New file.
96978
96979 1998-05-12  Jim Meyering  <meyering@ascend.com>
96980
96981         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96982
96983 1998-05-11  Jim Meyering  <meyering@ascend.com>
96984
96985         * m4/isc-posix.m4: New file.
96986
96987 1998-05-10  Jim Meyering  <meyering@ascend.com>
96988
96989         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96990
96991 1998-05-09  Jim Meyering  <meyering@ascend.com>
96992
96993         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
96994         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
96995         with automake.
96996
96997         * m4/ssize_t.m4: New file.
96998         * m4/mktime.m4: Remove file -- the new automake has this now.
96999
97000 1998-04-26  Jim Meyering  <meyering@ascend.com>
97001
97002         * m4/assert.m4: New file.
97003         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97004
97005 1998-04-05  Jim Meyering  <meyering@ascend.com>
97006
97007         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97008         (jm_PREREQ): Use it here.
97009
97010 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97011
97012         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97013         in acconfig.h.
97014
97015 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97016
97017         * m4/prereq.m4: New file.
97018         * m4/error.m4: New file.
97019         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97020
97021 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97022
97023         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97024         cache-check for the same variable -- that defeated the purpose of
97025         the test; the test program was never run.  This was a problem only
97026         on systems with losing getline functions -- HP-UX 10.20 is one.
97027         Reported by Bjorn Helgaas.
97028
97029 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97030
97031         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97032
97033 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97034
97035         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97036
97037         * m4/const.m4: New file.  Use an initializer in this declaration
97038         typedef int charset[2]; const charset x;
97039         Reported by Bob Glickstein.
97040
97041 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97042
97043         * m4/chown.m4: Fix reversed types on -1 args to chown.
97044         From Kaveh Ghazi.
97045
97046 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97047
97048         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97049         Add lseek and memchr.
97050
97051         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97052         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97053         have a 20-character limit on names.
97054
97055 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97056
97057         * m4/inttypes_h.m4: New file.
97058         * m4/uintmax_t.m4: New file.
97059         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97060
97061
97062         -----
97063
97064         Local Variables:
97065         coding: utf-8
97066         End:
97067
97068         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97069
97070         Copying and distribution of this file, with or without
97071         modification, are permitted provided the copyright notice
97072         and this notice are preserved.