summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/continuations.c4
-rw-r--r--libguile/debug.c2
-rw-r--r--libguile/debug.h4
-rw-r--r--libguile/eval.c18
-rw-r--r--libguile/gscm.c2
5 files changed, 17 insertions, 13 deletions
diff --git a/libguile/continuations.c b/libguile/continuations.c
index 521c09092..6acdb87a1 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -118,7 +118,7 @@ scm_make_cont (answer)
*dst++ = *src++;
#endif /* def CHEAP_CONTINUATIONS */
#ifdef DEBUG_EXTENSIONS
- SCM_DFRAME (cont) = last_debug_info_frame;
+ SCM_DFRAME (cont) = scm_last_debug_frame;
#endif
return cont;
}
@@ -185,7 +185,7 @@ scm_dynthrow (a)
#endif
#endif /* ndef CHEAP_CONTINUATIONS */
#ifdef DEBUG_EXTENSIONS
- last_debug_info_frame = SCM_DFRAME (cont);
+ scm_last_debug_frame = SCM_DFRAME (cont);
#endif
SCM_THROW_VALUE(cont) = val;
longjmp (SCM_JMPBUF (cont), 1);
diff --git a/libguile/debug.c b/libguile/debug.c
index dca6828af..b6adab747 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -529,7 +529,7 @@ scm_expr_stack (obj)
scm_debug_frame *frame;
long offset = 0;
if (SCM_UNBNDP (obj))
- frame = last_debug_info_frame;
+ frame = scm_last_debug_frame;
else
{
SCM_ASSERT (SCM_NIMP (obj), obj, SCM_ARG1, s_expr_stack);
diff --git a/libguile/debug.h b/libguile/debug.h
index ec1868c41..96a4ed0ad 100644
--- a/libguile/debug.h
+++ b/libguile/debug.h
@@ -127,7 +127,9 @@ typedef struct scm_debug_frame
scm_debug_info vect[1];
} scm_debug_frame;
-extern scm_debug_frame *last_debug_info_frame;
+#ifndef USE_THREADS
+extern scm_debug_frame *scm_last_debug_frame;
+#endif
#define SCM_TAILREC (1L << 10)
#define SCM_TRACED_FRAME (1L << 9)
diff --git a/libguile/eval.c b/libguile/eval.c
index 93d19af2f..1570a4592 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -1324,14 +1324,16 @@ SCM (*scm_ceval_ptr) (SCM exp, SCM env);
SCM (*scm_ceval_ptr) ();
#endif
-/* last_debug_info_frame contains a pointer to the last debugging
+/* scm_last_debug_frame contains a pointer to the last debugging
* information stack frame. It is accessed very often from the
* debugging evaluator, so it should probably not be indirectly
* addressed. Better to save and restore it from the current root at
* any stack swaps.
*/
-scm_debug_frame *last_debug_info_frame;
+#ifndef USE_THREADS
+scm_debug_frame *scm_last_debug_frame;
+#endif
/* scm_debug_eframe_size is the number of slots available for pseudo
* stack frames at each real stack frame.
@@ -1447,10 +1449,10 @@ SCM_CEVAL (x, env)
scm_debug_info vect[scm_debug_eframe_size];
scm_debug_info *info;
} debug;
- debug.prev = last_debug_info_frame;
+ debug.prev = scm_last_debug_frame;
debug.status = scm_debug_eframe_size;
debug.info = &debug.vect[0];
- last_debug_info_frame = (scm_debug_frame *) &debug;
+ scm_last_debug_frame = (scm_debug_frame *) &debug;
#endif
#ifdef EVAL_STACK_CHECKING
if (SCM_STACK_OVERFLOW_P ((SCM_STACKITEM *) &proc)
@@ -2305,7 +2307,7 @@ exit:
scm_ithrow (scm_i_exit_frame, scm_cons2 (t.arg1, proc, SCM_EOL), 0);
}
ret:
- last_debug_info_frame = debug.prev;
+ scm_last_debug_frame = debug.prev;
return proc;
#endif
}
@@ -2427,11 +2429,11 @@ SCM_APPLY (proc, arg1, args)
#ifdef DEBUG_EXTENSIONS
#ifdef DEVAL
scm_debug_frame debug;
- debug.prev = last_debug_info_frame;
+ debug.prev = scm_last_debug_frame;
debug.status = SCM_APPLYFRAME;
debug.vect[0].a.proc = proc;
debug.vect[0].a.args = SCM_EOL;
- last_debug_info_frame = &debug;
+ scm_last_debug_frame = &debug;
#else
if (SCM_DEBUGGINGP)
return scm_dapply (proc, arg1, args);
@@ -2622,7 +2624,7 @@ exit:
scm_ithrow (scm_i_exit_frame, scm_cons2 (arg1, proc, SCM_EOL), 0);
}
ret:
- last_debug_info_frame = debug.prev;
+ scm_last_debug_frame = debug.prev;
return proc;
#endif
}
diff --git a/libguile/gscm.c b/libguile/gscm.c
index e9c0369a9..994f10219 100644
--- a/libguile/gscm.c
+++ b/libguile/gscm.c
@@ -221,7 +221,7 @@ _eval_port (answer, toplvl, port, printp)
*/
SCM_BASE (scm_rootcont) = (SCM_STACKITEM *) & i;
#ifdef DEBUG_EXTENSIONS
- SCM_DFRAME (scm_rootcont) = last_debug_info_frame = 0;
+ SCM_DFRAME (scm_rootcont) = scm_last_debug_frame = 0;
#endif
saved_inp = scm_cur_inp;
i = setjmp (SCM_JMPBUF (scm_rootcont));