From owner-freebsd-current Tue Jan 25 17:26:38 2000 Delivered-To: freebsd-current@freebsd.org Received: from inet-tsb.toshiba.co.jp (inet-tsb.toshiba.co.jp [202.33.96.40]) by hub.freebsd.org (Postfix) with ESMTP id 6F1A214DB7 for ; Tue, 25 Jan 2000 17:26:30 -0800 (PST) (envelope-from shige@sitc.toshiba.co.jp) Received: from tis2.tis.toshiba.co.jp by inet-tsb.toshiba.co.jp (8.8.8/3.3W9-04/12/95) id KAA02995; Wed, 26 Jan 2000 10:26:24 +0900 (JST) Received: from mx.toshiba.co.jp by tis2.tis.toshiba.co.jp (8.8.4+2.7Wbeta4/3.3W9-95082317) id KAA18372; Wed, 26 Jan 2000 10:26:23 +0900 (JST) Received: from tas0470.sitc.toshiba.co.jp by toshiba.co.jp (8.7.1+2.6Wbeta4/3.3W9-TOSHIBA-GLOBAL SERVER) id KAA04174; Wed, 26 Jan 2000 10:26:22 +0900 (JST) Received: from athena.sitc.toshiba.co.jp.sitc.toshiba.co.jp by tas0470.sitc.toshiba.co.jp (8.9.3/sitc-1.4) with ESMTP id KAA22568; Wed, 26 Jan 2000 10:26:21 +0900 (JST) Date: Wed, 26 Jan 2000 10:26:20 +0900 Message-ID: <14478.19772.658000.78716W@athena.sitc.toshiba.co.jp> From: Shigeyuki Fukushima To: current@FreeBSD.ORG Subject: groff(troff) y2k problem User-Agent: Wanderlust/2.2.5 (Come Undone) WEMI/1.13.7 (=?ISO-2022-JP?B?GyRCRWdFRBsoQg==?=) PGPGPG FLIM/1.13.2 (=?ISO-2022-JP?B?GyRCM15LJRsoQg==?=) Emacs/20.4 (i386-*-nt5.0.2128) MULE/4.1 (=?ISO-2022-JP?B?GyRCMCobKEI=?=) Meadow/1.10 (=?ISO-2022-JP?B?GyRCTyobKEI=?=) MIME-Version: 1.0 (generated by WEMI 1.13.7 - =?ISO-2022-JP?B?IhskQkVnGyhC?= =?ISO-2022-JP?B?GyRCRUQbKEIi?=) Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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