Eskil

Diff
Login

Differences From Artifact [963d0db06f]:

To Artifact [5ccd77d109]:


177
178
179
180
181
182
183



184
185




186
187













188
189
190
191
192
193
194
    set chi2 [open $::eskil($top,rightFile) r]
    set cho2 [open $out2 w]
    interp share {} $chi $::eskil($top,plugin)
    interp share {} $cho $::eskil($top,plugin)
    interp share {} $chi2 $::eskil($top,plugin)
    interp share {} $cho2 $::eskil($top,plugin)




    # TODO: When allowing 8.6, do this in coroutines allowing each call
    # to yield and to alternate between them until done




    set usenew1 [$::eskil($top,plugin) eval [list PreProcess left $chi $cho]]
    set usenew2 [$::eskil($top,plugin) eval [list PreProcess right $chi2 $cho2]]














    if {$allow} {
        $::eskil($top,plugin) eval close $chi
        $::eskil($top,plugin) eval close $cho
        $::eskil($top,plugin) eval close $chi2
        $::eskil($top,plugin) eval close $cho2
    } else {







>
>
>
|
|
>
>
>
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>







177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
    set chi2 [open $::eskil($top,rightFile) r]
    set cho2 [open $out2 w]
    interp share {} $chi $::eskil($top,plugin)
    interp share {} $cho $::eskil($top,plugin)
    interp share {} $chi2 $::eskil($top,plugin)
    interp share {} $cho2 $::eskil($top,plugin)

    set cmd1 [list PreProcess left $chi $cho]
    set cmd2 [list PreProcess right $chi2 $cho2]
    if {[info commands yield] ne ""} {
        # When in 8.6, this is done in coroutines allowing each call
        # to yield and to alternate between them until done
        set c1 __plugin_cr1$top
        set c2 __plugin_cr2$top
        set cmd1 [linsert $cmd1 0 coroutine $c1]
        set cmd2 [linsert $cmd2 0 coroutine $c2]
        set usenew1 [$::eskil($top,plugin) eval $cmd1]
        set usenew2 [$::eskil($top,plugin) eval $cmd2]
        interp alias {} pnw $::eskil($top,plugin) namespace which
        while {[pnw $c1] ne {} || [pnw $c2] ne {}} {
            if {[pnw $c1] ne {}} {
                set usenew1 [$::eskil($top,plugin) eval $c1]
            }
            if {[pnw $c2] ne {}} {
                set usenew2 [$::eskil($top,plugin) eval $c2]
            }
        }
    } else {
        set usenew1 [$::eskil($top,plugin) eval $cmd1]
        set usenew2 [$::eskil($top,plugin) eval $cmd2]
    }

    if {$allow} {
        $::eskil($top,plugin) eval close $chi
        $::eskil($top,plugin) eval close $cho
        $::eskil($top,plugin) eval close $chi2
        $::eskil($top,plugin) eval close $cho2
    } else {