You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I run, like, "tclsh latlons.tcl", it works, but if I start Tcl interactively and do a "source latlons.tcl", I get some MD5 signatures output to the terminal and a traceback.
% source latlons.tcl
MD5 (.) = ea4246ce05c0fff0f9db6a66575db603
MD5 (.) = ea4246ce05c0fff0f9db6a66575db603
can't read "v::code(/usr/home/karl/src/tsp_examples/latlons.tcl)": no such variable
while evaluating {source latlons.tcl }
% puts $errorInfo
can't read "v::code(/usr/home/karl/src/tsp_examples/latlons.tcl)": no such variable
while executing
"dict get $v::code($file) result"
(procedure "critcl::cresults" line 3)
invoked from within
"critcl::cresults"
(procedure "::tsp::lang_compile" line 45)
invoked from within
"::tsp::lang_compile compUnit $compilable"
(procedure "::tsp::compile_proc" line 72)
invoked from within
"::tsp::compile_proc $scriptfile $name $argList $body"
(procedure "tsp::proc" line 6)
invoked from within
"tsp::proc fa_latlongs_to_distance {lat1 lon1 lat2 lon2} {
#tsp::procdef double -args double double double double
#tsp::compile assert
#tsp::double ..."
(file "latlons.tcl" line 6)
invoked from within
"source latlons.tcl "
("eval" body line 1)
invoked from within
"eval $LINE"
The text was updated successfully, but these errors were encountered:
The problem is due to some interaction between critcl, up to and including 3.1.15, and tclreadline. If in my .tclshrc I don't require tclreadline then the problem doesn't happen.
I'm pretty sure the problem is in critcl/lib/critcl/critcl.tcl; there's a lot of trickery starting around line 30 to come up with a working md5, or, depending on how you look at it, a problem in tclreadline.
In my .tclshrc if I package require tclreadline then when I try to source in a tsp::proc interactively, I get:
% source test.tcl
MD5 (.) = 45786b6b37b66944713676903928042e
MD5 (.) = 45786b6b37b66944713676903928042e
can't read "v::code(/usr/home/karl/src/tmp/tsp/test.tcl)": no such variable
while evaluating {source test.tcl}
...even if I don't define a tclreadline::prompt proc or run ::tclreadline::Loop.
If I run, like, "tclsh latlons.tcl", it works, but if I start Tcl interactively and do a "source latlons.tcl", I get some MD5 signatures output to the terminal and a traceback.
The text was updated successfully, but these errors were encountered: