''[[TODO: describe (only NRE-wiki page of relevance appears to be [http://tcl.msofer.com:8080/wiki?name=atProcExit+and+try/catch/finally]); rename the command to something more tclish?]]'' Consequence of [NRE]. [Lars H]: A thought: how is this different from what can be had through the age-old technique of creating a dummy local variable and putting an unset [trace] on it? Basic implementation: proc atProcExit {script} { upvar 1 atProcExitScripts arr set arr($script) {} trace add variable arr($script) unset "$script\n\#" } ---- !!!!!! %| [Category Command] |% !!!!!!