[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Del/Backspace undo: !OutBack



≪	The only real drawback to overwrite--I find this particularly
hazardous in writing XPL--is that you can lose some text that you can't
easily recover. ≫ --Eric Van Tassel on "Binswanger's Overwrite query"

This reminded me again of a terrific feature my first word processor had
that I still miss, an undo buffer of the last 256 chars overstruck,
deleted, or backspaced. ^Ins restored them one by one, LIFO, to the
display. When I switched to xyWrite, I was surprised to find no
comparable function. That's what I thought undo meant; LEWP used other
terminology for what XyQuest called undo.

TTG alert: TWPFKAXW could do worse than to add a like utility.

I replicated two-thirds of the feature in xpl, files I'll call
collectively !OUTBACK. The missing third, alas, is the overstruck chars
part; I don't even want to think about what would be involved in trying
to do that with xpl. !OUTBACK--uuencoded below--buffers the last 255
chars deleted and backspaced and retrieves them LIFO.

Making the process as fast and invisible as possible requires a support
library plus ldpms (about 1600 bytes all told) that replace BD and RC on
Backspace and Del keys and need a new retrieve-character key. !OUTBACK is
v3.55+ xpl and I can't test it in v4 but if you use v4, not to worry: Per
Robert, "XPL itself is not much changed, really, from III+." If you want
to try an *untested* v4 port that's about half the size of the v3 version
and requires no ldpms (bless that BX), it too is in the uuencoded
package. ... Happy holidays. 	--a

!OUTBACK.UUE ================================================

section 1 of 1 of file !outback.zip < uuencode 95 (v40) by R.E.M. >

begin 644 !outback.zip
M4$L#!!0````(`".0E2$2+(,Y-`8``(,,```,````(4]55$)!0TLN2$]7=591
M5]NX$GY.SLD?V)>=?:%PKN,E$%I@+WMH2#F'%MH>2LJ]CXH]CE5DR4>2$]RW
M_B'XB=T9V0ZAV^8!(VEF],U\,Z-YN)I./CS^\6%V,WE]]HY6[Z\>CZ%R8H'P
M<#D]>1ST!_WN&*0#`0X]F`Q\;A'AOKZ%_?C@X#^0284N@M;@9-K86F]3%I5&*X-"*5>D%`L`"IO8$"
M"V/K<(%P3BXT'0_ZX9Q.[[!VX+RQZ%@'E'`>]@X.(,F%%8E'ZV`NDCM7B@13
M,!925.@Q'?2E)K_G59:AAI&V@B7\Z0(JI@4\WKZ]O9A_CB_(L+7D^&@$L,U\
MAFS?H'J'E8:_^OTR1J.#5Z]@7GMT',B'R^GP$9ZN_DP>'.[MAAC_4.^?QTVY
M/VL]E29#GF*]',-LCS"*@@WWB"^FO"B5='E(:D
MV\IY3O&F"H*M-?.SO:C+JG6VA`0E/:FEET+)KZ'PN_;P5"[?7[]QRVE$WW/X
M=[WT'L+AXSH>X1]R_OHQ?M=USV.XT,W%"8$D)D*VW0O%,
M0]\*#6_07TF?1X#Q(C[F*Y:A6P_Z:\)&XY,NSV`E'$RFM'FX?]*E5-B\/@NZ
M8]9K=-Y>1=O17A1'DV@:[30JZ[WKZ(SW!OTXCIMV3.$5!-E;B4NA&!JL_$3QTW)/I3FKH-^;_`(0*!03`;7?OSN.UTMSGJ3?,619*3
M!>GY"2BDCQC'"Z78ADSP>0:RA2DJ<*I:+*3+-3K'37K]['(@.73>RJ(@?G]@
MDO7Y/1=W""M1A\>-`8#&5="-8:85&^5@Y&*)X$R!C-(9S=JL<8=8M@,"$#72
M=N8CR%3E6S+C39@6Y64609#'\K[ZUDD*?FJ3B5R>\:LQ83I"%.8^2ZGNV"ZT"Q#1R57`XB-X.W$W,26
M^]%Z7!**-+YPUTT4<@S)UMD5#Q91(+XNFS:&]YA4'D.W[/TX7#R](\.AB"&.
M0^+>,A$"%CPL914G9]H-9%*[4EIDL\-;00PB#Q?(9;W*#:RL\1B&12@,0?.Y
MJ1:Y9R,\2MF,4WL[C$`9"L^#A-2)JE),=X#GDY6Q*;%D$@J?L8,^+M'2'5],
M37>V$;O$9F1]DRX0;EGA8Z?0<-)BO:]OY5=A4V[?.==!2K=Y*(USRR7E/3QFC]NM0*(,Y<_[\A
M=UUQF:&QCG3$^G7%%88F.F`UZ]=5%`/90'$="S,=%Z"RVG7I)19F(/4@-E"W
M%`!02P,$%`````@`!Y"5(=,E,\Y>````?`````,````A4D-;5UQF8:;SO^'\
M^G4%988&ANO79::!6*;K;6U!M-%ZD(2%V?IUJ15`G+D>J,'0&*@A&6J)*2MAZFSWR]C2'$*"0M(*[1^O^-\J\?UO]OJ/W?>!(D)04`4$L#!!0`
M```(``N0E2%1WTN@S`$``%4#```#````(4)$75)-:]M`$*64$EKH'T@.[:&'
M&&]@I-7*68JA$B$"+Y[P1V?E.N">0/Y+!]L[M*
MU2+8V=6\F7GS9E11>KYXN+LAE2U45DA)!P>PGD^DFW=JF4])?<\(N#@4NNF3
M6I≫]`PZ_H1;Y45"E9\_?%M0&Q?1R+.I.B'\]$GE
M7Z:DZVN."VU<029+;%\_Z3D210)A?('QG1X1V99.74-@]KA[>+G^MF8.Y^:V=6X@3CI9D>US=;%^S[?0O`,P_>$JQ92,V`[H
M/VC<@;H^_SH'SNG*UE\[Q-GL$PA#1X[DB62+PR*[,MU(ZK&*\[25_!(9G%!F
ME!Q`>C;34O+9])$'IUK^1G8N.$3K6Q]UK5/=O#C6]=-8-R]/=//JS+@'`L,X
M_Y<0;T@""2O9PS,^OYZ72E7RB41)Z[#LJ]KP(BW6+890+;=U:R;A_=E;QC,
MZV*<0HFPQ'N\.^1M?G)><(SW=+A/D\Z>CW%T,2>FW&8BB`#$;"*BA-O0;0+>
M2QU+=\8SK`0YP.-0Z!(6`=BMJ7:G0Z\%]8N:2(8?KD.$*PI]\*PZ8!=K=)3F
M[5$T]I:)6>SCUC3&&/4PE.:#F"Z)=7@D744SS*PXL3C:?I)MY@1K`04Q'8-%
M'.[3;,RN]0IJ29-IKNS\TM,"KRD53\.&5C\0X:AA3E'XD94'U;5DGXO13$[LRT97KY,
M\H_7EB9&Z$+!DY0["A>#S%R5O8%&9MOOUT5T3GP'DT_R3-GA0M>CUX8BR#4@
M,F9?MJG\CZ,#9>8BVZSSG_+T#U!+`P04````"``0D)4A'XB2M2`!``#K`0``
M#````"%/551"04-++DQ)0DU0P4Z#0!`]:^,/Z*%X:4HZ$G1"@*@
MM/8>R_SRL\%$V"-*]3,==#`JH[INXXB'S\E2]),@)*A4>SO)`;`)#Q=
M2N06_9W[E"=P_13DCBPZ32C5$$=`S#ES:B/3;MYT/9'+VB7."F^5N?(]]U:%*QM"&U+8G!Z9=GC[!U!+`0(4`!0````(
M`".0E2$2+(,Y-`8``(,,```,``````````$`(``````````A3U540D%#2RY(
M3U=02P$"%``4````"``"D)4AC"$8HEX```!L`````P`````````!`"````!>
M!@``(55$4$L!`A0`%`````@`!Y"5(=,E,\Y>````?`````,``````````0`@
M````W08``"%20U!+`0(4`!0````(``N0E2%1WTN@S`$``%4#```#````````
M````(````%P'```A0D102P$"%``4````"`!GCY4AQ-N@N( nyc