summaryrefslogtreecommitdiff
path: root/libguile/debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/debug.c')
-rw-r--r--libguile/debug.c48
1 files changed, 22 insertions, 26 deletions
diff --git a/libguile/debug.c b/libguile/debug.c
index 42981bfe7..c5e7468db 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -260,17 +260,12 @@ SCM_DEFINE (scm_make_gloc, "make-gloc", 1, 1, 0,
"@var{env}.")
#define FUNC_NAME s_scm_make_gloc
{
-#if 1 /* Unsafe */
- if (SCM_CONSP (var))
- var = scm_cons (SCM_BOOL_F, var);
- else
-#endif
- SCM_VALIDATE_VARIABLE (1,var);
+ SCM_VALIDATE_VARIABLE (1,var);
if (SCM_UNBNDP (env))
env = scm_top_level_env (SCM_TOP_LEVEL_LOOKUP_CLOSURE);
else
SCM_VALIDATE_NULLORCONS (2,env);
- return scm_make_memoized (SCM_VARVCELL (var) + 1, env);
+ return scm_make_memoized (SCM_UNPACK (var) + scm_tc3_cons_gloc, env);
}
#undef FUNC_NAME
@@ -279,8 +274,9 @@ SCM_DEFINE (scm_gloc_p, "gloc?", 1, 0, 0,
"Return @code{#t} if @var{obj} is a gloc.")
#define FUNC_NAME s_scm_gloc_p
{
- return SCM_BOOL((SCM_MEMOIZEDP (obj)
- && (SCM_UNPACK(SCM_MEMOIZED_EXP (obj)) & 7) == 1));
+ return
+ SCM_BOOL (SCM_MEMOIZEDP (obj)
+ && ((SCM_UNPACK(SCM_MEMOIZED_EXP(obj))&7) == scm_tc3_cons_gloc));
}
#undef FUNC_NAME
@@ -623,23 +619,23 @@ scm_init_debug ()
scm_set_smob_print (scm_tc16_debugobj, debugobj_print);
#ifdef GUILE_DEBUG
- scm_sysintern ("SCM_IM_AND", SCM_IM_AND);
- scm_sysintern ("SCM_IM_BEGIN", SCM_IM_BEGIN);
- scm_sysintern ("SCM_IM_CASE", SCM_IM_CASE);
- scm_sysintern ("SCM_IM_COND", SCM_IM_COND);
- scm_sysintern ("SCM_IM_DO", SCM_IM_DO);
- scm_sysintern ("SCM_IM_IF", SCM_IM_IF);
- scm_sysintern ("SCM_IM_LAMBDA", SCM_IM_LAMBDA);
- scm_sysintern ("SCM_IM_LET", SCM_IM_LET);
- scm_sysintern ("SCM_IM_LETSTAR", SCM_IM_LETSTAR);
- scm_sysintern ("SCM_IM_LETREC", SCM_IM_LETREC);
- scm_sysintern ("SCM_IM_OR", SCM_IM_OR);
- scm_sysintern ("SCM_IM_QUOTE", SCM_IM_QUOTE);
- scm_sysintern ("SCM_IM_SET_X", SCM_IM_SET_X);
- scm_sysintern ("SCM_IM_DEFINE", SCM_IM_DEFINE);
- scm_sysintern ("SCM_IM_APPLY", SCM_IM_APPLY);
- scm_sysintern ("SCM_IM_CONT", SCM_IM_CONT);
- scm_sysintern ("SCM_IM_DISPATCH", SCM_IM_DISPATCH);
+ scm_define ("SCM_IM_AND", SCM_IM_AND);
+ scm_define ("SCM_IM_BEGIN", SCM_IM_BEGIN);
+ scm_define ("SCM_IM_CASE", SCM_IM_CASE);
+ scm_define ("SCM_IM_COND", SCM_IM_COND);
+ scm_define ("SCM_IM_DO", SCM_IM_DO);
+ scm_define ("SCM_IM_IF", SCM_IM_IF);
+ scm_define ("SCM_IM_LAMBDA", SCM_IM_LAMBDA);
+ scm_define ("SCM_IM_LET", SCM_IM_LET);
+ scm_define ("SCM_IM_LETSTAR", SCM_IM_LETSTAR);
+ scm_define ("SCM_IM_LETREC", SCM_IM_LETREC);
+ scm_define ("SCM_IM_OR", SCM_IM_OR);
+ scm_define ("SCM_IM_QUOTE", SCM_IM_QUOTE);
+ scm_define ("SCM_IM_SET_X", SCM_IM_SET_X);
+ scm_define ("SCM_IM_DEFINE", SCM_IM_DEFINE);
+ scm_define ("SCM_IM_APPLY", SCM_IM_APPLY);
+ scm_define ("SCM_IM_CONT", SCM_IM_CONT);
+ scm_define ("SCM_IM_DISPATCH", SCM_IM_DISPATCH);
#endif
scm_add_feature ("debug-extensions");