diff --git a/src/mred/wxs/Makefile.in b/src/mred/wxs/Makefile.in index 0b846e86ff..7f7cc4be2a 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)/wxs_item.xci $(LIST_DEPEND) $(XCDEPEND) +$(srcdir)/wxs_tabc.cxx : $(srcdir)/wxs_tabc.xc $(srcdir)/range.xci $(srcdir)/wxs_item.xci $(LIST_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/range.xci b/src/mred/wxs/range.xci index 42367e518a..d9d0807da0 100644 --- a/src/mred/wxs/range.xci +++ b/src/mred/wxs/range.xci @@ -1,5 +1,5 @@ #define THISOBJECT ((RANGECLASS *)((Scheme_Class_Object *)THEOBJ)->primdata) -@MACRO RANGERET[p.rv] = if ((x
< 0) || (x
>= THISOBJECT->Number())) return < 0) || (x >= THISOBJECT->Number())) { READY_TO_RETURN; return .scheme_void]
diff --git a/src/mred/wxs/wxs.xci b/src/mred/wxs/wxs.xci
index 848d7bd6fb..a1546c8513 100644
--- a/src/mred/wxs/wxs.xci
+++ b/src/mred/wxs/wxs.xci
@@ -5,7 +5,7 @@
@MACRO NOZERO[p] = if (!x ) x = -1;
@MACRO CHECKDCOK[p.who] = if (x && !x ->Ok()) WITH_VAR_STACK(scheme_arg_mismatch( ]));
-@MACRO CHECKVOIDABLEOK[p] = if (x && !x ->Ok()) return scheme_void;
+@MACRO CHECKVOIDABLEOK[p] = if (x && !x ->Ok()) { READY_TO_RETURN; return scheme_void; }
#ifdef wx_x
# define BM_SELECTED(map) ((map)->selectedTo)
diff --git a/src/mred/wxs/wxs_chce.cxx b/src/mred/wxs/wxs_chce.cxx
index 27a0093387..c35fe6661b 100644
--- a/src/mred/wxs/wxs_chce.cxx
+++ b/src/mred/wxs/wxs_chce.cxx
@@ -529,7 +529,7 @@ static Scheme_Object *os_wxChoiceSetSelection(int n, Scheme_Object *p[])
x0 = WITH_VAR_STACK(objscheme_unbundle_integer(p[POFFSET+0], "set-selection in choice%"));
- if ((x0 < 0) || (x0 >= THISOBJECT->Number())) return scheme_void;
+ if ((x0 < 0) || (x0 >= THISOBJECT->Number())) { READY_TO_RETURN; return scheme_void; }
WITH_VAR_STACK(((wxChoice *)((Scheme_Class_Object *)p[0])->primdata)->SetSelection(x0));
diff --git a/src/mred/wxs/wxs_cnvs.cxx b/src/mred/wxs/wxs_cnvs.cxx
index 3b740a57ea..8d239c19ba 100644
--- a/src/mred/wxs/wxs_cnvs.cxx
+++ b/src/mred/wxs/wxs_cnvs.cxx
@@ -183,7 +183,7 @@ static Scheme_Object *bundle_symset_orientation(int v) {
-// @ "get-scroll-units" : void GetScrollUnitsPerPage(int*,int*); : : / PANELREDIRECT[ FillZero(x0,x1); return scheme_void]
+// @ "get-scroll-units" : void GetScrollUnitsPerPage(int*,int*); : : / PANELREDIRECT[ FillZero(x0,x1); READY_TO_RETURN; return scheme_void]
@@ -843,7 +843,7 @@ static Scheme_Object *os_wxCanvasOnScroll(int n, Scheme_Object *p[])
x0 = WITH_VAR_STACK(objscheme_unbundle_wxScrollEvent(p[POFFSET+0], "on-scroll in canvas%", 0));
- if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { return scheme_void; }
+ if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { READY_TO_RETURN; return scheme_void; }
if (((Scheme_Class_Object *)p[0])->primflag)
WITH_VAR_STACK(((os_wxCanvas *)((Scheme_Class_Object *)p[0])->primdata)->wxCanvas::OnScroll(x0));
else
@@ -1035,7 +1035,7 @@ static Scheme_Object *os_wxCanvasWarpPointer(int n, Scheme_Object *p[])
x0 = WITH_VAR_STACK(objscheme_unbundle_integer_in(p[POFFSET+0], 0, 10000, "warp-pointer in canvas%"));
x1 = WITH_VAR_STACK(objscheme_unbundle_integer_in(p[POFFSET+1], 0, 10000, "warp-pointer in canvas%"));
- if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { return scheme_void; }
+ if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { READY_TO_RETURN; return scheme_void; }
WITH_VAR_STACK(((wxCanvas *)((Scheme_Class_Object *)p[0])->primdata)->WarpPointer(x0, x1));
@@ -1062,7 +1062,7 @@ static Scheme_Object *os_wxCanvasViewStart(int n, Scheme_Object *p[])
*x0 = (sbox_tmp = WITH_VAR_STACK(objscheme_unbox(p[POFFSET+0], "view-start in canvas%")), WITH_VAR_STACK(objscheme_unbundle_integer(sbox_tmp, "view-start in canvas%"", extracting boxed argument")));
*x1 = (sbox_tmp = WITH_VAR_STACK(objscheme_unbox(p[POFFSET+1], "view-start in canvas%")), WITH_VAR_STACK(objscheme_unbundle_integer(sbox_tmp, "view-start in canvas%"", extracting boxed argument")));
- if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { FillZero(x0,x1); return scheme_void; }
+ if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { FillZero(x0,x1); READY_TO_RETURN; return scheme_void; }
WITH_VAR_STACK(((wxCanvas *)((Scheme_Class_Object *)p[0])->primdata)->ViewStart(x0, x1));
@@ -1159,7 +1159,7 @@ static Scheme_Object *os_wxCanvasSetScrollbars(int n, Scheme_Object *p[])
} else
x8 = TRUE;
- if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { return scheme_void; }
+ if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { READY_TO_RETURN; return scheme_void; }
WITH_VAR_STACK(((wxCanvas *)((Scheme_Class_Object *)p[0])->primdata)->SetScrollbars(x0, x1, x2, x3, x4, x5, x6, x7, x8));
@@ -1186,7 +1186,7 @@ static Scheme_Object *os_wxCanvasGetVirtualSize(int n, Scheme_Object *p[])
*x0 = (sbox_tmp = WITH_VAR_STACK(objscheme_unbox(p[POFFSET+0], "get-virtual-size in canvas%")), WITH_VAR_STACK(objscheme_unbundle_integer(sbox_tmp, "get-virtual-size in canvas%"", extracting boxed argument")));
*x1 = (sbox_tmp = WITH_VAR_STACK(objscheme_unbox(p[POFFSET+1], "get-virtual-size in canvas%")), WITH_VAR_STACK(objscheme_unbundle_integer(sbox_tmp, "get-virtual-size in canvas%"", extracting boxed argument")));
- if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { FillZero(x0,x1); return scheme_void; }
+ if (CHECK_FOR_PANEL((wxObject *)((Scheme_Class_Object *)THEOBJ)->primdata)) { FillZero(x0,x1); READY_TO_RETURN; return scheme_void; }
WITH_VAR_STACK(((wxCanvas *)((Scheme_Class_Object *)p[0])->primdata)->GetVirtualSize(x0, x1));
diff --git a/src/mred/wxs/wxs_cnvs.xc b/src/mred/wxs/wxs_cnvs.xc
index 9dd9788d5f..acf0f5e550 100644
--- a/src/mred/wxs/wxs_cnvs.xc
+++ b/src/mred/wxs/wxs_cnvs.xc
@@ -77,13 +77,13 @@ static void wxSetResizeCorner(wxCanvas *c, Bool v)
@ "get-dc" : wxDC! GetDC();
-// @ "get-scroll-units" : void GetScrollUnitsPerPage(int*,int*); : : / PANELREDIRECT[ FillZero(x0,x1); return scheme_void]
-@ "get-virtual-size" : void GetVirtualSize(int*,int*); : : / PANELREDIRECT[FillZero(x0,x1); return scheme_void]
-@ "set-scrollbars" : void SetScrollbars(rint[0|10000],rint[0|10000],rint[0|10000],rint[0|10000],rint[1|10000],rint[1|10000],rint[0|10000]=0,rint[0|10000]=0,bool=TRUE); : : / PANELREDIRECT[return scheme_void]
+// @ "get-scroll-units" : void GetScrollUnitsPerPage(int*,int*); : : / PANELREDIRECT[ FillZero(x0,x1); READY_TO_RETURN; return scheme_void]
+@ "get-virtual-size" : void GetVirtualSize(int*,int*); : : / PANELREDIRECT[FillZero(x0,x1); READY_TO_RETURN; return scheme_void]
+@ "set-scrollbars" : void SetScrollbars(rint[0|10000],rint[0|10000],rint[0|10000],rint[0|10000],rint[1|10000],rint[1|10000],rint[0|10000]=0,rint[0|10000]=0,bool=TRUE); : : / PANELREDIRECT[READY_TO_RETURN; return scheme_void]
@ "show-scrollbars" : void EnableScrolling(bool,bool)
@ m "set-resize-corner" : void wxSetResizeCorner(bool)
-@ "view-start" : void ViewStart(int*,int*); : : / PANELREDIRECT[FillZero(x0,x1); return scheme_void]
-@ "warp-pointer" : void WarpPointer(rint[0|10000],rint[0|10000]); : : / PANELREDIRECT[return scheme_void]
+@ "view-start" : void ViewStart(int*,int*); : : / PANELREDIRECT[FillZero(x0,x1); READY_TO_RETURN; return scheme_void]
+@ "warp-pointer" : void WarpPointer(rint[0|10000],rint[0|10000]); : : / PANELREDIRECT[READY_TO_RETURN; return scheme_void]
@ "scroll" : void ScrollPercent(double,double);
@ "get-scroll-pos" : int GetScrollPos(SYM[orientation]);
@@ -94,7 +94,7 @@ static void wxSetResizeCorner(wxCanvas *c, Bool v)
@ "set-scroll-range" : void SetScrollRange(SYM[orientation], rint[0|10000]);
@ "set-scroll-page" : void SetScrollPage(SYM[orientation], rint[1|10000]);
-@ v "on-scroll" : void OnScroll(wxScrollEvent!); : JMPDECL/SETJMP/RESETJMP : / PANELREDIRECT[return scheme_void]
+@ v "on-scroll" : void OnScroll(wxScrollEvent!); : JMPDECL/SETJMP/RESETJMP : / PANELREDIRECT[READY_TO_RETURN; return scheme_void]
@ m "set-background-to-gray" : bool wxSetBackgroundToGray()
diff --git a/src/mred/wxs/wxs_dc.cxx b/src/mred/wxs/wxs_dc.cxx
index d3db8423db..255f3092c7 100644
--- a/src/mred/wxs/wxs_dc.cxx
+++ b/src/mred/wxs/wxs_dc.cxx
@@ -2256,7 +2256,7 @@ static Scheme_Object *os_wxDCDrawEllipse(int n, Scheme_Object *p[])
x2 = WITH_VAR_STACK(objscheme_unbundle_nonnegative_double(p[POFFSET+2], "draw-ellipse in dc<%>"));
x3 = WITH_VAR_STACK(objscheme_unbundle_nonnegative_double(p[POFFSET+3], "draw-ellipse in dc<%>"));
- if (x2 <= 0) return scheme_void;if (x3 <= 0) return scheme_void;DO_OK_CHECK(METHODNAME("dc<%>","draw-ellipse"))
+ if (x2 <= 0) { READY_TO_RETURN; return scheme_void; }if (x3 <= 0) { READY_TO_RETURN; return scheme_void; }DO_OK_CHECK(METHODNAME("dc<%>","draw-ellipse"))
WITH_VAR_STACK(((wxDC *)((Scheme_Class_Object *)p[0])->primdata)->DrawEllipse(x0, x1, x2, x3));
@@ -2396,7 +2396,7 @@ static Scheme_Object *os_wxDCDrawRoundedRectangle(int n, Scheme_Object *p[])
} else
x4 = -0.25;
- if (x2 <= 0) return scheme_void;if (x3 <= 0) return scheme_void;{ if (x4 < -0.5) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius must be no less than -0.5: ", p[POFFSET+4])); if (x4 > 0) { if (2 * x4 > x2) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius is more than half the width: ", p[POFFSET+4])); if (2 * x4 > x3) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius is more than half the height: ", p[POFFSET+4])); } }DO_OK_CHECK(METHODNAME("dc<%>","draw-rounded-rectangle"))
+ if (x2 <= 0) { READY_TO_RETURN; return scheme_void; }if (x3 <= 0) { READY_TO_RETURN; return scheme_void; }{ if (x4 < -0.5) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius must be no less than -0.5: ", p[POFFSET+4])); if (x4 > 0) { if (2 * x4 > x2) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius is more than half the width: ", p[POFFSET+4])); if (2 * x4 > x3) WITH_VAR_STACK(scheme_arg_mismatch(METHODNAME("dc<%>","draw-rounded-rectangle"), "radius is more than half the height: ", p[POFFSET+4])); } }DO_OK_CHECK(METHODNAME("dc<%>","draw-rounded-rectangle"))
WITH_VAR_STACK(((wxDC *)((Scheme_Class_Object *)p[0])->primdata)->DrawRoundedRectangle(x0, x1, x2, x3, x4));
@@ -2424,7 +2424,7 @@ static Scheme_Object *os_wxDCDrawRectangle(int n, Scheme_Object *p[])
x2 = WITH_VAR_STACK(objscheme_unbundle_nonnegative_double(p[POFFSET+2], "draw-rectangle in dc<%>"));
x3 = WITH_VAR_STACK(objscheme_unbundle_nonnegative_double(p[POFFSET+3], "draw-rectangle in dc<%>"));
- if (x2 <= 0) return scheme_void;if (x3 <= 0) return scheme_void;DO_OK_CHECK(METHODNAME("dc<%>","draw-rectangle"))
+ if (x2 <= 0) { READY_TO_RETURN; return scheme_void; }if (x3 <= 0) { READY_TO_RETURN; return scheme_void; }DO_OK_CHECK(METHODNAME("dc<%>","draw-rectangle"))
WITH_VAR_STACK(((wxDC *)((Scheme_Class_Object *)p[0])->primdata)->DrawRectangle(x0, x1, x2, x3));
diff --git a/src/mred/wxs/wxs_drwf.xci b/src/mred/wxs/wxs_drwf.xci
index 98ac4bc9fd..cc4c47760b 100644
--- a/src/mred/wxs/wxs_drwf.xci
+++ b/src/mred/wxs/wxs_drwf.xci
@@ -1,5 +1,5 @@
-@MACRO ZeroReturn[p] = if (x <= 0) return scheme_void;
+@MACRO ZeroReturn[p] = if (x <= 0) { READY_TO_RETURN; return scheme_void; }
@MACRO ZeroBoundary[p] = if (x < 0) x = 0;
@MACRO CheckRadius[name.r.w.h] = { if (x