diff --git a/src/g_canvas.c b/src/g_canvas.c
index c12a2816dddec1b963a3db6119344d3fd4aeebaa..2d4a67e1596a680369a6b62d57340855c4a3d78d 100644
--- a/src/g_canvas.c
+++ b/src/g_canvas.c
@@ -658,7 +658,7 @@ void canvas_reflecttitle(t_canvas *x)
 		/*fprintf(stderr,"%d %d %d %d %d\n", glist_istoplevel(x), !x->gl_isgraph,
 			x->gl_isgraph && x->gl_havewindow, x->gl_loading,
 			x->gl_dirty);*/
-	sys_vgui("catch { wm title .x%lx {%s%c%s - %s} }\n", 
+	sys_vgui("wm title .x%lx {%s%c%s - %s}\n", 
 	        x, x->gl_name->s_name, (x->gl_dirty? '*' : ' '), namebuf,
             canvas_getdir(x)->s_name);
 	//}
@@ -724,7 +724,7 @@ void canvas_draw_gop_resize_hooks(t_canvas* x)
 
 	}
 	else{
-		sys_vgui("catch { .x%lx.c delete GOP_resblob ; .x%lx.c delete GOP_movblob ; } \n", x, x);					//delete the GOP_resblob and GOP_movblob	
+		sys_vgui(".x%lx.c delete GOP_resblob ; .x%lx.c delete GOP_movblob ;\n", x, x);					//delete the GOP_resblob and GOP_movblob	
 	}
 }
 /*****************************************************************************/
diff --git a/src/g_editor.c b/src/g_editor.c
index 2b49bf8db542d4d921a27ae84b941ac2037312bf..9068a90aa4983ab67bea102700ec03ab1cec8761 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -1809,7 +1809,7 @@ void canvas_setcursor(t_canvas *x, unsigned int cursornum)
     }
     if (xwas != x || cursorwas != cursornum)
     {
-        sys_vgui("catch {.x%lx configure -cursor %s}\n", x, cursorlist[cursornum]);
+        sys_vgui(".x%lx configure -cursor %s\n", x, cursorlist[cursornum]);
         xwas = x;
         cursorwas = cursornum;
     }
@@ -1980,12 +1980,12 @@ void canvas_vis(t_canvas *x, t_floatarg f)
         {
 			//fprintf(stderr,"new window\n");
             canvas_create_editor(x);
-            sys_vgui("catch {pdtk_canvas_new .x%lx %d %d +%d+%d %d}\n", x,
+            sys_vgui("pdtk_canvas_new .x%lx %d %d +%d+%d %d\n", x,
                 (int)(x->gl_screenx2 - x->gl_screenx1),
                 (int)(x->gl_screeny2 - x->gl_screeny1),
                 (int)(x->gl_screenx1), (int)(x->gl_screeny1),
                 x->gl_edit);
-			sys_vgui("catch {pdtk_canvas_set_font .x%lx %d}\n", x, x->gl_font);
+			sys_vgui("pdtk_canvas_set_font .x%lx %d\n", x, x->gl_font);
             canvas_reflecttitle(x);
             x->gl_havewindow = 1;
 
diff --git a/src/g_graph.c b/src/g_graph.c
index a2bd5d0918ba2e5c4a9c8c3919531995dd7b6aaf..0c5d48a225c40c6e7ba29d748930802c0b58e394 100644
--- a/src/g_graph.c
+++ b/src/g_graph.c
@@ -784,15 +784,15 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
     {
 	    if (vis && gobj_shouldvis(gr, parent_glist))
 	    {
-	        sys_vgui("catch {.x%lx.c create polygon\
- %d %d %d %d %d %d %d %d %d %d -tags %s -fill $graph_outline}\n",
+	        sys_vgui(".x%lx.c create polygon\
+ %d %d %d %d %d %d %d %d %d %d -tags %s -fill $graph_outline\n",
 	            glist_getcanvas(x->gl_owner),
 				//parent_glist,
 	            x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
 	    }
 	    else if (gobj_shouldvis(gr, parent_glist))
 	    {
-	        sys_vgui("catch {.x%lx.c delete %s}\n",
+	        sys_vgui(".x%lx.c delete %s\n",
 	            glist_getcanvas(x->gl_owner), tag);
 				//parent_glist, tag);
 	    }
diff --git a/src/g_numbox.c b/src/g_numbox.c
index dbba9b6d8506803b296c1fe508031b29406a7e75..45159d6711e404386ed1b1aca42d96a8ece87fa9 100644
--- a/src/g_numbox.c
+++ b/src/g_numbox.c
@@ -355,7 +355,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 	*/
 
 	if (x->x_gui.x_fsf.x_selected) {
-		sys_vgui("catch { .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color };\n",
+		sys_vgui(" .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color\n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
 				 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
@@ -368,7 +368,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 		*/
 	}
 	else {
-		sys_vgui("catch { .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill #%6.6x -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill #%6.6x \n .x%lx.c itemconfigure %lxBASE2 -fill #%6.6x };\n",
+		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill #%6.6x -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill #%6.6x \n .x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         x->x_gui.x_lcol, strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
 				 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
@@ -379,7 +379,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 		sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n", canvas,
 		         x, x->x_gui.x_fcol);*/
 	}
-    sys_vgui("catch {.x%lx.c itemconfigure %lxBASE1 -fill #%6.6x };\n", canvas,
+    sys_vgui(".x%lx.c itemconfigure %lxBASE1 -fill #%6.6x;\n", canvas,
              x, x->x_gui.x_bcol);
 }
 
@@ -446,9 +446,9 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
 			// if so, disable highlighting
 			if (x->x_gui.x_glist == glist_getcanvas(glist)) {
 
-				sys_vgui("catch { .x%lx.c itemconfigure %lxBASE1 -outline $select_color };\n",
+				sys_vgui(".x%lx.c itemconfigure %lxBASE1 -outline $select_color\n",
 			    	canvas, x);
-				sys_vgui("catch { .x%lx.c itemconfigure %lxBASE2 -fill $select_color };\n",
+				sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill $select_color\n",
 					canvas, x);
 				sys_vgui(".x%lx.c itemconfigure %lxLABEL -fill $select_color\n",
 					canvas, x);
@@ -499,9 +499,9 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
 		else
 		{
 			sys_vgui(".x%lx.c dtag %lxNUM selected\n", canvas, x);
-		    sys_vgui("catch { .x%lx.c itemconfigure %lxBASE1 -outline #%6.6x };\n",
+		    sys_vgui(".x%lx.c itemconfigure %lxBASE1 -outline #%6.6x\n",
 		        canvas, x, IEM_GUI_COLOR_NORMAL);
-		    sys_vgui("catch {.x%lx.c itemconfigure %lxBASE2 -fill #%6.6x };\n",
+		    sys_vgui(".x%lx.c itemconfigure %lxBASE2 -fill #%6.6x\n",
 		        canvas, x, x->x_gui.x_fcol);
 		    sys_vgui(".x%lx.c itemconfigure %lxLABEL -fill #%6.6x\n",
 		        canvas, x, x->x_gui.x_lcol);
diff --git a/src/g_text.c b/src/g_text.c
index 0854ed857c1db2ab4db86ab9ddc83faa6d12ef84..edd7c64a72a8a18149994177118154c748f5af7f 100644
--- a/src/g_text.c
+++ b/src/g_text.c
@@ -1304,7 +1304,7 @@ static void text_select(t_gobj *z, t_glist *glist, int state)
 		    sys_vgui(".x%lx.c itemconfigure %sR -outline %s\n", glist_getcanvas(glist), 
 		             rtext_gettag(y), (state? "$select_color" : outline));
 			if (z->g_pd == gatom_class) {
-				sys_vgui("catch {.x%lx.c itemconfigure %lx.l -fill %s}\n", glist_getcanvas(glist), 
+				sys_vgui(".x%lx.c itemconfigure %lx.l -fill %s\n", glist_getcanvas(glist), 
 					x, (state? "$select_color" : "$text_color"));
 			}
 		}
diff --git a/src/t_tkcmd.c b/src/t_tkcmd.c
index 711a1631113280642d50fa5fd74a410d9d873551..a66e5edc51bc5f621e1d15afe2fb64a0a1c2ef0d 100644
--- a/src/t_tkcmd.c
+++ b/src/t_tkcmd.c
@@ -555,7 +555,9 @@ static int pdCmd(ClientData cd, Tcl_Interp *interp, int argc,  char **argv)
 void tcl_mess(char *s)
 {
     int result;
-    Tcl_Obj *messageObjPtr = Tcl_NewStringObj(s,-1);
+	char catch_s[strlen(s)+10];
+	sprintf(catch_s, "catch { %s }", s);
+    Tcl_Obj *messageObjPtr = Tcl_NewStringObj(catch_s,-1);
     Tcl_IncrRefCount(messageObjPtr);
     result = Tcl_EvalObjEx(tk_pdinterp, messageObjPtr, TCL_EVAL_GLOBAL);
     Tcl_DecrRefCount(messageObjPtr);