diff --git a/src/parselabel.l b/src/parselabel.l index a58e7c39..8d21cdc9 100644 --- a/src/parselabel.l +++ b/src/parselabel.l @@ -97,7 +97,12 @@ const char *expandlabel(const char *s, int *m) YY_BUFFER_STATE buf; my_free(_ALLOC_ID_, &dest_string.str); /* 30102004 delete 'memory' of previous execution */ + if(parselabel_debug >= 3) fprintf(errfp, "expandlabel(): entering\n"); + if(!strpbrk(s, "*,.:")) { /* shortcut: nothing to parse / expand */ + *m = 1; + return s; + } buf=yy_scan_string(s); yyparse(); yy_delete_buffer(buf); diff --git a/src/xschem.tcl b/src/xschem.tcl index b4117f0d..e6db2fe0 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -5762,7 +5762,11 @@ global env has_x OS autofocus_mainwindow } } " - bind $topwin "xschem callback %W %T %x %y 0 0 0 %s; graph_show_measure stop" + bind $topwin " + xschem callback %W %T %x %y 0 0 0 %s + graph_show_measure stop + $topwin configure -cursor {} + " bind $topwin "xschem callback %W %T %x %y 0 %w %h %s" bind $topwin "xschem callback %W -3 %x %y 0 %b 0 %s" bind $topwin "xschem callback %W -3 %x %y 0 %b 0 %s" @@ -5774,7 +5778,12 @@ global env has_x OS autofocus_mainwindow bind $topwin "xschem callback %W %T %x %y %N 0 0 %s" if {$autofocus_mainwindow} { bind $topwin "focus $topwin; xschem callback %W %T %x %y 0 0 0 %s" - bind $topwin "destroy .ctxmenu; focus $topwin; xschem callback %W %T %x %y 0 0 0 0" + bind $topwin " + if {\$draw_crosshair} {$topwin configure -cursor none} + destroy .ctxmenu + focus $topwin + xschem callback %W %T %x %y 0 0 0 0 + " } else { bind $topwin "xschem callback %W %T %x %y 0 0 0 %s" bind $topwin "destroy .ctxmenu; xschem callback %W %T %x %y 0 0 0 0"