TABLE OF CONTENTS
::pwtk::eval_in_dir
SYNOPSIS
proc ::pwtk::eval_in_dir {dir script} {
PURPOSE
Evaluate a script in directory $dir. If $dir does not exist, it is created. This command is equivalent to:
set here [pwd] file mkdir $dir cd $dir eval $script cd $here
ARGUMENTS
- dir -- directory where to evaluate the script (if $dir is an empty string, ./ is assumed)
- script -- script to evaluate
RETURN VALUE
The return value of the last command in the script.
SOURCE
set here [pwd] ifset dir . try { file mkdir $dir cd $dir if { $dir ne "." } { pwtk::print "from [procName]:\nCWD changed to [pwd]\n" } } on error err { ::pwtk::error "cannot create directory: $dir\n\n$err" 1 } set code [catch {uplevel 1 $script} result] cd $here if { $dir ne "." } { pwtk::print "from [procName]:\nCWD reverted to [pwd]\n" } return -code $code $result }