From f5bd45908243a8e6d440cf71d6a361763b5b14d9 Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Wed, 9 Jul 2025 10:37:18 +0200 Subject: [PATCH] add new xschemrc global variable "load_file_postprocess" that might contain tcl commands to be executed whenever a new file is loaded. --- src/save.c | 1 + src/xschem.tcl | 9 +++++++++ src/xschemrc | 7 +++++++ 3 files changed, 17 insertions(+) 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 ###########################################################################