[Scilab-Dev] Tcl/Tk 8.5 has been released
François Vogel
fvogelnew1 at free.fr
Fri Dec 28 23:21:48 CET 2007
>>> Scipad doesn't even start any more while it did before.
>> I am guilty... Sorry for this.
>
> I'll have a look at this issue.
Here are my findings, all with the Scipad you have currently in trunk,
i.e. 6.132.
0. Executing Scipad completely outside of Scilab, i.e. directly in
wish8.5 works OK.
a. Scilab trunk up-to-date linked with Tcl/Tk 8.5 : Doesn't work. By
this I mean that the Scipad window correctly opens but the text
widget, menues, status bar, scrollbars, etc are not visibly packed in
that window. It looks like Scipad is stuck somewhere during its launch
process.
b. Scilab trunk up-to-date linked with Tcl/Tk 8.4 : works OK. The
Scipad window opens completely OK.
c. Scilab trunk r21301 linked with Tcl/Tk 8.5 : same as a.
d. Scilab trunk r21189 linked with Tcl/Tk 8.5 : same as a.
e. Situation described in a. happens on Kubuntu Gutsy and OpenSuse
10.3 as well.
In case a, c and d, TCL_EvalStr("isscilabbusy","scipad") returns true.
Without entering into the details of the Scilab/Tcl interface, this
means that Scipad is waiting for Scilab to finish some job. The Tcl
global variable sciprompt from the Tcl interpreter named scipad has -1
as a value. When done, Scilab should set the Tcl global variable
sciprompt back to 0 (actually back to the pause level, 0, 1 or more).
One can interact with Scipad through different commands, say:
TCL_EvalStr("opensourceof","scipad")
TCL_EvalStr("closecur","scipad") (this one will close Scipad)
Moreover, if you try to force the Tcl event loop to run through, say,
the following command:
TCL_EvalStr("tk_messageBox -message $sciprompt","scipad")
then after clicking on OK in the dialog showing the value of sciprompt
you get the packing of the widgets in Scipad. This means that the
event loop ran once. However, Scipad is still not fully available, as
clicking on any menu proves it.
I think that all this in fact bug 2514:
http://www.scilab.org/cgi-bin/bugzilla_bug_II/show_bug.cgi?id=2514
The Tcl event loop doesn't seem to run unless it is forced to do so.
It really looks like the problem is in the Scilab/Tcl interface, as
described in bug 2514.
Francois
More information about the dev
mailing list