Index: client/1.0/neutral/pkgd.eagle ================================================================== --- client/1.0/neutral/pkgd.eagle +++ client/1.0/neutral/pkgd.eagle @@ -1525,10 +1525,56 @@ if {$verboseTemporaryDirectory} then { pkgLog [appendArgs \ "returning temporary directory name \"" $result \ "\" for prefix \"" $prefix \"...] } + + return $result + } + + # + # NOTE: TBD + # + proc createInterp { varName } { + upvar 1 $varName interp + + set interp [interp create -safe] + interp eval $interp [list set dir .] + + set commands [interp eval $interp [list info commands]] + + foreach command $commands { + if {$command ne "proc" && $command ne "package"} then { + interp eval $interp [list proc $command args ""]; # NOP + } + } + + if {![isEagle]} then { + interp eval $interp [list proc file args ""]; # NOP + } + + interp eval $interp [list proc proc args ""]; # NOP + return "" + } + + # + # NOTE: TBD + # + proc getIfNeededVersions { interp fileName } { + set result [list] + + set oldPackages [interp eval $interp [list package names]] + interp invokehidden $interp source $fileName + set newPackages [interp eval $interp [list package names]] + + foreach package $newPackages { + if {[lsearch -exact $oldPackages $package] == -1} then { + lappend result [list $package [lsort -decreasing \ + -command [list package vcompare] [interp eval \ + $interp [list package versions $package]]]] + } + } return $result } #