Re: Yes! tcl7.5b1 has something we've been looking for!

Juergen Schoenwaelder (schoenw@ibr.cs.tu-bs.de)
Tue, 6 Feb 1996 12:22:45 +0100

Hi!

Yes, there are a lot of new good things, but some things require some
additional work.

Doug> 5. The event loop has moved to Tcl. Many procedures and
Doug> #defines have been renamed, such as the "tkerror" command
Doug> (now "bgerror"), TK_READABLE (now TCL_READABLE), and
Doug> Tk_DoOneEvent (now Tcl_DoOneEvent). All of the old Tk
Doug> names are still supported for backwards compatibility but
Doug> you should switch over ASAP to the new ones.

Thats great. However, tclsh is not really event driven (you have to
call update to process events). Therefore, I have to maintain the
scotty binary although a dynamic loadable module for the tclsh would
be much simpler. There is also the usual bug in Tcl_DoOneEvent() which
will cause a

select(0, NULL, NULL, NULL, {0,0})

which will of course never return. I hope I can convince the Sun
people to fix this (at least it worked the last two times).

Doug> 7. There is a new "socket" command for network
Doug> communication via TCP sockets. It works for both the
Doug> client and server sides. There is also C-level support
Doug> for sockets; see OpenTcp.3.

The new IO system does not support datagram sockets. I don't see how
datagram sockets will fit into the channel IO system of Tcl7.5b1. I
think there is still some work left to do and I hope that the Sun
people will add support for UDP sockets into the base version.

I am already working on a port to Tcl7.5b1. I am removing all commands
from the scotty extension that are not needed anymore (e.g. getdate,
getclock, tcp). This will create some incompatibilities. I will also
change the rpc command to make use of safe Tcl interpreters. So be
prepared to fix your code when upgrading to the next version.

Juergen