* acinclude.m4 (gl_CLOCK_TIME): If both clock_gettime and
clock_getcpuclockid are present without -lrt and -lposix4, don't add
any libs to LIB_CLOCK_GETTIME. Thanks to taylanbarirli@gmail.com.
* doc/ref/api-compound.texi
* doc/ref/api-evaluation.texi
* doc/ref/api-foreign.texi
* doc/ref/api-io.texi
* doc/ref/posix.texi
* doc/ref/srfi-modules.texi: Add missing parentheses and commas to definitions
of C functions.
* doc/ref/api-data.texi: Change from @deffn to @deftypefn for C function
with arguments not of SCM type.
* libguile/control.c:
* libguile/continuations.c: Fix for the case in which SCM_ALIGNED is not
defined. Though I wonder, perhaps we should just error out in those
cases.
This reverts parts of a0919aefee ("i18n:
Use Gnulib's `nl_langinfo' module.").
* module/ice-9/i18n.scm (define-simple-langinfo-mapping): Re-add
`default' parameter, and update users accordingly.
* module/language/tree-il/analyze.scm (format-string-argument-count):
Add support for ~h.
* test-suite/tests/tree-il.test ("warnings")["format"]("~h", "~:h with
locale object", "~:h without locale object"): New tests.
* doc/ref/misc-modules.texi (Formatted Output): Document ~h. Recommend
use of ~h instead of ~:d.
* module/ice-9/format.scm (format): Add support for ~h.
* test-suite/tests/format.test ("~h localized number"): New test prefix.
* test-suite/tests/i18n.test (%american-english-locale-name,
%american-english-locale): New variables.
(under-american-english-locale-or-unresolved): New procedure.
("format ~h"): New test prefix.
* configure.ac: Remove checks for <langinfo.h> and <nl_types.h>, and
`nl_langinfo'.
* libguile/i18n.c: Remove #ifdefs for HAVE_LANGINFO_H, HAVE_NL_TYPES_H,
HAVE_NL_ITEM, and HAVE_LANGINFO_CODESET.
(SCM_VALIDATE_OPTIONAL_LOCALE_COPY): Use `SCM_UNBNDP'.
* m4/gnulib-cache.m4 (gl_MODULES): Add `nl_langinfo'.
* module/ice-9/i18n.scm (define-vector-langinfo-mapping): Remove
`defaults' parameter; assume (provided? 'nl-langinfo) is always true.
Update users accordingly.
(define-simple-langinfo-mapping): Likewise.
(define-monetary-langinfo-mapping): Likewise, but do not assume
LOCAL-ITEM and INTL-ITEM are always defined.
This should help with regex portability, as reported in
<http://bugs.gnu.org/10684> for Darwin 8.11.
* m4/gnulib-cache.m4 (gl_MODULES): Add `regex'.
* configure.ac: Remove header checks for regex.h, rxposix.h, and
rx/rxposix.h. Remove check for the `regcomp' function. Remove
definition of `HAVE_REGCOMP'. Define `ENABLE_REGEX'.
* libguile/init.c: Check for `ENABLE_REGEX' instead of `HAVE_REGCOMP'.
* libguile/regex-posix.c: Always include <regex.h>. Remove #ifdefs for
rxposix.h and co.
* doc/ref/posix.texi (Network Databases): Update description of
`EAI_NODATA' to mention that Darwin provides it.
* libguile/net_db.c (scm_getaddrinfo): Likewise.
* test-suite/tests/net-db.test ("getaddrinfo")["wrong service name"]:
Accept `EAI_NODATA' too. Reported by David Fang <fang@csl.cornell.edu>,
see <http://bugs.gnu.org/10684>.
* test-suite/tests/i18n.test (under-turkish-utf8-locale-or-unresolved):
Add exception for Darwin 8. Reported by David Fang <fang@csl.cornell.edu>,
see <http://bugs.gnu.org/10684>.
* module/ice-9/boot-9.scm:
* module/ice-9/popen.scm:
* module/ice-9/pretty-print.scm:
* module/ice-9/r4rs.scm:
* module/rnrs/io/ports.scm:
* module/texinfo/string-utils.scm:
* module/web/http.scm:
* module/web/request.scm:
* module/web/response.scm:
* test-suite/vm/run-vm-tests.scm: Make the variable names in Scheme docstrings more
consistent. Replace a few instances of @var with @code when appropriate.
* libguile/load.c (search_path): When the provided 'filename' is an
absolute pathname, perform a 'stat' on that pathname to fill the
'stat_buf'. Previously, 'stat_buf' was left uninitialized in this
case, even though 'scm_primitive_load_path' assumes that 'stat_buf'
will be filled. Update the header comment to explicitly specify that
'stat_buf' will be filled. Also 'goto end' in a few failure cases
instead of replicating its code.
* libguile/foreign.h: Remove comment about the finalizer bit, as I don't
think that is the case any more.
* test-suite/tests/gc.test: Ignore flakiness in the gc-modules test.
Followup to 58f86505d6 ("Augment
`Libs.private' with for non-GNU platforms.").
Reported by Eli Zaretskii <eliz@gnu.org>.
* meta/guile-2.0-uninstalled.pc.in (Libs): Add all the optional
libraries, as done in commit 58f86505d6.
* test-suite/lib.scm (clear-stale-stack-references): New helper.
* test-suite/tests/gc.test:
* test-suite/tests/threads.test: Use the new helper.
I removed the "unresolved" throw, as I'd like to see what the bots do
with this.
Version 2.0.4 was pushed with the version info of 2.0.3, which is
incorrect. Version 2.0.5 fixes that.
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
(LIBGUILE_INTERFACE_CURRENT): Increment to account for new C functions
`scm_c_value_ref', `scm_call', etc.
(LIBGUILE_INTERFACE_AGE): Increment.
* module/ice-9/local-eval.scm (local-wrap): Fix the (module? e) case, to
reference the expression 'x' instead of the non-existent variable
'exp', as was previously done. Also use quasisyntax instead of
quasiquote, so that the introduced 'lambda' is an identifier instead
of a bare symbol, so that this will work in modules that have rebound
'lambda' to something else.
* test-suite/tests/eval.test (local-eval): Make sure to test both
'local-eval' and 'local-compile' when the specified environment is a
module.
Reported by Eli Zaretskii <eliz@gnu.org>.
* meta/guile-2.0.pc.in (Libs.private): Add all the optional libraries
that may be pulled via Gnulib on non-GNU platforms.
* libguile/i18n.c (scm_make_locale): Null out c_locale_name after it's
freed, so it doesn't get freed again. While this only has effect if
USE_GNU_LOCALE_API is unset, the nulling out happens in both cases,
to be consistent and robust.
(scm_nl_langinfo): Free c_result in all switch cases, in particular
P_SIGN_POSN, N_SIGN_POSN, INT_P_SIGN_POSN, and INT_N_SIGN_POSN.