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

Re: Search/Replace Func Characters?



** Reply to message from Brian.Henderson@xxxxxxxx on Mon, 17 Feb 2003
08:57:44 -0800


> I think the idea that this was a silly question was based on my intuitive
> sense that this action is pretty much unthinkable in Xy3

It's altogether thinkable. You can search for functions in Xy3 simply by
putting the 3 bytes of the func on the CMline and prepending SEA (remember that
the first byte, which is always 255, will appear as a space). The following
puts the constituent 3 bytes of the function on the CMline or the actual func
in text, depending on where the cursor is located when you eXeCute:

XPLeNCODE v2.0
b-gin [UNTITLED]
{<}SX01,{<}VA$WS{>}{>}{<}IF{<}PV01{>}<>1{>}{<}PRNo file{>}{<}
EX{>}{<}EI{>}[SI_]{<}SX01,0{>}{<}SX02,{<}CP{>}{>}x{<}IF{<}CP{
>}>{<}PV02{>}{>}{<}SX01,1{>}{<}EI{>}[BD_]{<}IF{<}PV01{>}<1{>}
{<}SV02,[255+070+070]!${>}{<}PV02{>}{<}EI{>}{<}SU02,{<}SX03,{
<}IS00{>}{>}[NO_]{>}{<}GT02{>}[BC_]pfun {<}PRPFUN-ing...{>}{<
}RC{>}{<}RC{>}[XC_]{<}PR {>}{<}IF{<}PV01{>}<1{>}[YD_][XD_][DF
_][CL_][DF_]{<}SV01{>}[RD_]{<}SV02,{027}X{>}{<}XS01,02,,02,04
{>}{<}SV02,[255+070+070]{>}{<}SX04,{<}IS02{>}+{<}IS04{>}{>}{<
}SV02,[255+033+036]{>}{<}XS03,02,02,,01{>}[BC_]{<}PV02{>}{<}P
V04{>}{<}PV01{>}{<}EX{>}{<}EI{>}[BC_]{<}PV03{>}[GT_]{<}EX{>}[
cr|lf]
-nd
XPLeNCODE

When you're done with that, the function will be sitting on the CMline preceded
by some spaces. Type SEA at far left, leave _three_ apparent spaces (two real
spaces and then 255), then the two (visible) chars of the function. Hit XC.
Obviously, you could change the code around to suit your situation, i.e. make
it more or less automated, depending.

Following is a complete "search for functions" program:

XPLeNCODE v2.0
b-gin [UNTITLED]
{<}SX01,{<}VA$WS{>}{>}{<}IF{<}PV01{>}<1{>}{<}PR No file{>}{<}
EX{>}{<}EI{>}{<}SV01,ABCDEFGHIJKLMNOPQRSTUVWXYZ#@$&0123456789
{>}{<}SV02,{027}{>}{<}SV03,{>}[BC_] SEArch for function: {<}
LBA{>}{<}PR Enter 2-char mnemonic; {016}`Esc'{>}{<}SX04,@UPR(
{<}RC{>}){>}{<}IF{<}IS04{>}=={<}IS02{>}{>}[BC_]{<}LBB{>}[GT_]
[DO_][FF_]{<}PR Abort{>}{<}EX{>}{<}EI{>}{<}IF{<}IS04{>}{238}{
<}IS01{>}<0{>}{<}GLA{>}{<}EI{>}{<}SX03,{<}IS03{>}+{<}IS04{>}{
>}{<}PV04{>}{<}IF@SIZ({<}IS03{>})<2{>}{<}GLA{>}{<}EI{>}[YD_][
BC_][DX_]{<}SX05,{<}VA$EB{>}{>}d eb=0,0[XC_]{<}SU06,d eb={<}P
V05{>} [XC_]{>}[BC_][SI_]{<}SV01,$A,$I,@6,DT,TS,WC,WL{>}{<}SX
04,{<}IS03{>}{238}{<}IS01{>}{>}{<}IF{<}PV04{>}<0{>}{<}GLC{>}{
<}EI{>}{<}IF{<}PV04{>}==0{>}{<}SV02,{129}[255+070+068]{>}{<}E
I{>}{<}IF{<}PV04{>}==3{>}{<}SV02,{130}[255+048+068]{>}{<}EI{>
}{<}IF{<}PV04{>}==6{>}{<}SV02,{128}[255+048+068]{>}{<}EI{>}{<
}IF{<}PV04{>}==9{>}{<}SV02,{129}[255+048+068]{>}{<}EI{>}{<}IF
{<}PV04{>}==12{>}{<}SV02,{128}{247}{>}{<}EI{>}{<}IF{<}PV04{>}
==15{>}{<}SV02,{128}[255+070+068]{>}{<}EI{>}{<}IF{<}PV04{>}==
18{>}{<}SV02,{128}[255+070+070]{>}{<}EI{>}{<}GLE{>}{<}LBC{>}p
fun {<}PV03{>}[XC_]{<}IF{<}ER{>}{>}[BC_]{<}GT06{>}[BC_] Bad f
unc call "{<}PV03{>}"{<}GLB{>}{<}EI{>}[DF_][CL_][DF_]{<}LBD{>
}[BC_][XC_]{<}SU04,{<}SX01,{<}ISA{>}{>}[NO_]{>}{<}GT04{>}{<}S
X04,{<}VA$ER{>}{>}{<}IF{<}PV04{>}<>11{>}{<}SVA,{>}{<}GLD{>}{<
}EI{>}[SV_]A{<}SX04,{<}ISA{>}{>}{<}SXA,{<}IS01{>}{>}[RD_]{<}S
U01,{<}SX02,{<}IS00{>}{>}[NO_]{>}[BC_][255+070+070]{128}{<}GT
01{>}{<}SX04,{<}IS02{>}+{<}IS04{>}{>}[BC_]{<}PV04{>}[EL_][RC_
]{<}GT01{>}{<}LBE{>}[BC_]sea {006}[255+070+070]{<}PV02{>}{006
} [SEArch for function {<}PV03{>}][XC_]{<}
IF@NOT({<}ER{>}){>}{<}GLF{>}{<}EI{>}[GH_][EL_][CR_][CR_]b[XC_
]{<}IF@NOT({<}ER{>}){>}{<}GLF{>}{<}EI{>}[BC_] Func {<}PV03{>}
 not found{<}LBF{>}[GH_][EL_]{<}GT06{>}{<}SX01,@SIZ({<}IS05{>
})+8{>}{<}LBG{>}{<}IF{<}PV01{>}>0{>}[BD_]{<}SX01,{<}PV01{>}-1
{>}{<}GLG{>}{<}EI{>}[GT_][DO_][FF_]{<}PRDone{>}{<}EX{>}[cr|lf
]
-nd
XPLeNCODE

You need to DECODE these using Xy4. There's a ton of information about this
and related Xy3 problems in CTRLCHAR.TXT, available at XyWWWeb.

-----------------------------
Robert Holmgren
holmgren@xxxxxxxx
-----------------------------