First, thank you for JTCL. We're migrating a TCL-based app from C to Java and would really be in a bind without JTCL.
While getting acquainted with JTCL, I just spent a few hours debugging a misleading error message
java.lang.Exception: wrong # args: should be either:
socket ?-myaddr addr? ?-myport myport? ?-async? host port
socket -server command ?-myaddr addr? port
while running tcltest
in which the root cause is really (sort of a "classpath" problem caused by testing in an bndtools OSGi test environment)
tcl.lang.TclException: cannot read resource "/tcl/lang/cmd/append.test"
Such a misleading error message could be avoided if when the getResourceAsStream fails in tcl.lang.Interp#evalResource(), evalResource() overwrote the errorInfo with something like
Interp#setVar("errorInfo", "tcl.lang.TclException: cannot read resource \"/tcl/lang/cmd/append.test\"", TCL.GLOBAL_ONLY);
Would such a JTCL code change make sense? If so, I can put together a Pull Request with the change.