diff --git a/src/mred/wxs/Makefile.in b/src/mred/wxs/Makefile.in index 7f7cc4be2a..9b072f3bcf 100644 --- a/src/mred/wxs/Makefile.in +++ b/src/mred/wxs/Makefile.in @@ -210,7 +210,7 @@ $(srcdir)/wxs_snip.cxx : $(srcdir)/wxs_snip.xc $(srcdir)/wxs_snip.xci $(srcdir) if [ "$(PERL)" = '' ] ; then touch $(srcdir)/wxs_snip.cxx ; else $(XCTOCXX) $(srcdir)/wxs_snip.xc ; fi $(srcdir)/wxs_styl.cxx : $(srcdir)/wxs_styl.xc $(XCDEPEND) if [ "$(PERL)" = '' ] ; then touch $(srcdir)/wxs_styl.cxx ; else $(XCTOCXX) $(srcdir)/wxs_styl.xc ; fi -$(srcdir)/wxs_tabc.cxx : $(srcdir)/wxs_tabc.xc $(srcdir)/range.xci $(srcdir)/wxs_item.xci $(LIST_DEPEND) $(XCDEPEND) +$(srcdir)/wxs_tabc.cxx : $(srcdir)/wxs_tabc.xc $(srcdir)/range.xci $(srcdir)/wxs_item.xci $(LIST_DEPEND) $(CB_DEPEND) $(XCDEPEND) if [ "$(PERL)" = '' ] ; then touch $(srcdir)/wxs_tabc.cxx ; else $(XCTOCXX) $(srcdir)/wxs_tabc.xc ; fi $(srcdir)/wxs_win.cxx : $(srcdir)/wxs_win.xc $(srcdir)/wxs_win.xci $(XCDEPEND) if [ "$(PERL)" = '' ] ; then touch $(srcdir)/wxs_win.cxx ; else $(XCTOCXX) $(srcdir)/wxs_win.xc ; fi diff --git a/src/mred/wxs/cb_end.xci b/src/mred/wxs/cb_end.xci index beae0f3e97..cbc0ee52b5 100644 --- a/src/mred/wxs/cb_end.xci +++ b/src/mred/wxs/cb_end.xci @@ -4,6 +4,7 @@ static void CB_TOSCHEME(CB_REALCLASS *realobj, wxCommandEvent *event) Scheme_Object *p[2]; Scheme_Class_Object *obj; mz_jmp_buf savebuf; + Scheme_Thread *thread; SETUP_VAR_STACK(4); VAR_STACK_PUSH(0, obj); VAR_STACK_PUSH(1, event); @@ -23,12 +24,14 @@ static void CB_TOSCHEME(CB_REALCLASS *realobj, wxCommandEvent *event) p[0] = (Scheme_Object *)obj; p[1] = WITH_VAR_STACK(objscheme_bundle_wxCommandEvent(event)); - COPY_JMPBUF(savebuf, scheme_error_buf); + thread = scheme_get_current_thread(); + COPY_JMPBUF(savebuf, *(thread->error_buf)); - if (!scheme_setjmp(scheme_error_buf)) + if (!scheme_setjmp(*(thread->error_buf))) WITH_VAR_STACK(scheme_apply_multi(((CALLBACKCLASS *)obj->primdata)->callback_closure, 2, p)); - COPY_JMPBUF(scheme_error_buf, savebuf); + thread = scheme_get_current_thread(); + COPY_JMPBUF(*(thread->error_buf), savebuf); READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs.xci b/src/mred/wxs/wxs.xci index a1546c8513..a2368edacc 100644 --- a/src/mred/wxs/wxs.xci +++ b/src/mred/wxs/wxs.xci @@ -20,7 +20,7 @@ @MACRO CHECKOKFORDC[p.who] = if (x

) { if (!x

->Ok()) WITH_VAR_STACK(scheme_arg_mismatch(, "bad bitmap: ", p[POFFSET+

])); if (BM_SELECTED(x

)) WITH_VAR_STACK(scheme_arg_mismatch(, "bitmap is already installed into a bitmap-dc%: ", p[POFFSET+

])); if (BM_IN_USE(x

)) WITH_VAR_STACK(scheme_arg_mismatch(, "bitmap is currently installed as a control label or pen/brush stipple: ", p[POFFSET+

])); } -@MACRO JMPDECL = mz_jmp_buf *savebuf, newbuf; -@MACRO SETJMP = savebuf = scheme_current_thread->error_buf; scheme_current_thread->error_buf = &newbuf; if (scheme_setjmp(newbuf)) { scheme_current_thread->error_buf = savebuf; scheme_clear_escape(); return; } -@MACRO SETJMPV[rv] = savebuf = scheme_current_thread->error_buf; scheme_current_thread->error_buf = &newbuf; if (scheme_setjmp(newbuf)) { scheme_current_thread->error_buf = savebuf; scheme_clear_escape(); return ; } -@MACRO RESETJMP = scheme_current_thread->error_buf = savebuf; +@MACRO JMPDECL = mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; +@MACRO SETJMP = ESCAPE_BLOCK(/*empty*/) +@MACRO SETJMPV[rv] = ESCAPE_BLOCK() +@MACRO RESETJMP = { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } diff --git a/src/mred/wxs/wxs_butn.cxx b/src/mred/wxs/wxs_butn.cxx index b0d373eb32..5135e6b212 100644 --- a/src/mred/wxs/wxs_butn.cxx +++ b/src/mred/wxs/wxs_butn.cxx @@ -169,18 +169,6 @@ os_wxButton::~os_wxButton() static Scheme_Object *os_wxButtonOnDropFile(int n, Scheme_Object *p[]); -#define ESCAPE_BLOCK(return_code) \ - thread = scheme_get_current_thread(); \ - savebuf = thread->error_buf; \ - thread->error_buf = &newbuf; \ - if (scheme_setjmp(newbuf)) \ - { \ - thread = scheme_get_current_thread(); \ - thread->error_buf = savebuf; \ - scheme_clear_escape(); \ - return return_code; \ - } - void os_wxButton::OnDropFile(epathname x0) { Scheme_Object *p[POFFSET+1] INIT_NULLED_ARRAY({ NULLED_OUT INA_comma NULLED_OUT }); @@ -203,17 +191,15 @@ void os_wxButton::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxButton::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; - p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; + p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); + ESCAPE_BLOCK(/*empty*/) + p[0] = (Scheme_Object *) ASSELF __gc_external; - ESCAPE_BLOCK(/*empty*/) - p[0] = (Scheme_Object *) ASSELF __gc_external; - - v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; - - READY_TO_RETURN; + v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } + + READY_TO_RETURN; } } @@ -242,15 +228,14 @@ Bool os_wxButton::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -286,15 +271,14 @@ Bool os_wxButton::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -364,13 +348,12 @@ void os_wxButton::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxButton::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -399,13 +382,12 @@ void os_wxButton::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxButton::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_chce.cxx b/src/mred/wxs/wxs_chce.cxx index c5e647f759..c35bbee46a 100644 --- a/src/mred/wxs/wxs_chce.cxx +++ b/src/mred/wxs/wxs_chce.cxx @@ -314,14 +314,13 @@ void os_wxChoice::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxChoice::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -352,15 +351,14 @@ Bool os_wxChoice::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -396,15 +394,14 @@ Bool os_wxChoice::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -474,13 +471,12 @@ void os_wxChoice::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxChoice::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -509,13 +505,12 @@ void os_wxChoice::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxChoice::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_ckbx.cxx b/src/mred/wxs/wxs_ckbx.cxx index 420c80e500..163099543c 100644 --- a/src/mred/wxs/wxs_ckbx.cxx +++ b/src/mred/wxs/wxs_ckbx.cxx @@ -195,14 +195,13 @@ void os_wxCheckBox::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCheckBox::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -233,15 +232,14 @@ Bool os_wxCheckBox::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -277,15 +275,14 @@ Bool os_wxCheckBox::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); - ESCAPE_BLOCK(1); + ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -355,13 +352,12 @@ void os_wxCheckBox::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCheckBox::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -390,13 +386,12 @@ void os_wxCheckBox::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCheckBox::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_cnvs.cxx b/src/mred/wxs/wxs_cnvs.cxx index f99a2d1d9c..94dae84abe 100644 --- a/src/mred/wxs/wxs_cnvs.cxx +++ b/src/mred/wxs/wxs_cnvs.cxx @@ -265,14 +265,13 @@ void os_wxCanvas::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -303,15 +302,14 @@ Bool os_wxCanvas::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); - ESCAPE_BLOCK(1); + ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -347,15 +345,14 @@ Bool os_wxCanvas::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -425,13 +422,12 @@ void os_wxCanvas::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -460,13 +456,12 @@ void os_wxCanvas::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -496,14 +491,13 @@ void os_wxCanvas::OnScroll(class wxScrollEvent* x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnScroll(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxScrollEvent(x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -533,14 +527,13 @@ void os_wxCanvas::OnChar(class wxKeyEvent* x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnChar(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -570,14 +563,13 @@ void os_wxCanvas::OnEvent(class wxMouseEvent* x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnEvent(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -606,13 +598,12 @@ void os_wxCanvas::OnPaint() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxCanvas::OnPaint(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_fram.cxx b/src/mred/wxs/wxs_fram.cxx index dc48426205..bc66fef37e 100644 --- a/src/mred/wxs/wxs_fram.cxx +++ b/src/mred/wxs/wxs_fram.cxx @@ -256,14 +256,13 @@ void os_wxFrame::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxFrame::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -294,15 +293,14 @@ Bool os_wxFrame::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -338,15 +336,14 @@ Bool os_wxFrame::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -416,13 +413,12 @@ void os_wxFrame::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxFrame::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -451,13 +447,12 @@ void os_wxFrame::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxFrame::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -624,13 +619,12 @@ Bool os_wxFrame::OnClose() SET_VAR_STACK(); READY_TO_RETURN; return ASSELF wxFrame::OnClose(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(0) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -664,14 +658,13 @@ void os_wxFrame::OnActivate(Bool x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxFrame::OnActivate(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = (x0 ? scheme_true : scheme_false); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_gage.cxx b/src/mred/wxs/wxs_gage.cxx index 652b17154f..c81a4da365 100644 --- a/src/mred/wxs/wxs_gage.cxx +++ b/src/mred/wxs/wxs_gage.cxx @@ -201,14 +201,13 @@ void os_wxsGauge::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxsGauge::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -239,15 +238,14 @@ Bool os_wxsGauge::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -283,15 +281,14 @@ Bool os_wxsGauge::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -361,13 +358,12 @@ void os_wxsGauge::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxsGauge::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -396,13 +392,12 @@ void os_wxsGauge::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxsGauge::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_item.cxx b/src/mred/wxs/wxs_item.cxx index f697f23c35..93cd19cb85 100644 --- a/src/mred/wxs/wxs_item.cxx +++ b/src/mred/wxs/wxs_item.cxx @@ -395,14 +395,13 @@ void os_wxMessage::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMessage::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -433,15 +432,14 @@ Bool os_wxMessage::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -477,15 +475,14 @@ Bool os_wxMessage::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -555,13 +552,12 @@ void os_wxMessage::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMessage::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -590,13 +586,12 @@ void os_wxMessage::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMessage::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_lbox.cxx b/src/mred/wxs/wxs_lbox.cxx index 148a9a4000..822552f62f 100644 --- a/src/mred/wxs/wxs_lbox.cxx +++ b/src/mred/wxs/wxs_lbox.cxx @@ -352,15 +352,14 @@ void os_wxListBox::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxListBox::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; - + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } + READY_TO_RETURN; } } @@ -390,15 +389,14 @@ Bool os_wxListBox::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -434,15 +432,14 @@ Bool os_wxListBox::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -512,13 +509,12 @@ void os_wxListBox::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxListBox::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -547,13 +543,12 @@ void os_wxListBox::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxListBox::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_madm.cxx b/src/mred/wxs/wxs_madm.cxx index d3170ea9c8..eafa31f257 100644 --- a/src/mred/wxs/wxs_madm.cxx +++ b/src/mred/wxs/wxs_madm.cxx @@ -307,14 +307,13 @@ void os_wxMediaCanvas::OnChar(class wxKeyEvent* x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnChar(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -344,14 +343,13 @@ void os_wxMediaCanvas::OnEvent(class wxMouseEvent* x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnEvent(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -380,13 +378,12 @@ void os_wxMediaCanvas::OnPaint() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnPaint(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -416,14 +413,13 @@ void os_wxMediaCanvas::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -454,15 +450,14 @@ Bool os_wxMediaCanvas::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -498,15 +493,14 @@ Bool os_wxMediaCanvas::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -576,13 +570,12 @@ void os_wxMediaCanvas::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -611,13 +604,12 @@ void os_wxMediaCanvas::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxMediaCanvas::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_panl.cxx b/src/mred/wxs/wxs_panl.cxx index 38f854f3c4..bf0302dcc4 100644 --- a/src/mred/wxs/wxs_panl.cxx +++ b/src/mred/wxs/wxs_panl.cxx @@ -223,14 +223,13 @@ void os_wxPanel::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxPanel::OnDropFile(x0); } else { - Scheme_Thread *thread; - mz_jmp_buf *savebuf, newbuf; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -261,15 +260,14 @@ Bool os_wxPanel::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -305,15 +303,14 @@ Bool os_wxPanel::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -383,13 +380,12 @@ void os_wxPanel::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxPanel::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -418,13 +414,12 @@ void os_wxPanel::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxPanel::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1162,14 +1157,13 @@ void os_wxDialogBox::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxDialogBox::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1200,15 +1194,14 @@ Bool os_wxDialogBox::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -1244,15 +1237,14 @@ Bool os_wxDialogBox::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -1322,13 +1314,12 @@ void os_wxDialogBox::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxDialogBox::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1357,13 +1348,12 @@ void os_wxDialogBox::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxDialogBox::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1392,13 +1382,12 @@ Bool os_wxDialogBox::OnClose() SET_VAR_STACK(); READY_TO_RETURN; return ASSELF wxDialogBox::OnClose(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(0) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -1432,14 +1421,13 @@ void os_wxDialogBox::OnActivate(Bool x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxDialogBox::OnActivate(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = (x0 ? scheme_true : scheme_false); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_rado.cxx b/src/mred/wxs/wxs_rado.cxx index 3f37de35e9..51b4ca672d 100644 --- a/src/mred/wxs/wxs_rado.cxx +++ b/src/mred/wxs/wxs_rado.cxx @@ -418,14 +418,13 @@ void os_wxRadioBox::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxRadioBox::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -456,15 +455,14 @@ Bool os_wxRadioBox::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -500,15 +498,14 @@ Bool os_wxRadioBox::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -578,13 +575,12 @@ void os_wxRadioBox::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxRadioBox::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -613,13 +609,12 @@ void os_wxRadioBox::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxRadioBox::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_slid.cxx b/src/mred/wxs/wxs_slid.cxx index 916c22ea44..6111a71fcb 100644 --- a/src/mred/wxs/wxs_slid.cxx +++ b/src/mred/wxs/wxs_slid.cxx @@ -189,14 +189,13 @@ void os_wxSlider::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxSlider::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -227,15 +226,14 @@ Bool os_wxSlider::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -271,15 +269,14 @@ Bool os_wxSlider::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -349,13 +346,12 @@ void os_wxSlider::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxSlider::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -384,13 +380,12 @@ void os_wxSlider::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxSlider::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_tabc.cxx b/src/mred/wxs/wxs_tabc.cxx index 7739e52891..f7d1e78d36 100644 --- a/src/mred/wxs/wxs_tabc.cxx +++ b/src/mred/wxs/wxs_tabc.cxx @@ -337,14 +337,13 @@ void os_wxTabChoice::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxTabChoice::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -375,15 +374,14 @@ Bool os_wxTabChoice::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -419,15 +417,14 @@ Bool os_wxTabChoice::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -497,13 +494,12 @@ void os_wxTabChoice::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxTabChoice::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -532,13 +528,12 @@ void os_wxTabChoice::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxTabChoice::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1191,14 +1186,13 @@ void os_wxGroupBox::OnDropFile(epathname x0) SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxGroupBox::OnDropFile(x0); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1229,15 +1223,14 @@ Bool os_wxGroupBox::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -1273,15 +1266,14 @@ Bool os_wxGroupBox::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -1351,13 +1343,12 @@ void os_wxGroupBox::OnSetFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxGroupBox::OnSetFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -1386,13 +1377,12 @@ void os_wxGroupBox::OnKillFocus() SET_VAR_STACK(); READY_TO_RETURN; ASSELF wxGroupBox::OnKillFocus(); } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mred/wxs/wxs_win.cxx b/src/mred/wxs/wxs_win.cxx index 5d54461bbb..19dabaad20 100644 --- a/src/mred/wxs/wxs_win.cxx +++ b/src/mred/wxs/wxs_win.cxx @@ -253,14 +253,13 @@ void os_wxWindow::OnDropFile(epathname x0) SET_VAR_STACK(); { READY_TO_RETURN; return; } } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_pathname((char *)x0)); ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+1, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -291,15 +290,14 @@ Bool os_wxWindow::PreOnEvent(class wxWindow* x0, class wxMouseEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxMouseEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -335,15 +333,14 @@ Bool os_wxWindow::PreOnChar(class wxWindow* x0, class wxKeyEvent* x1) SET_VAR_STACK(); return FALSE; } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; p[POFFSET+0] = WITH_VAR_STACK(objscheme_bundle_wxWindow(x0)); p[POFFSET+1] = WITH_VAR_STACK(objscheme_bundle_wxKeyEvent(x1)); ESCAPE_BLOCK(1) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+2, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } { Bool resval; @@ -413,13 +410,12 @@ void os_wxWindow::OnSetFocus() SET_VAR_STACK(); { READY_TO_RETURN; return; } } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } @@ -448,13 +444,12 @@ void os_wxWindow::OnKillFocus() SET_VAR_STACK(); { READY_TO_RETURN; return; } } else { - mz_jmp_buf *savebuf, newbuf; - Scheme_Thread *thread; + mz_jmp_buf *savebuf, newbuf; Scheme_Thread *thread; ESCAPE_BLOCK(/*empty*/) p[0] = (Scheme_Object *) ASSELF __gc_external; v = WITH_VAR_STACK(scheme_apply(method, POFFSET+0, p)); - thread->error_buf = savebuf; + { thread = scheme_get_current_thread(); thread->error_buf = savebuf; } READY_TO_RETURN; } diff --git a/src/mzscheme/include/scheme.h b/src/mzscheme/include/scheme.h index 97a478e7f7..da778d61d1 100644 --- a/src/mzscheme/include/scheme.h +++ b/src/mzscheme/include/scheme.h @@ -1099,10 +1099,12 @@ typedef struct Scheme_Thread { #endif typedef void (*Scheme_Kill_Action_Func)(void *); + #define ESCAPE_BLOCK(return_code) \ thread = scheme_get_current_thread(); \ savebuf = thread->error_buf; \ thread->error_buf = &newbuf; \ + thread = NULL; \ if (scheme_setjmp(newbuf)) \ { \ thread = scheme_get_current_thread(); \ @@ -1118,6 +1120,7 @@ typedef void (*Scheme_Kill_Action_Func)(void *); scheme_push_kill_action((Scheme_Kill_Action_Func)func, (void *)data); \ savebuf = thread->error_buf; \ thread->error_buf = &newbuf; \ + thread = NULL; \ if (scheme_setjmp(newbuf)) { \ scheme_pop_kill_action(); \ func(data); \ @@ -1126,7 +1129,8 @@ typedef void (*Scheme_Kill_Action_Func)(void *); # define END_ESCAPEABLE() \ thread = scheme_get_current_thread(); \ scheme_pop_kill_action(); \ - thread->error_buf = savebuf; } } + thread->error_buf = savebuf; \ + thread = NULL; } } /*========================================================================*/ diff --git a/src/mzscheme/src/cstartup.inc b/src/mzscheme/src/cstartup.inc index cab3ea02db..8682e99bec 100644 --- a/src/mzscheme/src/cstartup.inc +++ b/src/mzscheme/src/cstartup.inc @@ -1,24 +1,24 @@ { - static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,50,50,0,0,0,1,0,0,6,0,9,0, -16,0,20,0,25,0,28,0,33,0,40,0,47,0,60,0,64,0,69,0,78, + static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,51,50,0,0,0,1,0,0,6,0,9,0, +13,0,20,0,23,0,28,0,35,0,40,0,45,0,52,0,65,0,69,0,78, 0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,155,0, 177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,1,146, 1,215,1,4,2,92,2,137,2,142,2,162,2,53,3,73,3,124,3,190,3, 75,4,233,4,20,5,31,5,110,5,0,0,118,7,0,0,65,98,101,103,105, -110,29,11,11,66,100,101,102,105,110,101,63,97,110,100,64,108,101,116,42,62, -111,114,64,99,111,110,100,66,108,101,116,114,101,99,66,117,110,108,101,115,115, -72,112,97,114,97,109,101,116,101,114,105,122,101,63,108,101,116,64,119,104,101, -110,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,14,68, +110,29,11,11,63,108,101,116,66,100,101,102,105,110,101,62,111,114,64,108,101, +116,42,66,117,110,108,101,115,115,64,99,111,110,100,64,119,104,101,110,66,108, +101,116,114,101,99,72,112,97,114,97,109,101,116,101,114,105,122,101,63,97,110, +100,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,14,68, 35,37,107,101,114,110,101,108,11,29,94,2,14,68,35,37,112,97,114,97,109, 122,11,62,105,102,63,115,116,120,61,115,70,108,101,116,45,118,97,108,117,101, 115,61,120,73,108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,97,109, 98,100,97,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110, 45,107,101,121,61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,115,98, -10,35,11,8,181,219,94,159,2,16,35,35,159,2,15,35,35,16,20,2,3, -2,2,2,6,2,2,2,4,2,2,2,5,2,2,2,8,2,2,2,7,2, -2,2,9,2,2,2,10,2,2,2,11,2,2,2,12,2,2,97,36,11,8, -181,219,93,159,2,15,35,36,16,2,2,13,161,2,2,36,2,13,2,2,2, -13,97,10,11,11,8,181,219,16,0,97,10,37,11,8,181,219,16,0,13,16, +10,35,11,8,155,226,94,159,2,16,35,35,159,2,15,35,35,16,20,2,3, +2,2,2,4,2,2,2,10,2,2,2,5,2,2,2,6,2,2,2,7,2, +2,2,8,2,2,2,9,2,2,2,11,2,2,2,12,2,2,97,36,11,8, +155,226,93,159,2,15,35,36,16,2,2,13,161,2,2,36,2,13,2,2,2, +13,97,10,11,11,8,155,226,16,0,97,10,37,11,8,155,226,16,0,13,16, 4,35,29,11,11,2,2,11,18,98,64,104,101,114,101,8,31,8,30,8,29, 8,28,8,27,27,248,22,190,3,23,196,1,249,22,183,3,80,158,38,35,251, 22,73,2,17,248,22,88,23,200,2,12,249,22,63,2,1,248,22,90,23,202, @@ -26,16 +26,16 @@ 17,248,22,88,23,200,2,249,22,63,2,1,248,22,90,23,202,1,12,27,248, 22,65,248,22,190,3,23,197,1,28,248,22,71,23,194,2,20,15,159,36,35, 36,28,248,22,71,248,22,65,23,195,2,248,22,64,193,249,22,183,3,80,158, -38,35,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,4,248,22,65, +38,35,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,12,248,22,65, 23,202,1,11,18,100,10,8,31,8,30,8,29,8,28,8,27,16,4,11,11, -2,18,3,1,7,101,110,118,56,49,54,51,16,4,11,11,2,19,3,1,7, -101,110,118,56,49,54,52,27,248,22,65,248,22,190,3,23,197,1,28,248,22, +2,18,3,1,7,101,110,118,56,50,57,49,16,4,11,11,2,19,3,1,7, +101,110,118,56,50,57,50,27,248,22,65,248,22,190,3,23,197,1,28,248,22, 71,23,194,2,20,15,159,36,35,36,28,248,22,71,248,22,65,23,195,2,248, 22,64,193,249,22,183,3,80,158,38,35,250,22,73,2,20,248,22,73,249,22, 73,248,22,73,2,21,248,22,64,23,202,2,251,22,73,2,17,2,21,2,21, -249,22,63,2,6,248,22,65,23,205,1,18,100,11,8,31,8,30,8,29,8, -28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,49,54,54,16,4, -11,11,2,19,3,1,7,101,110,118,56,49,54,55,248,22,190,3,193,27,248, +249,22,63,2,5,248,22,65,23,205,1,18,100,11,8,31,8,30,8,29,8, +28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,50,57,52,16,4, +11,11,2,19,3,1,7,101,110,118,56,50,57,53,248,22,190,3,193,27,248, 22,190,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,248,22, 65,248,22,190,3,23,197,1,249,22,183,3,80,158,38,35,28,248,22,51,248, 22,184,3,248,22,64,23,198,2,27,249,22,2,32,0,89,162,8,44,36,42, @@ -49,7 +49,7 @@ 22,2,32,0,89,162,8,44,36,46,9,222,33,42,248,22,190,3,248,22,64, 201,248,22,65,198,27,248,22,65,248,22,190,3,196,27,248,22,190,3,248,22, 64,195,249,22,183,3,80,158,39,35,28,248,22,71,195,250,22,74,2,20,9, -248,22,65,199,250,22,73,2,11,248,22,73,248,22,64,199,250,22,74,2,5, +248,22,65,199,250,22,73,2,3,248,22,73,248,22,64,199,250,22,74,2,6, 248,22,65,201,248,22,65,202,27,248,22,65,248,22,190,3,23,197,1,27,249, 22,1,22,77,249,22,2,22,190,3,248,22,190,3,248,22,64,199,249,22,183, 3,80,158,39,35,251,22,73,1,22,119,105,116,104,45,99,111,110,116,105,110, @@ -61,12 +61,12 @@ 15,159,36,35,36,249,22,183,3,80,158,38,35,27,248,22,190,3,248,22,64, 23,198,2,28,249,22,151,8,62,61,62,248,22,184,3,248,22,88,23,197,2, 250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,250,22, -74,2,7,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202, +74,2,8,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202, 251,22,73,2,17,28,249,22,151,8,248,22,184,3,248,22,64,23,201,2,64, 101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,65,23, -201,1,249,22,63,2,7,248,22,65,23,203,1,99,8,31,8,30,8,29,8, -28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,49,56,57,16,4, -11,11,2,19,3,1,7,101,110,118,56,49,57,48,18,158,94,10,64,118,111, +201,1,249,22,63,2,8,248,22,65,23,203,1,99,8,31,8,30,8,29,8, +28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,51,49,55,16,4, +11,11,2,19,3,1,7,101,110,118,56,51,49,56,18,158,94,10,64,118,111, 105,100,8,47,27,248,22,65,248,22,190,3,196,249,22,183,3,80,158,38,35, 28,248,22,51,248,22,184,3,248,22,64,197,250,22,73,2,26,248,22,73,248, 22,64,199,248,22,88,198,27,248,22,184,3,248,22,64,197,250,22,73,2,26, @@ -78,28 +78,28 @@ 11,11,11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,2,9, 2,10,2,11,2,12,35,45,36,11,11,16,0,16,0,16,0,35,35,11,11, 11,16,0,16,0,16,0,35,35,16,11,16,5,93,2,13,20,15,159,35,35, -35,35,20,103,159,35,16,0,16,1,33,32,10,16,5,93,2,9,89,162,8, +35,35,20,103,159,35,16,0,16,1,33,32,10,16,5,93,2,7,89,162,8, 44,36,52,9,223,0,33,33,35,20,103,159,35,16,1,20,25,159,36,2,2, -2,13,16,0,11,16,5,93,2,12,89,162,8,44,36,52,9,223,0,33,34, +2,13,16,0,11,16,5,93,2,9,89,162,8,44,36,52,9,223,0,33,34, 35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93, -2,4,89,162,8,44,36,52,9,223,0,33,35,35,20,103,159,35,16,1,20, -25,159,36,2,2,2,13,16,1,33,36,11,16,5,93,2,6,89,162,8,44, +2,12,89,162,8,44,36,52,9,223,0,33,35,35,20,103,159,35,16,1,20, +25,159,36,2,2,2,13,16,1,33,36,11,16,5,93,2,5,89,162,8,44, 36,55,9,223,0,33,37,35,20,103,159,35,16,1,20,25,159,36,2,2,2, -13,16,1,33,38,11,16,5,93,2,11,89,162,8,44,36,57,9,223,0,33, +13,16,1,33,38,11,16,5,93,2,3,89,162,8,44,36,57,9,223,0,33, 41,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5, -93,2,8,89,162,8,44,36,52,9,223,0,33,43,35,20,103,159,35,16,1, -20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,5,89,162,8,44,36, +93,2,10,89,162,8,44,36,52,9,223,0,33,43,35,20,103,159,35,16,1, +20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,6,89,162,8,44,36, 53,9,223,0,33,44,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13, -16,0,11,16,5,93,2,10,89,162,8,44,36,54,9,223,0,33,45,35,20, -103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,7, +16,0,11,16,5,93,2,11,89,162,8,44,36,54,9,223,0,33,45,35,20, +103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,8, 89,162,8,44,36,57,9,223,0,33,46,35,20,103,159,35,16,1,20,25,159, -36,2,2,2,13,16,1,33,48,11,16,5,93,2,3,89,162,8,44,36,53, +36,2,2,2,13,16,1,33,48,11,16,5,93,2,4,89,162,8,44,36,53, 9,223,0,33,49,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16, 0,11,16,0,94,2,15,2,16,93,2,15,9,9,35,0}; EVAL_ONE_SIZED_STR((char *)expr, 2031); } { - static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,50,59,0,0,0,1,0,0,3,0,16,0, + static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,51,59,0,0,0,1,0,0,3,0,16,0, 21,0,38,0,53,0,71,0,87,0,97,0,115,0,135,0,151,0,169,0,200, 0,229,0,251,0,9,1,15,1,29,1,34,1,44,1,52,1,80,1,112,1, 157,1,202,1,226,1,9,2,11,2,68,2,158,3,199,3,33,5,137,5,241, @@ -343,12 +343,12 @@ EVAL_ONE_SIZED_STR((char *)expr, 5056); } { - static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,50,8,0,0,0,1,0,0,6,0,19,0, + static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,51,8,0,0,0,1,0,0,6,0,19,0, 34,0,48,0,62,0,76,0,111,0,0,0,254,0,0,0,65,113,117,111,116, 101,29,94,2,1,67,35,37,117,116,105,108,115,11,29,94,2,1,69,35,37, 110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,109,122, 11,29,94,2,1,68,35,37,101,120,112,111,98,115,11,29,94,2,1,68,35, -37,107,101,114,110,101,108,11,98,10,35,11,8,183,221,97,159,2,2,35,35, +37,107,101,114,110,101,108,11,98,10,35,11,8,157,228,97,159,2,2,35,35, 159,2,3,35,35,159,2,4,35,35,159,2,5,35,35,159,2,6,35,35,16, 0,159,35,20,103,159,35,16,1,65,98,101,103,105,110,16,0,83,158,41,20, 100,137,69,35,37,98,117,105,108,116,105,110,29,11,11,10,10,18,96,11,42, @@ -360,7 +360,7 @@ EVAL_ONE_SIZED_STR((char *)expr, 291); } { - static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,50,52,0,0,0,1,0,0,3,0,14,0, + static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,51,52,0,0,0,1,0,0,3,0,14,0, 41,0,47,0,60,0,74,0,96,0,122,0,134,0,152,0,172,0,184,0,200, 0,223,0,3,1,8,1,13,1,18,1,23,1,54,1,58,1,66,1,74,1, 82,1,185,1,230,1,250,1,29,2,64,2,98,2,108,2,155,2,165,2,172, diff --git a/src/mzscheme/src/schvers.h b/src/mzscheme/src/schvers.h index b5b2f279e3..295c71ae6e 100644 --- a/src/mzscheme/src/schvers.h +++ b/src/mzscheme/src/schvers.h @@ -13,12 +13,12 @@ consistently.) */ -#define MZSCHEME_VERSION "4.1.0.2" +#define MZSCHEME_VERSION "4.1.0.3" #define MZSCHEME_VERSION_X 4 #define MZSCHEME_VERSION_Y 1 #define MZSCHEME_VERSION_Z 0 -#define MZSCHEME_VERSION_W 2 +#define MZSCHEME_VERSION_W 3 #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y) #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)