Ceci est une ancienne révision du document !


TeX Year 2000 (Y2K) Issues in Summary

This page summarizes the year 2000 issues surrounding TeX and METAFONT, based on discussions in the newsgroup comp.text.tex and among the members of the mailing list tex-implementors@ams.org. We attempt herein to merely set forth the chief matters at hand, without engaging the controversial aspects of what solutions should be taken.

  1. Crashing: The programs TeX and METAFONT themselves will not crash due to dates. (However, each executable implementation depends on a run-time library and an operating system, which should be evaluated in this regard.)
  2. Timestamps: A 2-digit year is (a) printed in logfiles, and (b) stored in format file and base file time stamps. These items should not be of general concern, because they are intended for human readers and not as input to other programs.
  On November 24, 1998, Donald Knuth granted an unusual permission to modify TeX and METAFONT to use 4-digit timestamps (nearly all implementations, such as web2c, had already been doing so), saying:
      I agree that it would now be best to remove the "mod 100" from TeX module 1328 and from MF module 1200 (and from METAPOST in the corresponding place). I hereby give permission to implementors to make such changes in their change files. No change to the version numbers are needed. [As reported by Barbara Beeton on the tex-implementors e-mail list.] 
  This permission means that 4-digit timestamps, while changing the output of TeX and METAFONT slightly from the current autographs, still meet Knuth's authoritative standards required of software calling itself TeX or METAFONT.
  3. The \year primitive: TeX TRIP certification, in the strictest sense, does not require that \year return a meaningful value (TeX may be certifiably implemented on platforms that do not even supply date reporting, such as standard Pascal). The TeXbook does define \year as "the current year of our Lord", which is the only correct meaning of \year for those implementations which can supply a meaningful value, which is to say nearly all of them.
  In short, TeX implementations should provide a value in \year giving the 4-digit year Anno Domini, or the value 1776 if the platform does not support a date function. TeX does not provide any state variables to indicate whether \year contains a meaningful value, and while 1776 could have been considered a signal value for a lack of meaning to \year, this is not a standardized requirement.
  4. External software: The TeX corpus embodies many accessory programs, such as macro packages and DVI translators, which may compute dates from the value of \year (or rarely, from timestamps). Such accessories should be checked individually for correct behavior when \year is assumed to return a correct 4-digit \year value before and after 2000. Accessories with an additional "defensive level" of correctness will behave reasonably when \year contains a two-digit value or a meaningless value such as 1776. 

Source: TeX Year 2000 (Y2K) Issues in Summary (mise à jour du 24 novembre 1998).

1_generalites/histoire/tex_et_le_bug_de_l_an_2000.911916903.txt.gz · Dernière modification: 1998/11/24 15:15 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0