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

Re: XPL shortcuts etc. [long]



≪ Actually it works fine. You just don't need it in most versions of 3+,
e.g. v3.57. ≫

Hi, Robert. Well, it really does come down to a v3/v4 thing. Just as my
abbreviated frame PFUN did nothing in v4, when the intent is to get a
CMline func symbol, a straight v3 retroport--to wit ...
	{pv101}{if{pv21}<>1}{PRno file}{ex}
	{ei}SI BC pfun {PRpfun-ing...}{rc}{rc}{PR }XC {lb
	}{sv02,GT }{if{is02}e{is11}<0}YD YD DF CL DF {sv01}RD {lb
	}{sv02,CL }{sv03,[}{xs02,03,04,,05}{sx01,{is04}+{is01}}{lb
	}{sv02,wildX}{xs01,02,03,,04}{sv03,[*255*]}{sx04,{is03}+{is04}}{lb
	}GH {pv04}{ei}{ex}
... performs the pfun accurately in my 3.57 but if the intent is to put
the symbol on the CMline, the parse converts all ascii 129 and 130
symbols to their ascii 128 counterpart so, e.g., $B becomes WL.

≪	But how did your 3+ versions become so wordy--whew! The original
was short, lucid, and didactic (as the 3+ version should be): ≫

1. Because the original doesn't take .kbd prefixes like NO, NI, and AR
into account, I can't use it with any function that, e.g., includes the
number 8 since my 8 key requires NI. My input module handles .kbd prefixes.

2. Just as folks complained about my code leaving them in CI, I object to
code that leaves me in SI--as the original does. My version detects and
restores the initial TI state.

3. The v3 programmer must establish {va$tx} manually--as did my version
(and, above, {pv101}, which I'll explain presently).

4. The original leaves pfun XX on the CMline; my version leaves the arg
going in, with the symbol at the CMline cursor location--not necessarily
the last char in the arg.

Yup, it makes for wordier code, but succinctness ceases to be a virtue
when it sacrifices functionality. Actually, the version I use is even
more florid. Like my old pre-parsing utility, it concatenates converted
symbols to @S for later combined use or ci/cv: One arg spills @S at
CMline cp. Experimentally (I'm not sure I want it to do this instead of
just using a .kbd sequence for pfun), it acts according to where it finds
the cursor--text or CMline, acting on the two chars that precede the
cursor, wherever on the CMline or in text. If no arg, it takes
post-launch input.

≪ One of the many intractable problems with 3+ is that you can get 2 out
of these 3 values, but not all: 1) position of cursor within CMline; 2)
cursor Insert|Overstrike state; 3) Header|Text location of cursor. You
gotta choose two among those three. ≫

Not so! Criticism of v3 that's demonstrably untrue isn't the best way
to prove v4's superiority. Not to say that BX/Q2 isn't a huge stride
forward. It is. But getting all three parameters at once isn't even
difficult, never mind impossible. No doubt there are better ways, but
I do it via calls to >99 and Help routines, usually issued by !CL2@.
My .kbd xpl calls all begin with crucial &F--22-byte !CL2@--which
gets the three parameters and eliminates the need for almost any
other ldpm:

	{pv101}{pv102}$5 {ex}

That's it. That's all of !CL2@. Since the length here is already out of
hand, I'm zipping/encoding further explanation (cf further).

≪	And even though all this stuff long predates Tyson, he never
discussed ANY of it! 'The Book', you say? Puh-leeze ... ≫

I do say. The Book lifted the veil for most of us mortals. That said, I
can only guess that The Herb regarded this stuff as your turf and didn't
want to use anything he hadn't come up with himself. Because you're
right: His treatment of nulls is curiously primitive. That doesn't
devalue the book for me, just makes me more grateful that you're willing
to take up the slack. What I've learned from you in the past few months
about using them in xpl has been as valuable to me as what I've learned
from The Book. ... Ciao. 	--a

============================= adpFisher  nyc

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

begin 644 further.zip
M4$L#!!0````(``2>)B)+"WTQ,`(``%0$```(````(49364TR0TQ]4\MJVT`4
M79=NNFX6%42+&$U!DIM'BQ5Y9\KIW'.WJ4Q.\+6W0QV/RL_ID,HX
MH3*;>VVA\J_:G61>F^[XY5&P[Q+LJGBJ\E.5?]+/*?#;;6)C\6)Z,CNWD)(-
M^4=5/&%X?MOD!D3#!>?N9LG-%C)+:NVC_G0N^?!>(_0W-_$*3=RBG87O"CA\
MEQP?OFL&[:[97_KXG2$MC#BWNK/I)6=V76JU4/0'HS&4,6'4*S0(D^L*,R!/
MOUE/O[[R.=++9#&IVB>=]:':XNHC"
MP0/.__`^?&&_K;I&J2#@3GPBL]!"R3ZS>-AHR!?'!X_"\P?@MOT`'`(R$L49
M\FR&&"TTZ*OR:6';O/P%*@L9!+UX*3>KII=@8;N`Z+*!%(066((61HS0@
MI]9D4\K`I<`GX#@9GTX.5RM5X]STX4Q#75T28AL$"^LJ:0N(
MX(!2+3,5QJBZNCD0C4:T6RJY\1?GY9%:4[X&JC&BL;L#[^8!@QKI\RV)H`NM
M3L=Y^NO4I[G1T.E\:H^:CD2LM1)4:%")$YH2U;JN_OC5!GLYUN@JC!^X8[QK
MX:_<&.$(?(F10GT3\3IX(A+!1]IZL@W0S8\[$'`]X-9B7GL-\IN1'N<8CZ/GO42J
MWIW4U3<:?AXFT)#B!SB>$]X;:OX7*_?8_)%+E'BD%T5%
M+-X_T@0Z0]N/:$S3=DP#U=)/%/5V^_0*3K5S)O^LI_93YD;>3@_V9"RP[WG"
M+:,V*=V*DIM/GYE'+[N7]>Z=6V3KX#U0]'VV"*YG+MULW/+SM>O*OTV<'0?A
ME1S&-G%!F#1(%H29A/-%$,XE_)$$X4+"+6:W*..7);SY#U!+`P0*``````!I
MCR8BDTVL]!8````6````!0```"%#3#)`KG!V,3`QKZYP=C$P,J__@7VN97BO
M&E!+`P04````"`!ECR8BZU+0H'L```"O`````P```"%#4%M77&9HI/-V_;K,
MM'69Q89&Z]\!*0.#]38&Z]>EYS2L7Y>:N7Y=<86;SKJR1)6T@O4@A0[%F54:
M0&5NZS5M#!&R!8GK(X"``#9
M!@``#````%-/345(14Q0+DA,,WU5P6[:0!!54U51D?B!]A`J6540&VEWL3%4
M""5%"2(-"$,)`2*.HMOHIO7L/N?4G\A&Y]Q[EL)V971M#2(78
M8=?CF7GOS0[7UVTV[SK3`7.J-S?%0K&PE80+SEDR"`57*@EGO@>;T_UP\&,7
M#CE7Y990.KI+PKGO,AW=JZ0_4#JNJ/3D*^QV'G3T[2'Y/O4].%\(01&%JH#Q
M746^'@._Q"1Q&7CA2BDP@$K&X(*!,8J;;J-+RDUEP1M>]D9TI4PZ#+J"H;]0
M6P@-P8Z[O7/FB,U8YT*R6[(NVR9;8P]HI61_#`S"(3GA$-*8AC&N,?[*KFY,
MS1B#7YKWI%BK3;8/>V/FR.>*\Q$QE+B;BA&H)'H,#QI*A`*ME!7BR-?
M4(1YPQSN"6!HV+1Z_::8#1O3H'H:!53\;XA\_9/^T6PX9$YM$P`=7T/PELKU
M$A!7QD*)[[?'^+$BX(\%/&?P`#3`U:<3G\%3/(&UH;+24YJE(MB\BE6VJ,J5
M"B^ZY[9&]YENQW@0M9ZVU1J&'?SJ(-"_Z-Z,Y]QT3H-6L8II7[8[S/'7@05K42FK
MEU>:I@:W&8(T`0)[FN2B.QAMINX&NJIB0:.)#X
MJ7.FB@7#XT)R9FY,Q?CA1,EWO6NZ_LXD,"?YKL<>X6R-Q1VJ)YM%V`Z(=K8$
MX)%;TOEXIBS)!.0=II=S^9C4IY;73\>H6Y:3^<;FQK
MHT>F+XQ*&V;24Y93G-MWQ`4\\=&E!/\+E^$'V-=KJM0^'`Y&_=((+L^'6_2I
MJ]L-XO4F[X>GS\VO&H,[H])LO>SVP&^K56'92.G(Y.DX)9]27;JD
MM;SY!U!+`P04````"`!-J20BW-FV[7H```"O`````P```"%51%M77&%HJK,N
MN6#]^G69:>L*R@Q-U]L9K/_?$`V2,8+*I&8"19+A"FP,UR/)@M0"%L9OVZBF(@
M&RBN8V&FXP)45KLNO<3"#*0>Q`;JE@(`4$L#!!0````(`$2I)"*72,L*90``
M`'X````#````(5)#6U=<9F&F\[_A_/IU!66&!H;KUV6F@5BFZVUM0;31>I"$
MA=GZ=:D50)RY'JC!T!BH(1G(JC`TUUE7EJB2DK8>IL]\O9W!^O^-%_\WRK]^
M6/^_H?9_XTFX5I`-9NO_-^0"Q4&"4@!02P,$%`````@`2*DD(GM6FFW*````
M30$```,````A0D1-4#NNPD`,K+D"S:.@(\4Z4<(B)5PD%;^@O$=0I$A1&L3F
M0O99.$)J)*ZPV+L)O&;'8\VLQ\:FA3!X#G?"LL"R48JRC!%"(MO_X/DR$)Y*
M8IU.`MNO".L6%#@Y5['(&5G.H!,6=Y,!HL":G*L.U@&VN^6QH,FWIA3\5U^+
M[1]XV0_.D'A#0XYISZZJ%,"$S:_[\"J!IFPK&]%^D)Y&;]&G'
MTO97L.8P7H'7>0E$E"H>F8\>-]FEWK@7)(XUE83B'>9O4$L#!!0````(`(*=
M)B*WQZ[0R`$``/`#```,````4T]-14M%65,N2T(SK5+-BMLP$#YW85^@IUDH
M8A>TA.VEL"%0(B6VP>V6)!1?'7E$W)5E(V,.?A[[=`X>,;#
M4)&D_`=G+DGGEK4#71&[+!J&U(#Z8VN(`_I@EZ3KC
MW[G(F1/92IR`E3LMGL+Y5:&F_X`VU!ZA:M7$8^B]A=`2P^/8A)X+_H4WW'&(
M6EE42S:RF"\+*9>;I5P60CZ]>7=9QGGL2".:BOU@J^\?XH%41H?GE7*1L?B)
MO.6:W_,'/ANN1W'YE*3,%:(02;K(J4P1;L87.47"E,B2S?`,4YC]RSIRZ-XJ
MZ`[-MC7Q[4Z>6$=UDO2\YY9+V3#(O
MH`K4KO1Q6D88O)O22PQ-0!:"C#):_PZB
MU-;.8/W_1NUUZ3DV8`O!IB$Y0@H`4$L#!!0````(`#*>)B+$+*U^D`<``*\.
M```'````1E525$A%4GU7S6X;R1$&]K8&]`*YI-8@(,D>CD5J&46*K)4L1[$`
M;7:!Y4((C!R:,TVRXYGIP70/*:XP@/PLN9./DD,>(4^Q)^6KFA]*/MB`/0=C:_)≫5U0)<_)B;3;[R^\Q25A;,%)392WM@L
M()7%S89V+;?.\)HLY2KZI&;:D9_K5+Y8O!5DLJG%/Z3H[/B84I.9?JR\FBBG
MR;V98;ORS=:\L+-"I8XBE5&9L45:&C^'M7H#6\"9D.H`(I4DCJ9E%K$7>"ML
MVMR3F$FABE5M'=$5OLQ#DWF:*X>85*SCVD=$,]=)CK,JU2<[+W9>K//%X&"P
MD<=P\_BY6NN[#2]<9Z2G4T`6T+WLJ>CMS@O"GWMW-Q@$+^\7JN?OJI<5[7T%
MR7T^@[L#6LY-HLGX70&MT,'6VBBXC_(*AJ;V"2X236IF(NFIK"^3HW*DDMWE6V:B\2XVZ?PC`40!P'
M&ZS%S%K,;#9K,P5"P\'F%%#][>9NL]9FLQ;/UU'>K@]&F[.#S>/#1UX9-BO8
M^/@0=1O8P':5]XJE!1!]?*BVAMZ^Y≫0MU3KFW=WSVYKMJ>2MD%]Q^=_2]H0
MA:1:^<&P<_.6B=[X`*+J66'\BB*;(BFI
M<>#K9$7W;'!8!919RC2^>0NJ9S.I,\IUD:I,@QBI3FVQ"LC9AA^975+I4)T7
M-]?C\8<"/F?9,SDXD!$H5QU2SW50O
M>==7Z"X^#RJ!\?[^,I!30>^PJOC+-\^``KY'R*B9/@7S;`"\_H,,''V/#/^O
MR>WK3?OE'_CUQ]_!F]\!Z-%(D!Z(Q<'F-1Y'WV^>IX/K^1N^_/3T6Z!V^#H@
MDR+?SDQ0CDW,#(2?%UHW"A0A+!6M0CH[XZ,_S0-::37_@6Y1:D&=F$$5;#/$
M.$UK?`_I7R7`C4V,BNWW>86-VA+0JA190P;K:[01G1,<@6%+20L^9)"=TO%.
MO[2L@@X%;F)=JYY<"Q*G*_K`$D*CSJZ#K/8XC(VXM7#ZVIMV@"NFGY[U%9&!4\?&FQ30[B:6V41"[SE"3R?61L;W>BRR:*D1#X4(2HO'HI2T5BZGQ=
MH54$2N-:O":HTH7>%C%_%6D1SD)/3%XF7/CW[$952RD0.Z[Z?08,KT>5]#*V
MF>-&&$?$6VL2,(BZ-YT/+V]"^C6KZ="D-:!)4A8(W"8==9A5M'=^M1\``%\6X&N3
M',^S"H1?)4\"V$X^7QF-"NV\Q3^=4G:*QVX%O:,O!>]J\[PIR,`QVGRI?@1(;,.8WL4)C5<._66I.']JIDP&PM82";?9E2TWG/SF>F7VXUA(BT/>!@9!
M]B;E;-8.BUH5T9R-&.$7-,^C$:`/?[N8\HKK(
M&!J.#E$;5^\#MC/1F`D03^\=?7PU'(U>_?/CJ\'PF!_R*Z1QL9(V83$5;J&4
M^UOM_?GJU[]S@Q'1P>(UZ85-%CJNBQ773-'Z?L,U:"ANY;Q.&^GF$VZ53FP"
MEG,\L7%YHE;-/!WK*2Z+0V;*1'.L&+?-I^Y,[P*"S%55]QG&<%<7IH<'OGH"VW";ZH0:@-
MN0Z18Z[_WP(-9$U"K\V\P80DTQ'B&`MX*"6H?<+#VG637*%W"('.-2-!@I[K.7F3;$:`N:/C&
MIM"?;097FT;-8B`Y5]R&2=]%.F^D:^JY.Y;>\[7(9),+KE3XSA7",,F\X=N`
MO=3'W>H6,ZJN:9UHGCJ9<9PQFT$:==;.BPU'1"/Z?>1^UW/524W!HW>7'222
M`Q@/Z5ND[4W,I?Z'_P-02P$"%``4````"``$GB8B2PM],3`"``!4!```"```
M`````````"``````````(49364TR0TQ02P$"%``4````"``IGB8BIN9RSML!
M``"/`P``"P```````````"````!6`@``(4-/3D9)1RY,24)02P$"%``*````
M``!ICR8BDTVL]!8````6````!0`````````!`"````!:!```(4-,,D!02P$"
M%``4````"`!ECR8BZU+0H'L```"O`````P`````````!`"````"3!```(4-0
M4$L!`A0`%`````@`&)XF(LSH5.7N`@``V08```P````````````@````+P4`
M`%-/345(14Q0+DA,,U!+`0(4`!0````(`$VI)"+@```*\````#````
M``````$`(````$<(```A54102P$"%``4````"`!$J20BETC+"F4```!^````
M`P`````````!`"````#B"```(5)#4$L!`A0`%`````@`2*DD(GM6FFW*````
M30$```,``````````0`@````:`D``"%"1%!+`0(4`!0````(`(*=)B*WQZ[0
MR`$``/`#```,``````````$`(````%,*``!33TU%2T594RY+0C-02P$"%``4
M````"`!=CR8B:.U%S((```"U````!0`````````!`"````!%#```(4`R0TQ0
M2P$"%``4````"``RGB8BQ"RM?I`'``"O#@``!P```````````"````#J#```
=1E525$A%4E!+!08`````"P`+`$("``"?%``````
`
end
sum -r/size 31815/8129 section (from "begin" to "end")
sum -r/size 63647/5879 entire input file