diff --git a/src/scheduler.c b/src/scheduler.c index 4cae4ff4..923d82d2 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -1089,6 +1089,37 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg my_snprintf(res, S(res), "need_reb_sel_arr=%d\n", xctx->need_reb_sel_arr); Tcl_AppendResult(interp, res, NULL); my_snprintf(res, S(res), "undo_type=%d\n", xctx->undo_type); Tcl_AppendResult(interp, res, NULL); my_snprintf(res, S(res), "******* end global variables:*******\n"); Tcl_AppendResult(interp, res, NULL); + my_snprintf(res, S(res), "******* Compile options:*******\n"); Tcl_AppendResult(interp, res, NULL); + #ifdef HAS_DUP2 + my_snprintf(res, S(res), "HAS_DUP2=%d\n", HAS_DUP2); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef HAS_PIPE + my_snprintf(res, S(res), "HAS_PIPE=%d\n", HAS_PIPE); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef HAS_POPEN + my_snprintf(res, S(res), "HAS_POPEN=%d\n", HAS_POPEN); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef HAS_XRENDER + my_snprintf(res, S(res), "HAS_XRENDER=%d\n", HAS_XRENDER); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef HAS_CAIRO + my_snprintf(res, S(res), "HAS_CAIRO=%d\n", HAS_CAIRO); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef HAS_XCB + my_snprintf(res, S(res), "HAS_XCB=%d\n", HAS_XCB); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef XSCHEM_SHAREDIR + my_snprintf(res, S(res), "XSCHEM_SHAREDIR=%s\n", XSCHEM_SHAREDIR); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef PREFIX + my_snprintf(res, S(res), "PREFIX=%s\n", PREFIX); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef USER_CONF_DIR + my_snprintf(res, S(res), "USER_CONF_DIR=%s\n", USER_CONF_DIR); Tcl_AppendResult(interp, res, NULL); + #endif + #ifdef XSCHEM_LIBRARY_PATH + my_snprintf(res, S(res), "XSCHEM_LIBRARY_PATH=%s\n", XSCHEM_LIBRARY_PATH); Tcl_AppendResult(interp, res, NULL); + #endif } else if(!strcmp(argv[1],"go_back")) diff --git a/src/select.c b/src/select.c index e3a98f97..a7c070af 100644 --- a/src/select.c +++ b/src/select.c @@ -329,7 +329,9 @@ void delete(int to_push_undo) if(to_push_undo && xctx->lastsel) xctx->push_undo(); /* first calculate bbox, because symbol_bbox() needs translate (@#0:net_name) which * needs prepare_netlist_structs which needs a consistent xctx->inst[] data structure */ - find_inst_to_be_redrawn(1 + 32); /* 32: call prepare_netlist_structs(0) */ + find_inst_to_be_redrawn(1 + 4 + 32); /* 32: call prepare_netlist_structs(0) if show net names enabled + * 4: call symbol_bbox() to precisely update bbox to current zoom level + */ for(i=0;itexts;i++) { if(xctx->text[i].sel == SELECTED) @@ -434,8 +436,11 @@ void delete(int to_push_undo) propagate_hilights(1, 1, XINSERT_NOREPLACE); } - prepare_netlist_structs(0); - find_inst_to_be_redrawn(2 + 4 + 8); + find_inst_to_be_redrawn(2 + 8 + 32); /* 32: call prepare_netlist_structs(0) + * 2: add previously built list + * 4: call symbol_bbox to precisely update bboxes <<< needed? + * 8: do not iterate over selection (there is no more selection, deleted) + */ find_inst_to_be_redrawn(16); /* clear data */ xctx->lastsel = 0; bbox(SET , 0.0 , 0.0 , 0.0 , 0.0);