Bruno Haible [Mon, 24 Jan 2011 02:56:02 +0000 (03:56 +0100)]
New module 'vma-iter'.
* lib/vma-iter.h: New file.
* lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
* modules/vma-iter: New file.
* lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
for get_rusage_as_via_iterator.
(vma_iterate_callback): New function.
(get_rusage_as_via_iterator): Rewritten to use vma_iterate.
* modules/get-rusage-as (Depends-on): Add vma-iter.
Paul Eggert [Sat, 22 Jan 2011 06:18:18 +0000 (22:18 -0800)]
getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
as they are needed only for configure's test case.
This removes two unnecessary symbols from config.h.
Eric Blake [Fri, 21 Jan 2011 16:17:38 +0000 (09:17 -0700)]
bootstrap: minor portability fixes
* build-aux/bootstrap (me): Use $me instead of $0 in functions.
(usage): Omit leading capital and trailing . on help phrases, per
GNU Coding Standards.
(check_versions, top level): Prefix messages with script name.
Bruno Haible [Fri, 21 Jan 2011 13:12:24 +0000 (14:12 +0100)]
uN_strstr: New unit tests.
* modules/unistr/u8-strstr-tests: New file.
* modules/unistr/u16-strstr-tests: New file.
* modules/unistr/u32-strstr-tests: New file.
* tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
* tests/unistr/test-u8-strstr.c: New file.
* tests/unistr/test-u16-strstr.c: New file.
* tests/unistr/test-u32-strstr.c: New file.
Pádraig Brady [Fri, 21 Jan 2011 08:47:51 +0000 (08:47 +0000)]
test-malloca: unset MALLOC_PERTURB_ to speed up test
* tests/test-malloca.c (main): Unset the environment variable
to greatly speed up the test.
* tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
* modules/malloca-tests: Depend on unsetenv.
Jim Meyering [Thu, 20 Jan 2011 07:47:24 +0000 (08:47 +0100)]
init.sh: insert space between each function name and "()"
* tests/init.sh: Make it a little easier to see that a function's
name is "warn_", and not "warn" when looking at the first part of
its definition: "warn_ ()". Suggested by Ralf Wildenhues.
Jim Meyering [Fri, 14 Jan 2011 08:43:00 +0000 (09:43 +0100)]
bootstrap: avoid failure when there is no .gitmodules file
": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
has been assigned to, even when its value is the empty string.
* build-aux/bootstrap (gnulib_path): Test explicitly for an empty
"$gnulib_path", rather than using ${gnulib_path=gnulib}.
Reported by John W. Eaton <jwe@gnu.org>.
Jim Meyering [Thu, 20 Jan 2011 08:35:37 +0000 (09:35 +0100)]
mountlist: clean up code formatting
* lib/mountlist.c (read_file_system_list): Split a long line,
correct bracing style, use NULL in place of "(struct statfs *)0",
don't parenthesize return value, add spaces around "=" and after
";-in-for-stmt".
Markus Duft [Thu, 20 Jan 2011 08:19:24 +0000 (09:19 +0100)]
mountlist: add support for Interix
* lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
Apply statvfs to all entries of /dev/fs.
* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
Jim Meyering [Thu, 20 Jan 2011 10:50:53 +0000 (11:50 +0100)]
maint.mk: improve the public-submodule-commit rule
* top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
to suppress printing of its commands... unless V=1.
Add git submodule's --quiet option to suppress printing of e.g.,
"Entering gnulib" output.
"cd" into $(srcdir) before running git submodule.
Bruno Haible [Thu, 20 Jan 2011 10:25:32 +0000 (11:25 +0100)]
include_next: Fix bug introduced on 2011-01-18.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
ac_cv_header_... variable if the second argument is not 'check'.
(gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
gl_NEXT_HEADERS_INTERNAL.
Jim Meyering [Fri, 14 Jan 2011 08:43:00 +0000 (09:43 +0100)]
bootstrap: avoid failure when there is no .gitmodules file
": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
has been assigned to, even when its value is the empty string.
* build-aux/bootstrap (gnulib_path): Test explicitly for an empty
"$gnulib_path", rather than using ${gnulib_path=gnulib}.
Reported by John W. Eaton <jwe@gnu.org>.
Eric Blake [Wed, 19 Jan 2011 17:12:12 +0000 (10:12 -0700)]
c-stack: assume stack overflow if SA_SIGINFO unsupported
* lib/c-stack.c (SIGACTION_WORKS): Rename...
(SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
sigaction will work.
(die): Assume stack overflow if siginfo doesn't work, to let Haiku
behavior match Linux.
* tests/test-c-stack.c (main): Prefer NULL for pointers.
Eric Blake [Wed, 19 Jan 2011 13:17:20 +0000 (06:17 -0700)]
binary-io: fix O_TEXT on Haiku
* modules/binary-io (Depends-on): Add fcntl-h.
* lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
than blindly undefining O_TEXT.
Reported by Scott McCreary.
Paul Eggert [Wed, 19 Jan 2011 06:38:10 +0000 (22:38 -0800)]
include_next: do not check for standard headers like stddef.h
I found this problem when modifying Emacs to use gnulib.
I noticed that it added HAVE_STDDEF_H to config.h, even though
gnulib always assumes <stddef.h> exists as per README and this
symbol is unnecessary.
* m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
gl_CHECK_NEXT_HEADERS used to contain. This makes 'configure' run
faster for headers like stddef.h that are known to exist.
(gl_CHECK_NEXT_HEADERS): Use it.
* m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
rather than gl_CHECK_NEXT_HEADERS.
* m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
* m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
Bruno Haible [Tue, 18 Jan 2011 19:11:59 +0000 (20:11 +0100)]
*printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
* tests/test-fprintf-posix3.c: Include "resource-ext.h".
(main): Perform test also when getrlimit and setrlimit don't exist or
when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
limiting the address space size using setrlimit, compare the address
space size before and after the the test.
* tests/test-dprintf-posix2.c: Likewise.
* tests/test-fprintf-posix3.sh: Update skip messages.
* tests/test-dprintf-posix2.sh: Likewise.
* modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
* modules/dprintf-posix-tests (Depends-on): Likewise.
Reported by Bruce Korb <bkorb@gnu.org> and
Gary V. Vaughan <gary@gnu.org>.
Paul Eggert [Tue, 18 Jan 2011 17:40:16 +0000 (09:40 -0800)]
strftime: remove dependencies on multibyte modules
strftime depended on mbrlen, mbsinit, and wchar, but these modules
are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
only if __osf__ is defined, and I suspect OSF doesn't need these
other modules. If my guess is wrong, we'll need to come up with a
variant of strftime that doesn't need the multibyte modules.
I discovered this problem when attempting modify Emacs to use the
strftime module. With the previous gnulib, this caused Emacs to
need 31 new files, ranging from lib/config.charset to
m4/wint_t.m4. This was overkill and I expect would be offputting
to the Emacs maintainers. After this change, only 6 new files are
needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
stdbool.m4, and tm_gmtoff.m4.
* lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
and do not check for wchar.h.
* modules/strftime (Files): Remove m4/mbstate_t.m4.
(Depends-on): Remove mbrlen, mbsinit, wchar.
Rob Vermaas [Wed, 12 Jan 2011 09:08:53 +0000 (10:08 +0100)]
save-cwd: no longer include "xgetcwd.h"
* lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
This avoids a compilation failure in projects that use save-cwd
without also using the xgetcwd module.
Paul Eggert [Wed, 12 Jan 2011 00:36:12 +0000 (16:36 -0800)]
ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
This is so that a program like Emacs, which needs only dtoastr,
does not have to bother with distributing and compiling ftoastr
and ldtoastr.
* MODULES.html.sh: Document these modules (ftoastr wasn't documented).
* modules/dtoastr, modules/ldtoastr: New files.
* modules/ftoastr: Now works just for 'float'.
(Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
(Makefile.am): Remove ftoastr.h (not needed and no effect),
dtoastr.c, ldtoastr.c.
Jim Meyering [Tue, 11 Jan 2011 20:41:41 +0000 (21:41 +0100)]
save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
There is no need to work around the lack of the fchdir function,
since gnulib can now provide a replacement when required.
* lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
* modules/save-cwd (Depends-on): Add fchdir.
Paul Eggert [Tue, 11 Jan 2011 18:42:55 +0000 (10:42 -0800)]
openat, save-cwd: avoid xmalloc
This removes a direct (but undocumented) dependency of openat on
xalloc, along with an indirect dependency via save-cwd. It also
removes a dependency of save-cwd on xgetcwd, and thereby
indirectly on xalloc. This change causes the openat substitute
to fall back on save_cwd when memory is tight, and for save_cwd to
fail instead of dying when memory is tight, but that's good enough.
* lib/openat-proc.c: Include stdlib.h (for malloc), not
xalloc.h (for xmalloc).
(openat_proc_name): Use malloc, not xmalloc.
* lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
* modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
Paul Eggert [Tue, 11 Jan 2011 18:26:56 +0000 (10:26 -0800)]
openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
This avoids heap allocation for file names whose lengths are in
the range 512..1023, with the upper bound increasing to at most
4031 depending on the platform's PATH_MAX. (We do not want
pathmax.h here as it might supply a non-constant PATH_MAX.)
* lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
Perhaps they should be moved to malloca.h?
(OPENAT_BUFFER_SIZE): Use them.
Bruno Haible [Sun, 9 Jan 2011 10:28:10 +0000 (11:28 +0100)]
New module 'unictype/property-changes-when-casemapped'.
* modules/unictype/property-changes-when-casemapped: New file.
* lib/unictype/pr_changes_when_casemapped.c: New file.
* lib/unictype/pr_changes_when_casemapped.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-casemapped-tests: New file.
* tests/unictype/test-pr_changes_when_casemapped.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:27:09 +0000 (11:27 +0100)]
New module 'unictype/property-changes-when-casefolded'.
* modules/unictype/property-changes-when-casefolded: New file.
* lib/unictype/pr_changes_when_casefolded.c: New file.
* lib/unictype/pr_changes_when_casefolded.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-casefolded-tests: New file.
* tests/unictype/test-pr_changes_when_casefolded.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:25:48 +0000 (11:25 +0100)]
New module 'unictype/property-changes-when-titlecased'.
* modules/unictype/property-changes-when-titlecased: New file.
* lib/unictype/pr_changes_when_titlecased.c: New file.
* lib/unictype/pr_changes_when_titlecased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-titlecased-tests: New file.
* tests/unictype/test-pr_changes_when_titlecased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:24:48 +0000 (11:24 +0100)]
New module 'unictype/property-changes-when-uppercased'.
* modules/unictype/property-changes-when-uppercased: New file.
* lib/unictype/pr_changes_when_uppercased.c: New file.
* lib/unictype/pr_changes_when_uppercased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-uppercased-tests: New file.
* tests/unictype/test-pr_changes_when_uppercased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:23:38 +0000 (11:23 +0100)]
New module 'unictype/property-changes-when-lowercased'.
* modules/unictype/property-changes-when-lowercased: New file.
* lib/unictype/pr_changes_when_lowercased.c: New file.
* lib/unictype/pr_changes_when_lowercased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-lowercased-tests: New file.
* tests/unictype/test-pr_changes_when_lowercased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:20:53 +0000 (11:20 +0100)]
New module 'unictype/property-case-ignorable'.
* modules/unictype/property-case-ignorable: New file.
* lib/unictype/pr_case_ignorable.c: New file.
* lib/unictype/pr_case_ignorable.h: New file, automatically generated
by gen-uni-tables.
* modules/unictype/property-case-ignorable-tests: New file.
* tests/unictype/test-pr_case_ignorable.c: New file, automatically
generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:18:42 +0000 (11:18 +0100)]
New module 'unictype/property-cased'.
* modules/unictype/property-cased: New file.
* lib/unictype/pr_cased.c: New file.
* lib/unictype/pr_cased.h: New file, automatically generated by
gen-uni-tables.
* modules/unictype/property-cased-tests: New file.
* tests/unictype/test-pr_cased.c: New file, automatically generated by
gen-uni-tables.
Karl Heuer [Sun, 9 Jan 2011 09:16:08 +0000 (10:16 +0100)]
useless-if-before-free: fix typo in --help and make the internal,
automatic version date update process work once again.
--help output contained a NUL character instead of the
backslash-zero that was intended. Also, the "must lie within
the first 8 lines" line is on line 9, and hence not getting
automatically updated.
* build-aux/useless-if-before-free: Fix the former by adding a
backslash, and the latter by condensing the three lines of what-it-does
to a single line, leaving one line of slack for the future.
Bruno Haible [Sun, 9 Jan 2011 09:11:05 +0000 (10:11 +0100)]
uniwidth/width: Fix width of U+1D173..U+1D17A.
* lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
symbolic_width, output_width_property_test): New functions.
(main): Invoke output_nonspacing_property, output_width_property_test.
* lib/uniwidth/width.c (nonspacing_table_data): Set bits for
U+1D173..U+1D17A.
* tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
1.
* modules/uniwidth/*: Bump version number of expected libunistring
version.
* modules/unilbrk/*: Likewise.
Bruno Haible [Sat, 8 Jan 2011 15:08:14 +0000 (16:08 +0100)]
unilbrk: Clarify gen-uni-tables.c code.
* lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
were mistakes in UAX #14 revision 22 that are corrected in revision 24.
Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
Pádraig Brady [Fri, 7 Jan 2011 01:25:06 +0000 (01:25 +0000)]
ignore-value: clarify some comments
* lib/ignore-value.h: Add Eric Blake as an author since
he rewrote the macros.
(ignore_value): Specify exactly when the GCC warn_unused_result
feature became available.
(ignore_ptr): Mention that ignore_value supports aggregates.
Eric Blake [Thu, 6 Jan 2011 22:41:16 +0000 (15:41 -0700)]
ignore-value: support aggregate types
Also has the advantage of avoiding problems with
gcc -Wbad-function-cast
* lib/ignore-value.h (ignore_value): Provide separate gcc
definition.
* modules/ignore-value-tests: New test module.
* tests/test-ignore-value.c: New test.
Eric Blake [Fri, 31 Dec 2010 19:36:15 +0000 (12:36 -0700)]
signal: work around Haiku issue with SIGBUS
* lib/siglist.h: Add comment.
* lib/sig2str.c (numname_table): Swap SIGBUS order, to match
strsignal's favoring of SIGSEGV.
* tests/test-signal.c (main): Avoid test failure.
* doc/posix-headers/signal.texi (signal.h): Document the issue.
Reported by Scott McCreary.
Pádraig Brady [Wed, 5 Jan 2011 11:09:52 +0000 (12:09 +0100)]
ignore-value: make ignore_value more generic; deprecate ignore_ptr
* lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
(ATTRIBUTE_DEPRECATED): Define.
(_ignore_case): New function.
(ignore_value): New macro, to replace the old function.
(ignore_ptr): Arrange for any use to evoke a deprecation warning.
* modules/ignore-value (Depends-on): Add stdint.
Bruce Korb [Tue, 4 Jan 2011 08:47:49 +0000 (09:47 +0100)]
git-version-gen: avoid a sub-shell
* build-aux/git-version-gen: Redirect stderr in `...` via
"exec 2>...", rather than via an added sub-shell.
[This commit is referenced from coreutils-8.9's gnulib submodule.]