summaryrefslogtreecommitdiff
path: root/libguile/ramap.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/ramap.c')
-rw-r--r--libguile/ramap.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/libguile/ramap.c b/libguile/ramap.c
index c594828ff..5fe765624 100644
--- a/libguile/ramap.c
+++ b/libguile/ramap.c
@@ -2043,12 +2043,19 @@ scm_array_equal_p (SCM ra0, SCM ra1)
}
-
static void
init_raprocs (ra_iproc *subra)
{
for (; subra->name; subra++)
- subra->sproc = scm_symbol_binding (SCM_BOOL_F, scm_str2symbol (subra->name));
+ {
+ SCM sym = scm_str2symbol (subra->name);
+ SCM var =
+ scm_sym2var (sym, scm_current_module_lookup_closure (), SCM_BOOL_F);
+ if (var != SCM_BOOL_F)
+ subra->sproc = SCM_VARIABLE_REF (var);
+ else
+ subra->sproc = SCM_BOOL_F;
+ }
}