64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
-
+
|
if {$src eq ""} {
return ""
}
# Create interpreter and load source
if {$allow} {
set pi [interp create]
$pi eval source $src
$pi eval [list source $src]
} else {
set pi [interp create -safe]
$pi invokehidden -global source $src
}
# Setup info
$pi eval [list set ::WhoAmI [file rootname [file tail $src]]]
|
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
+
+
+
|
proc preparePlugin {top} {
disallowEdit $top
set allow [dict get $::eskil($top,pluginpinfo) allow]
# Pass ::argv to plugin
$::eskil($top,plugin) eval [list set ::argv $::eskil(argv)]
# Pass ::Pref to plugin
$::eskil($top,plugin) eval [list array set ::Pref [array get ::Pref]]
# Pass File info to plugin
$::eskil($top,plugin) eval [list set ::File(left) $::eskil($top,leftFile)]
$::eskil($top,plugin) eval [list set ::File(right) $::eskil($top,rightFile)]
set out1 [tmpFile]
set out2 [tmpFile]
set chi [open $::eskil($top,leftFile) r]
set cho [open $out1 w]
set chi2 [open $::eskil($top,rightFile) r]
set cho2 [open $out2 w]
|