★ wanayoo — archive 1999 http://dev.scriptics.com/doc/Y2K.htmlNouvelle recherche | Portail wanayoo
Developer Site
Getting StartedTcl AdvocacySoftware ResourcesDocumentsServicesCommunity
Home
Login | Books | F.A.Q. | Manual Pages | Tutorials | White Papers |  Y2K| | How To Guides | Tcl Extension Architecture
Search 

We didn't have any Y2K problems, did you? Here is our favorite customer quote on the issue:
Just thought I'd pass on a pat on the back. Our project is 90% tcl, 2% c shell, 8% (third party) c code. Guess which 10% gave us y2k problems? You betcha. Not a squeak of complaint from the tcl stuff. Well done chaps.

Great! Can you say more about your project?

Unfortunately not. I'm contracted to the Royal Navy and the Ministry of Defence and so I'm not allowed to discuss the project. But I will say that a lot of important people are very happy with tcl. If I get permission to talk about it I'll give you the run down, but I wouldn't hold your breath.

Scriptics Connect and all versions of TclPro, as well as all tools and extensions that ship as part of TclPro are completely Year 2000 compliant. Tcl/Tk 8.0.x and higher are also Year 2000 compliant.

Earlier versions of Tcl can be compliant if your application avoids date fields with 2-digit year fields.

A Tk application uses Tcl for its date manipulation, so if you use Tcl/Tk 8.0, then your application is Year 2000 compliant.

An [incr Tcl] application also uses Tcl for its date manipulation. [incr Tcl] version 3.0 uses Tcl 8.0, so it is Year 2000 compliant.

Here is a more complete discussion of the issues:

  • Before Tcl 7.5 (and Tk 4.1) there was no support for times or dates in Tcl. Thus these releases have no Year 2000 issues (but see the note below about TclX).
  • Tcl 7.5 (and Tk 4.1) introduced a new "clock" command that supports time and date manipulation. The "clock" command allows years to be specified either with two digits or four. If you use four digits everywhere then you will not have any problems. However, if you use two-digit years then years starting with 2000 will be rounded incorrectly. For example, "00" is considered to be 1900 instead of 2000. There were also several bugs in the original implementation that could cause problems related to the year 2000.
  • By the Tcl 7.6p2 (and Tk 4.2p2) release the bugs were fixed but all 2-digit years were still assumed to be in the 20th Century.
  • In Tcl/Tk 8.0 the clock parsing code was changed to match the POSIX standard where 2-digit years from 70-99 are from the 20th century, ones from 00-38 are from the 21st century, and all the rest are undefined. With this release, Tcl is "clean" with respect to Year 2000 issues.
Thus, you need not worry about Year 2000 issues with Tcl/Tk unless you are using Tcl version 7.5 or 7.6 with two-digit year numbers. These correspond to Tk versions 4.1 and 4.2. After Tk 4.2 and Tcl 7.6, both Tcl and Tk version numbers jumped to 8.0.

If you use the clock facilities in the TclX extension, then all of the bugs described above are also present. Tcl's clock facilities were derived from TclX, but after we added the "clock" command to the core the TclX clock features were removed and reimplemented in terms of the new core features. For example, if you're using TclX with Tcl 7.5 or earlier releases then all of the bugs described above for Tcl 7.5 will apply; if you're using TclX with Tcl 8.0 or later then all of the problems are fixed.

Top of page
Developer Home | Ajuba | Getting Started | Tcl Advocacy | Software Resources | Documents | Services | Community
Search | Site Map | Feedback | Contact Us | webmaster@ajubasolutions.com
Increase page width
© 1998-2000 Ajuba Solutions. All rights reserved. Legal Notice | Privacy Statement

Last modified: March 09, 2000