From owner-FreeBSD-users-jp@jp.FreeBSD.org Wed Sep  8 13:13:11 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i884DBN50784;
	Wed, 8 Sep 2004 13:13:11 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from maha2.doga.co.jp (219.117.196.238.user.rb.il24.net [219.117.196.238])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i884D9850778
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Wed, 8 Sep 2004 13:13:10 +0900 (JST)
	(envelope-from taka2@doga.jp)
Received: from doga.jp (xp.doga.co.jp [192.168.1.39])
	by maha2.doga.co.jp (8.12.10/8.12.10) with SMTP id i884D93f071438
	for FreeBSD-users-jp@jp.FreeBSD.org; Wed, 8 Sep 2004 13:13:09 +0900 (JST)
	(envelope-from taka2@doga.jp)
From: Masamichi Takatsu <taka2@doga.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: Your message of "Wed, 8 Sep 2004 11:18:10 +0900".
	<200409080218.i882I9d00627@rdspa104.roland.co.jp>
X-Mailer: mnews [version 1.22PL6T1(IMAP4,UNICODE)] 2003-12/12(Fri)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Message-ID: <040908131309.M0700468@XP.doga.jp>
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Wed, 8 Sep 2004 13:13:09 +0900
X-Sequence: FreeBSD-users-jp 80799
Subject: [FreeBSD-users-jp 80799] Re: ja-nvi-eucjp-1.79.20111024_1 
	=?ISO-2022-JP?B?GyRCJEdKODt6JTMhPCVJJCxKXUI4JDUkbCRKJCQbKEI=?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: taka2@doga.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+040907

$B9bDE(B@$B%I!<%,$G$9!#(B

> ISO-2022-JP $B$GJ]B8$5$l$F$$$k%a!<%k$rD>@\(B nvi $B$GJT=8$7$F$$$F5$$,$D$$$?$N$G$9$,(B
> $BJ]B8$9$k$HJ8;z%3!<%I$,JQ$o$j(BEUC$B$GJ]B8$5$l$^$9!#(B

3$B%v7n$[$IA0$K$3$3$KN.$7$^$7$?(B(79902,79908)$B$,!"(B

19991117$B"*(B20011024$B$G(B iso-2022-jp-3$B$N<+F0G'<1$KBP1~$7$^$7$?$,!"(B
iso-2022-jp $B$J%U%!%$%k$N%3!<%I$rH=JL$7$h$&$H$7$?>l9g!"8uJd$H$7$F(B
iso-2022-jp $B$H(B iso-2022-jp-3 $B$N$I$A$i$J$N$+9J$j9~$`$3$H$,$G$-$J$$(B
($B$I$A$i$b$"$j$($k(B)$B$?$a!"<+F0H=JL$K<:GT$9$k(B

$B$H$$$&$N$,860x$G$9!#(B

> $B$I$J$?$+2r7hJ}K!$r$4B8CN$J$$$G$7$g$&$+!)(B
> $B;~4V$,$"$l$P<+J,$G%=!<%9$rDI@W$7$^$9$,!"8=:_B?K;$G$H$F$b<j$,2s$i$J$$$N$G(B
> $B$b$7$I$3$+$K2r7hJ}K!$,$"$l$P$H$F$b$&$l$7$$$G$9!#(B

$B0J2<!";d$N:n$C$?%Q%C%A$G$9!#(Biso-2022-jp $B$H(B iso-2022-jp-3$B$r$=$l$C$]$/(B
$B<+F0H=Dj$7$^$9!#(Bm17n$B$N:n<T$N(Bitojun$B$5$s$KAw$C$FKW$r$/$i$C$?$b$N$G$9$,!"(B
itojun$B$5$s$+$iLc$C$?%Q%C%A$NJ}$O$O$=$N$^$^$G$OF0:n$7$J$$$N$G!"(B
$B$3$C$A$r>e$2$F$*$-$^$9!#(B

$B;d$O$3$l$r(B /usr/ports/editors/nvi-m17n/files/patch-ad $B$KCV$$$?>uBV$G(B
ports $B$G%3%s%Q%$%k$7D>$7$F;H$C$F$$$^$9!#(B

---patch-ad $B$3$3$+$i(B---
diff --unified --recursive nvi-1.79.m17n-20040401/common/multibyte.c nvi-1.79.m17n-20040401-detect-iso2022jp/common/multibyte.c
--- nvi-1.79.m17n-20040401/common/multibyte.c	Tue Jun  8 12:22:28 2004
+++ nvi-1.79.m17n-20040401-detect-iso2022jp/common/multibyte.c	Tue Jun  8 12:27:03 2004
@@ -803,8 +803,22 @@
 	size_t len;
 {
 	int ret;
+	int i;
 
 	ret = multi_predict_iso2022(sp, p, len);
+	if (ret < 0)
+		return ret;
+	ret = 0;
+	i = 0;
+	while (i < len) {
+		if (i + 4 < len && p[i] == '\033' && p[i + 1] == '$' &&
+		    p[i + 2] == '(' && strchr("OP", p[i + 3])) {
+			ret = 1;
+			break;
+		}
+		i++;
+	}
+	return ret;
 }
 
 static int
@@ -1407,6 +1421,7 @@
 	struct _detecttab *dt;
 
 	int maybe;
+	int sure;
 	int try;
 	int maxfunc;
 
@@ -1432,6 +1447,7 @@
 		return ename;
 
 	maybe = 0;
+	sure = 0;
 	for (i = 0; dt->func[i]; i++)
 		maybe |= (1 << i);
 	maxfunc = i;
@@ -1450,6 +1466,7 @@
 			case -1:
 				/* remove this code. */
 				maybe &= ~(1 << i);
+				sure &= ~(1 << i);
 				break;
 			case 0:
 				/* leave it as is. */
@@ -1457,6 +1474,7 @@
 			case 1:
 				/* add this code. */
 				maybe |= (1 << i);	/*XXX no effect */
+				sure |= (1 << i);
 				break;
 			}
 		}
@@ -1469,6 +1487,10 @@
 			if (maybe == (1 << i))
 				return dt->name[i];
 		}
+	}
+	for (i = 0; i < maxfunc; i++) {
+		if (sure == (1 << i))
+			return dt->name[i];
 	}
 
 	return ename;
---patch-ad $B$3$3$^$G(B---


PROJECT TEAM $B#D#o#G#A(B $B9bDE@5F;(B                            taka2@doga.jp
                                                   TBD00456@nifty.ne.jp
                     PROJECT TEAM DoGA$B$N%[!<%`%Z!<%8(B $B"*(B http://doga.jp/
9$B7n(B8$BF|(B($B?e(B) $B:#F|$N%^!<%U%#!<$NK!B'(B	[$B%K%e!<%H%s$NCN$i$l$6$kBh(B7$BK!B'(B]
$B<jCf$N0l1)$O!"F,>e$N0l1)$h$j0BA4$G$"$k!#(B
