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

* init.c (scm_start_stack): Removed initialization of

scm_the_last_stack_var.

* backtrace.h: Declare scm_the_last_stack_var.

* backtrace.c: Define scm_the_last_stack_var.

* root.c (mark_root): Don't mark the_last_stack_var.

* root.h (scm_root_state): Removed the_last_stack_var.

* throw.c: Added #include "fluids.h"
(ss_handler): `the-last-stack' is now a fluid.

* (backtrace.h, backtrace.c, throw.c): Renamed the_last_stack_var
--> the_last_stack_fluid.

* backtrace.c: Added #include "fluids.h"
(scm_init_backtrace): Initialize `the-last-stack' to a fluid.
(scm_backtrace): `the-last-stack' is now a fluid.

* init.c (scm_boot_guile_1): Moved call to scm_init_backtrace
after scm_init_fluids.
This commit is contained in:
Mikael Djurfeldt 1997-11-29 10:49:18 +00:00
parent 8bb7f6466b
commit b6609fc78a
7 changed files with 27 additions and 11 deletions

View file

@ -55,6 +55,7 @@
#include "continuations.h"
#include "stackchk.h"
#include "stacks.h"
#include "fluids.h"
#include "throw.h"
@ -339,14 +340,14 @@ scm_internal_lazy_catch (tag, body, body_data, handler, handler_data)
/* scm_internal_stack_catch
Use this one if you want debugging information to be stored in
scm_the_last_stack_var on error. */
scm_the_last_stack_fluid on error. */
static SCM
ss_handler (void *data, SCM tag, SCM throw_args)
{
/* Save the stack */
SCM_SETCDR (scm_the_last_stack_var,
scm_make_stack (scm_cons (SCM_BOOL_T, SCM_EOL)));
scm_fluid_set_x (SCM_CDR (scm_the_last_stack_fluid),
scm_make_stack (scm_cons (SCM_BOOL_T, SCM_EOL)));
/* Throw the error */
return scm_throw (tag, throw_args);
}