From owner-FreeBSD-users-jp@jp.freebsd.org  Mon Mar  8 23:29:00 1999
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) id XAA18536;
	Mon, 8 Mar 1999 23:29:00 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from magician.fortune (KWMcc-01p09.ppp.odn.ad.jp [143.90.103.9])
	by jaz.jp.freebsd.org (8.9.2+3.1W/8.7.3) with SMTP id XAA18519
	for <FreeBSD-users-jp@jp.freebsd.org>; Mon, 8 Mar 1999 23:28:56 +0900 (JST)
	(envelope-from ele@pop17.odn.ne.jp)
Date: Mon, 8 Mar 1999 23:28:56 +0900 (JST)
Message-Id: <199903081428.XAA18519@jaz.jp.freebsd.org>
Received: (qmail 5676 invoked from network); 8 Mar 1999 14:28:22 -0000
Received: from unknown (HELO moon) (192.168.1.9)
  by 192.168.1.1 with SMTP; 8 Mar 1999 14:28:22 -0000
From: SASAKI Shunsuke <ele@pop17.odn.ne.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <199903051637.BAA11331@gaye.slab.tnr.sharp.co.jp>
References: <199903051609.BAA02184@jaz.jp.freebsd.org> <199903051637.BAA11331@gaye.slab.tnr.sharp.co.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver 1.24.16
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 39591
Subject: [FreeBSD-users-jp 39591] Re: Gap Buffer (was Re: nxedit)
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: ele@pop17.odn.ne.jp

  $B$I$&$b!":4!9LZ!w(BODN$B$G$9!#(B
  GIII(generation$B$K$"$i$:(B)$B$r8+$K9T$C$?$j?'!9$7$F$F!"(B
  news$B4D6-9=C[$7$F$^$;$s$G$7$?!#(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

  $B$"$j$,$H$&$4$6$$$^$9!#(B
  $B$J$s$H$J$/%$%a!<%8$O$D$+$a$F$-$?$h$&$J5$$,$7$^$9!#(B
$B!t$C$F(BFreeBSD$B$H$OD>@\4X78$J$$%9%l%C%I$K$J$C$A$c$C$?$h$&$J(B(^^;$B!#(B


$B5?Ld(B1:
  $B%+!<%=%k0\F0$N%3%9%H$,L5Cc6lCcBg$-$/$J$C$F$7$^$&$h$&$J5$$,$7$^$9!#(B

    ex.
    $BA4BN$G(B16000$B9T$N%U%!%$%k$N(B1$B9T$a$K%+!<%=%k$,B8:_$7$F$$$k;~$K!"(B
    8000$B9TL\$K%8%c%s%W$7$h$&$H$7$?>l9g$J$I!#(B

  $B$G$b(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$H$"$k$N$G!"$=$l$r2sHr=PMh$k$H$$$&;v$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

  $B6-3&>r7o%A%'%C%/$H$$$&$N$O!"(B
  $B!V(Bgap$B$d(Bptr$B$,@.D9$9$kJ}8~$KNN0h$,;D$C$F$$$k$+!)!W$N%A%'%C%/$G$7$g$&$+!#(B

  $B$J$k$[$I!#(B
  $B$H$C$F$b$o$+$j$d$9$$$G$9!#(B
  $B$=$&$+!"$=$&$+!#(B

  $B$8$cNc$($P!"%+!<%=%k$,0\F0$;$:$K%+!<%=%k0LCV$N8e$m$K%F%-%9%H$rDI2C$9$k>l9g!"(B
  ptr-=strlen(s);
  memcpy(ptr,s,strlen(s));
  $B$_$?$$$J%3!<%I$r$+$1$P$$$$$o$1$G$9$M!#(B

  $B$J(B....$B!#(B
  $B$J$k$[$I!"LLGr$=$&$+$b$7$l$J$$!#(B


$B5?Ld(B2:
  $B$3$l$C$FJT=8Cf$N%F%-%9%HA4$F$KE,MQ$9$k$b$N$J$N$G$7$g$&$+!)(B
  $B$=$N>l9g%.%c%C%WNN0h$r$I$l$@$13NJ]$9$k$Y$-$b$N$G$7$g$&$+!)(B


  $B$G$b$3$lC1BN$G;H$&$b$N$G$J$/$F!"(B
  $BB>$N$J$s$i$+$NJ}K!$HAH$_9g$o$;$F;H$&J*$J$N$G$7$g$&$M(B....$B!#(B

  $B$^$!!"(Bnews$B4D6-9=C[$7$F$_$?J}$,Aa$=$&$J$N$G4hD%$C$F$_$^$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:-)

  $B:#EY$O<B:]$N%3!<%G%#%s%0$G$I$&$9$k$+$,G:$_$G$9(B(^^;$B!#(B
  $B<B:]$K%.%c%C%W%P%C%U%!$r;H$C$F$k%3!<%I$r8+$F$_$?$$$G$9$M!#(B
  $B$H$7$?$i(Bemacs$B$N(Be-lisp$B$rFI$`$7$+$J$$$N$+(B....$B!#(B


- $B:4!9LZ(B $B=S2p(B -

