mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 06:41:13 +02:00
* root.c (cwdr): Bugfix.
This commit is contained in:
parent
ac74fc22fb
commit
308277cbb4
1 changed files with 3 additions and 4 deletions
|
@ -210,6 +210,7 @@ cwdr (proc, a1, args, handler, stack_start)
|
||||||
old_winds = scm_dynwinds;
|
old_winds = scm_dynwinds;
|
||||||
scm_dowinds (SCM_EOL, scm_ilength (scm_dynwinds));
|
scm_dowinds (SCM_EOL, scm_ilength (scm_dynwinds));
|
||||||
#ifdef DEBUG_EXTENSIONS
|
#ifdef DEBUG_EXTENSIONS
|
||||||
|
SCM_DFRAME (old_rootcont) = scm_last_debug_frame;
|
||||||
scm_last_debug_frame = 0;
|
scm_last_debug_frame = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -218,10 +219,10 @@ cwdr (proc, a1, args, handler, stack_start)
|
||||||
|
|
||||||
scm_dowinds (old_winds, - scm_ilength (old_winds));
|
scm_dowinds (old_winds, - scm_ilength (old_winds));
|
||||||
SCM_REDEFER_INTS;
|
SCM_REDEFER_INTS;
|
||||||
scm_rootcont = old_rootcont;
|
|
||||||
#ifdef DEBUG_EXTENSIONS
|
#ifdef DEBUG_EXTENSIONS
|
||||||
scm_last_debug_frame = SCM_DFRAME (scm_rootcont);
|
scm_last_debug_frame = SCM_DFRAME (old_rootcont);
|
||||||
#endif
|
#endif
|
||||||
|
scm_rootcont = old_rootcont;
|
||||||
SCM_REALLOW_INTS;
|
SCM_REALLOW_INTS;
|
||||||
scm_ints_disabled = old_ints_disabled;
|
scm_ints_disabled = old_ints_disabled;
|
||||||
return answer;
|
return answer;
|
||||||
|
@ -285,9 +286,7 @@ scm_call_catching_errors (thunk, err_filter, closure)
|
||||||
SCM_DFRAME (scm_rootcont) = scm_last_debug_frame;
|
SCM_DFRAME (scm_rootcont) = scm_last_debug_frame;
|
||||||
#endif
|
#endif
|
||||||
i = setjmp (SCM_JMPBUF (scm_rootcont));
|
i = setjmp (SCM_JMPBUF (scm_rootcont));
|
||||||
#ifdef STACK_CHECKING
|
|
||||||
scm_stack_checking_enabled_p = SCM_STACK_CHECKING_P;
|
scm_stack_checking_enabled_p = SCM_STACK_CHECKING_P;
|
||||||
#endif
|
|
||||||
if (!i)
|
if (!i)
|
||||||
{
|
{
|
||||||
scm_gc_heap_lock = 0;
|
scm_gc_heap_lock = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue