summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-y2k.html
blob: 2f9b71c3c29b02f4987df2db735a8b3d86e5a502 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<head>
<title>UK TeX FAQ -- question label y2k</title>
</head><body>
<h3>Are TeX and friends Y2K compliant?</h3>
<p/><dl>
<dt>Crashing:<dd> None of TeX, Metafont or MetaPost can themselves crash
  due to any change whatever in the date of any sort.
<dt>Timestamps:<dd> In the original sources, a 2-digit year was
  stored as the creation time for format files and that value is
  printed in log-files.  These items should not be of general concern,
  since the only use of the date format file is to produce the log
  output, and the log file is designed for human readers only.
<p/>  Knuth announced in 1998 that implementors could
  alter this code without fear of being accused of non-compliance.
  Nearly all implementations that are being actively maintained had
  been modified to generate 4-digit years in the format file and the
  log, by the end of 1998.  The original sources themselves have now
  been modified so that 4-digit year numbers are stored.
<dt>The <code>\</code><code>year</code> primitive:<dd> Certification of a TeX
  implementation (see <a href="FAQ-triptrap.html">trip/trap testing</a>)
  does not require that <code>\</code><code>year</code> return a meaningful value (which
  means that TeX can, in principle, be implemented on platforms
  that don&#8217;t make the value of the clock available to user programs).
  The <em>TeXbook</em> (see
  <a href="FAQ-books.html">TeX-related books</a>) defines <code>\</code><code>year</code> as
  &#8220;the current year of our Lord&#8221;, which is the only correct meaning
  for <code>\</code><code>year</code> for those implementations which can supply a
  meaningful value, which is to say nearly all of them.
<p/>  In short, TeX implementations should provide a value in <code>\</code><code>year</code>
  giving the 4-digit year Anno Domini, or the value 1776 if the
  platform does not support a date function.
<p/>  Note that if the system itself fails to deliver a correct date to
  TeX, then <code>\</code><code>year</code> will of course return an incorrect value.
  TeX cannot be considered Y2K compliant, in this sense, on a
system that is not itself Y2K compliant.
<dt>Macros:<dd> TeX macros can in principle perform calculations on
  the basis of the value of <code>\</code><code>year</code>.
  The <a href="FAQ-latex.html">LaTeX suite</a>
  performs such calculations in a small number of places; the
  calculations performed in the current (supported) version of LaTeX are
  known to be Y2K compliant.
<p/>  Other macros and macro packages should be individually checked.
<dt>External software:<dd> Software such as DVI translators
  needs to be individually checked.
</dl>
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k</a>
</body>