Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2000 10:26:20 +0900
From:      Shigeyuki Fukushima <shige@FreeBSD.org>
To:        current@FreeBSD.ORG
Subject:   groff(troff) y2k problem
Message-ID:  <14478.19772.658000.78716W@athena.sitc.toshiba.co.jp>

next in thread | raw e-mail | index | archive | help

I think, we should fix groff y2k problem before 4.0-Release time.

# Also see the bottom line of `man hosts.equiv` ;), and
# PRs gnu/4930, gnu/8321, bin/9502.


GNU groff 1.15 has been already fixed for y2k.
But groff imported in -current seems to have a y2k bug again. ;)
Macros expect number register 'yr' to be the number of years
since 1900. So, a fix with troff/input.cc on revision 1.2 to "perform
modular division by 100 on yr number register" is harmful. The patch
shown below fix this problems.

=====
--- src/contrib/groff/troff/input.cc.orig	Wed Jan 12 19:26:35 2000
+++ src/contrib/groff/troff/input.cc	Wed Jan 26 10:19:50 2000
@@ -5558,7 +5558,7 @@
   set_number_reg("dw", int(tt->tm_wday + 1));
   set_number_reg("dy", int(tt->tm_mday));
   set_number_reg("mo", int(tt->tm_mon + 1));
-  set_number_reg("yr", int(tt->tm_year)%100);
+  set_number_reg("yr", int(tt->tm_year));
   set_number_reg("$$", getpid());
   number_reg_dictionary.define(".A",
 			       new constant_reg(ascii_output_flag

=====

On the other hand, groff based on version 1.11 has had y2k bug yet
on FreeBSD 3.4-RELEASE.
It seems that the below patch is necessary.

=====
--- src/contrib/groff/troff/input.cc.orig	Sat Jul 24 09:46:32 1999
+++ src/contrib/groff/troff/input.cc	Thu Jan 20 00:16:55 2000
@@ -5543,7 +5543,7 @@
   set_number_reg("dw", int(tt->tm_wday + 1));
   set_number_reg("dy", int(tt->tm_mday));
   set_number_reg("mo", int(tt->tm_mon + 1));
-  set_number_reg("yr", int(tt->tm_year)%100);
+  set_number_reg("yr", int(tt->tm_year));
   set_number_reg("$$", getpid());
   number_reg_dictionary.define(".A",
 			       new constant_reg(ascii_output_flag
--- src/contrib/groff/mm/tmac.m.orig Tue May 18 12:38:35 1999
+++ src/contrib/groff/mm/tmac.m      Thu Jan 20 17:38:54 2000
@@ -2620,8 +2620,8 @@
 .de AE
 ..
 .\" I am planning to use mgm some time :-)
-.ie \\n[yr]<50 .ds cov*new-date \\*[MO\\n[mo]] \\n[dy], 20\\n[yr]
-.el .ds cov*new-date \\*[MO\\n[mo]] \\n[dy], 19\\n[yr]
+.nr cov*year 1900+\n[yr]
+.ds cov*new-date \*[MO\n[mo]] \n[dy], \n[cov*year]
 .als DT cov*new-date
 .de ND
 .ds cov*new-date \\$1
=====

--- shige


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14478.19772.658000.78716W>