From owner-FreeBSD-users-jp@jp.freebsd.org  Sat Mar  6 01:38:15 1999
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) id BAA04809;
	Sat, 6 Mar 1999 01:38:15 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from od3.sharp.co.jp (firewall-user@od3.sharp.co.jp [202.32.86.132])
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) with ESMTP id BAA04803
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:38:12 +0900 (JST)
	(envelope-from kuma@slab.tnr.sharp.co.jp)
Received: by od3.sharp.co.jp; id BAA16544; Sat, 6 Mar 1999 01:38:11 +0900 (JST)
Received: from unknown(133.159.14.115) by od3.sharp.co.jp via smap (4.1)
	id xma016496; Sat, 6 Mar 99 01:37:56 +0900
Received: from td1.tnr.sharp.co.jp (root@td1.tnr.sharp.co.jp [133.159.52.20]) by od.sharp.co.jp (8.8.5/3.5W-98081113) with ESMTP id BAA13629 for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:37:56 +0900 (JST)
Received: from mailfwd.slab.tnr.sharp.co.jp ([10.32.30.11]) by td1.tnr.sharp.co.jp (8.8.5/3.5W-97080613) with ESMTP id BAA27597 for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:37:55 +0900 (JST)
Received: from server01.slab.tnr.sharp.co.jp ([10.32.50.4])
	by mailfwd.slab.tnr.sharp.co.jp (8.8.4+2.7Wbeta4/3.6Wbeta7) with ESMTP id BAA02020
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:36:46 +0900 (JST)
Received: from gaye.slab.tnr.sharp.co.jp (gaye.slab.tnr.sharp.co.jp [10.32.49.117])
	by server01.slab.tnr.sharp.co.jp (8.8.5/3.6Wbeta7 98051815) with ESMTP id BAA02239
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:37:55 +0900 (JST)
Received: from gaye.slab.tnr.sharp.co.jp (kuma@localhost) by gaye.slab.tnr.sharp.co.jp (8.8.7/3.5Wpl5) with ESMTP id BAA11331 for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 6 Mar 1999 01:37:54 +0900 (JST)
Message-Id: <199903051637.BAA11331@gaye.slab.tnr.sharp.co.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-reply-to: Your message of "Sat, 06 Mar 1999 01:09:13 JST."
             <199903051609.BAA02184@jaz.jp.freebsd.org> 
Date: Sat, 06 Mar 1999 01:37:54 +0900
From: Norihiro Kumagai <kuma@slab.tnr.sharp.co.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+981115
X-Sequence: FreeBSD-users-jp 39519
Subject: [FreeBSD-users-jp 39519] Gap Buffer (was Re: nxedit)
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: kuma@slab.tnr.sharp.co.jp

$B7'C+$G$9!#(B

$B3X@8;~Be%P%$%H$G%9%/%j!<%s%(%G%#%?$r?($C$F$$$?$3$H$,$"$j$^$9!#(B

In Message <199903051609.BAA02184@jaz.jp.freebsd.org>,
  SASAKI Shunsuke <ele@pop17.odn.ne.jp> writes:
>   $B$U$`!#(Bgap buffer$B!#(B

$B%+!<%=%k0LCV$r6-L\$KA08e$K%F%-%9%HJ8;zNs$rJ,$1$F!"5pBg$J%P%C%U%!(B1$BK\$N(B
$B@hF,$HKvHx$K$=$l$i$rCV$/J}<0$r8@$$$^$9!#(B

$BJ8;z:o=|$N:]$KJ8;zNs%3%T!<$,@8$8$J$$$N$G!":o=|$r9bB.$K9T$J$&$3$H$,$G$-(B
$B$k$H$$$&$4Mx1W$,$"$j$^$9!#J8;zA^F~!"%+!<%=%k0\F0$N:]$K%G!<%?%3%T!<$,@8(B
$B$8$^$9$,!"$3$l$b0\F0J8;z?t$@$1$N%3%T!<$G$9!#(B

$B%G!<%?A`:n=hM}NL$,(B($B:G0-(B)$B0\F0J8;z?t$KHfNc$7!"JT=8Cf$N%F%-%9%HAmNL$K0MB8(B
$B$7$J$$$N$G!"1~Ez;~4V$,=EMW$G$"$k%9%/%j!<%s%(%G%#%?$K8~$$$F$$$k$H$$$&$3(B
$B$H$J$N$G$7$g$&!#(B

$B%F%-%9%H$NCf$[$I$K%+!<%=%k$,$"$k>l9g!"(B

  |---($BA0$N%F%-%9%H(B)---|...(gap)......|---($B8e$m$N%F%-%9%H(B)----|
   ^                    ^              ^                       ^
 top                   gap            ptr                     end

$B$H$$$&46$8$K$J$j$^$9!#%P%C%U%!$N??Cf$K3d$1L\(B(gap)$B$N$h$&$JL$;HMQNN0h$,(B
$B$"$k$?$a!"(Bgap buffer $B$H$$$&$N$@$H;W$o$l$^$9!#(B

($B6-3&>r7o%A%'%C%/$rL5;k$9$k$H(B)
1$BJ8;zA^F~(B: *gap++ = c;
1$BJ8;z:o=|(B: --gap;
n$BJ8;zA^F~(B: strcpy (gap, s); gap += strlen(s);
n$BJ8;z:o=|(B: gap -= n;

1$BJ8;z8e$m$X(B: *gap++ = *ptr++;
1$BJ8;zA0$X(B:   *--ptr = *--gap;

$B$H$$$&46$8$G=hM}$7$^$9!#(B

>   $BE,Ev$K8!:w$7$F$_$k$H!"(Bemacs$B$G?'!9$R$C$+$+$j$^$9$M!#(B
>   $B$G$b$=$N@5BN$,2?$J$N$+$O$o$+$j$^$;$s$G$7$?(B....$B!#(B
> $B!t$U$`(Bnews$B$+!#??LLL\$K(Bnews reader$BC5$5$J$$$H$$$1$J$$!#(B
> $B!t$&$&!"(Bgap buffer$B$H$+5$$K$J$C$F;EJ}$,$J$$(B(^^;$B!#(B

$B$H$$$&$3$H$G!"5$$,@2$l$?$G$7$g$&$+(B:-)

--
$B7'C+(B $BE5Bg(B
