diff --git a/src/save.c b/src/save.c index d3df0cb7..fbf6f541 100644 --- a/src/save.c +++ b/src/save.c @@ -3669,6 +3669,7 @@ int load_schematic(int load_symbols, const char *fname, int reset_undo, int aler drc_check(-1); } my_free(_ALLOC_ID_, &ffname); + if(reset_undo == 1) tcleval("eval_load_file_postprocess"); return ret; } diff --git a/src/xschem.tcl b/src/xschem.tcl index 9fd93aee..3f7064a0 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -9636,6 +9636,15 @@ proc eval_netlist_postprocess {} { } } +proc eval_load_file_postprocess {} { + global load_file_postprocess + if {[info exists load_file_postprocess]} { + if {[catch {uplevel #0 $load_file_postprocess} res]} { + puts "executing $load_file_postprocess:\n\n$res" + } + } +} + proc setup_tcp_xschem { {port_number {}} } { global xschem_listen_port xschem_server_getdata diff --git a/src/xschemrc b/src/xschemrc index 529bd9b2..43b33121 100644 --- a/src/xschemrc +++ b/src/xschemrc @@ -573,8 +573,15 @@ ########################################################################### #### TCL COMMANDS TO BE EXECUTED AFTER GENERATING NETLIST ########################################################################### +#### default: not set. # set netlist_postprocess {textfile $netlist_dir/[xschem get netlist_name fallback]} +########################################################################### +#### TCL COMMANDS TO BE EXECUTED AFTER LOADING A NEW FILE +########################################################################### +#### default: not set. +# set load_file_postprocess {puts [xschem get schname]} + ########################################################################### #### WEB URL DOWNLOAD HELPER APPLICATION ###########################################################################