diff --git a/C/exec.c b/C/exec.c index accb949ac..9b1b7f8d0 100644 --- a/C/exec.c +++ b/C/exec.c @@ -1659,6 +1659,9 @@ JumpToEnv(Term t) { /* uncaught throw */ if (B == NULL) { B = B0; +#if PUSH_REGS + restore_absmi_regs(&standard_regs); +#endif siglongjmp(RestartEnv,1); } /* is it a continuation? */ diff --git a/C/sysbits.c b/C/sysbits.c index c565ff707..cb61b311c 100644 --- a/C/sysbits.c +++ b/C/sysbits.c @@ -30,13 +30,9 @@ static char SccsId[] = "%W% %G%"; #if _MSC_VER || defined(__MINGW32__) #define _WIN32_WINNT 0x0400 #endif -#include "Yap.h" +#include "absmi.h" #include "yapio.h" -#include "eval.h" -#include "Yatom.h" -#include "Heap.h" #include "alloc.h" -#include "tracer.h" #include #if STDC_HEADERS #include @@ -1089,6 +1085,9 @@ InteractSIGINT(int ch) { #if _MSC_VER || defined(__MINGW32__) /* don't even think about trying this */ #else +#if PUSH_REGS + restore_absmi_regs(&standard_regs); +#endif siglongjmp (RestartEnv, 1); #endif } diff --git a/console/yap.c b/console/yap.c index bd1907b93..65519b0a6 100644 --- a/console/yap.c +++ b/console/yap.c @@ -489,6 +489,7 @@ exec_top_level(int BootMode, char *filename) livegoal = YAP_FullLookupAtom("$live"); atomfalse = YAP_MkAtomTerm (YAP_LookupAtom("false")); while (YAP_GetValue (livegoal) != atomfalse) { + YAP_Reset(); do_top_goal (YAP_MkAtomTerm (livegoal)); } YAP_Exit(EXIT_SUCCESS); diff --git a/pl/errors.yap b/pl/errors.yap index fbe1b6dc0..6e8591d1e 100644 --- a/pl/errors.yap +++ b/pl/errors.yap @@ -35,7 +35,7 @@ fail. '$process_error'(abort) :- !, - '$format'(user_error,'[ Execution Aborted ]~n'). + '$format'(user_error,"[ Execution Aborted ]~n",[]). '$process_error'(error(Msg, Where)) :- !, '$set_fpu_exceptions', '$print_message'(error,error(Msg, Where)). @@ -180,6 +180,8 @@ print_message(Level, Mss) :- '$preprocess_stack'(Gs, NGs). '$beautify_hidden_goal'('$consult',1,prolog,ClNo,Gs,NGs) :- !, '$preprocess_stack'(Gs, NGs). +'$beautify_hidden_goal'('$reconsult',1,prolog,ClNo,Gs,NGs) :- !, + '$preprocess_stack'(Gs, NGs). '$beautify_hidden_goal'('$undefp',1,prolog,ClNo,Gs,NGs) :- !, '$preprocess_stack'(Gs, NGs). '$beautify_hidden_goal'('$consult',2,prolog,ClNo,Gs,[cl(consult,1,prolog,ClNo)|NGs]) :- !,