Announcing XOTcl 1.5.4 *************************
We are pleased to announce the availability of XOTcl 1.5.4. Originally, this release was planned as a small bug fix release. However, the total size of the (unified) diff between 1.5.3 and 1.5.4 is more than 5000 lines, mostly due to the varRefom changes (see first item below).
Major changes relative to 1.5.4 are:
* Improved code quality:
+ provided compatibility with Tcl 8.5 (currently, this requires the verison of Tcl 8.5 from CVS head, including the changes for VarReform (For details, see http://groups.google.at/group/comp.lang.tcl/browse_frm/thread/bff391a7f1bd8f...)
+ improved serializer (handling var traces for instances variables)
+ several small bug-fixes (e.g. fixing empty variable names, error message propagation for configure, fixing potential crashes, when namespaces are added to objects during <object> eval, etc.)
+ improved portablility for more platforms (more portable shell tests for e.g. FreeBSD)
+ extended regression test
For more details about the changes, please consult the ChangeLog and documentation.
MORE INFO General and more detailed information about XOTcl and its components can be found at http://www.xotcl.org
Gustaf Neumann wrote:
Major changes relative to 1.5.4 are:
...
+ provided compatibility with Tcl 8.5 (currently, this requires the verison of Tcl 8.5 from CVS head, including the changes for VarReform
From what I understand of the patches, this is all done for source-level compatibility. IOW, you compile with 8.4, it works with only 8.4. You compile with 8.5, it works only with 8.5.
This represents a problem for distro developers (such as myself) because we base our extension compiling on 8.4. The ActiveState teapot is populated with 8.4-built extensions, all working on the assumption that stubs is our friend.
I know that some extensions poke deeper (especially OO ones), but we were able to maintain binary compat with itcl. Even if it is only a special compile-time option, I'd like to encourage looking for a binary compat (stubs supported) solution, as it will make it easier for the transition users that will be more prevalent as 8.5 stabilizes.
Jeff
Jeff Hobbs schrieb:
+ provided compatibility with Tcl 8.5 (currently, this requires the verison of Tcl 8.5 from CVS head, including the changes for VarReform
From what I understand of the patches, this is all done for source-level compatibility. IOW, you compile with 8.4, it works with only 8.4. You compile with 8.5, it works only with 8.5.
when xotcl is compiled with an 8.4 version of tcl, the binaries will only work with 8.4, when compiled with 8.5 the binaries will require the tcl 8.5 stub lib.
This represents a problem for distro developers (such as myself) because we base our extension compiling on 8.4. The ActiveState teapot is populated with 8.4-built extensions, all working on the assumption that stubs is our friend.
if xotcl is compiled with 8.4, it continues to work in the 8.4 distro as before. xotcl uses only what's exported via stubs.
I know that some extensions poke deeper (especially OO ones), but we were able to maintain binary compat with itcl.
the stubs of tcl 8.5 are not the same as tcl 8.4. What i have seen, itcl requires the same new interfaces that xotcl uses. do you expect that tcl 8.5 extensions work for tcl 8.4 and vice versa?
-gustaf
Gustaf Neumann wrote:
Jeff Hobbs schrieb:
+ provided compatibility with Tcl 8.5 (currently, this requires the verison of Tcl 8.5 from CVS head, including the changes for VarReform
...
I know that some extensions poke deeper (especially OO ones), but we were able to maintain binary compat with itcl.
the stubs of tcl 8.5 are not the same as tcl 8.4. What i have seen, itcl requires the same new interfaces that xotcl uses. do you expect that tcl 8.5 extensions work for tcl 8.4 and vice versa?
What I expect is that 8.4-compiled extensions work with 8.5. More importantly, it is not just my expectation, but the expectation of most Tcl users.
For example, let's say Apple gets the latest xotcl and itcl into the latest 8.4-based release for Leopard (although in all likelihood, it is too late to update now). When a user installs 8.5 to test, itcl as shipped on the machine would work whereas xotcl will not. Not the best user experience.
While xotcl may rely on whatever stubs officially exports, there are many tricks around this, both compile-time and runtime tricks to get what you need. itcl uses these, and I would recommend xotcl doing the same in order to improve the user experience.
Jeff
On 14 Aug 2007, at 20:49, Gustaf Neumann wrote:
We are pleased to announce the availability of XOTcl 1.5.4. Originally, this release was planned as a small bug fix release. However, the total size of the (unified) diff between 1.5.3 and 1.5.4 is more than 5000 lines, mostly due to the varRefom changes (see first item below).
Cheers. Good to see the releases coming regularly. I wonder if Apple would still manage to incorporate this into Leopard...