1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 17:50:29 +02:00

Merge branch 'master' into boehm-demers-weiser-gc

Conflicts:
	libguile/Makefile.am
	libguile/coop-defs.h
	libguile/gc-card.c
	libguile/gc-freelist.c
	libguile/gc-malloc.c
	libguile/gc-mark.c
	libguile/gc-segment.c
	libguile/gc.c
	libguile/gc.h
	libguile/gc_os_dep.c
	libguile/hashtab.c
	libguile/hashtab.h
	libguile/inline.h
	libguile/private-gc.h
	libguile/struct.c
	libguile/struct.h
	libguile/threads.c
	libguile/threads.h
	libguile/vectors.h
	libguile/weaks.h
	test-suite/tests/gc.test
This commit is contained in:
Ludovic Courtès 2008-09-10 23:09:30 +02:00
commit 6f03035fe8
298 changed files with 15438 additions and 3275 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1998,2000,2001,2002,2003,2004,2006,2007 Free Software Foundation, Inc.
/* Copyright (C) 1998,2000,2001,2002,2003,2004,2006,2007,2008 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -40,12 +40,25 @@ scm_t_bits scm_module_tag;
static SCM the_module;
static SCM the_root_module_var;
static SCM
the_root_module ()
{
if (scm_module_system_booted_p)
return SCM_VARIABLE_REF (the_root_module_var);
else
return SCM_BOOL_F;
}
SCM_DEFINE (scm_current_module, "current-module", 0, 0, 0,
(),
"Return the current module.")
#define FUNC_NAME s_scm_current_module
{
return scm_fluid_ref (the_module);
SCM curr = scm_fluid_ref (the_module);
return scm_is_true (curr) ? curr : the_root_module ();
}
#undef FUNC_NAME
@ -230,17 +243,6 @@ scm_env_top_level (SCM env)
SCM_SYMBOL (sym_module, "module");
static SCM the_root_module_var;
static SCM
the_root_module ()
{
if (scm_module_system_booted_p)
return SCM_VARIABLE_REF (the_root_module_var);
else
return SCM_BOOL_F;
}
SCM
scm_lookup_closure_module (SCM proc)
{