proc src {file args} { set argv $::argv set argc $::argc set ::argv $args set ::argc [llength $args] set code [catch {uplevel [list source $file]} return] set ::argv $argv set ::argc $argc return -code $code $return }Larry Smith Or you could use SrcFile.