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

PFUN[C] [was Re: Printer list...]



Reply to note from "Robert Holmgren"  Sat, 7
Feb 2004 10:31:16 -0500

> PFUNC can put a string of funcs; PFUN just puts one func (don't
> have to "Esc"ape as with PFUNC).

PFUNC makes an exception for funcs BX, JM and JH. For those it puts
the requested func *plus* a companion func Q2, and EXits. The
cursor is set between the two funcs, so you're ready to type your
command or framename. The cursor has to be in text; on the CMline,
PFUNC reverts to its usual "persistent" behavior.

On a related note, Patricia writes of the built-in (non-U2)
PFUNC|PFUN commands:

> I think most, if not all, functions can be entered thus.

That's right. The notable exception is func TS (Toggle ScrollLock).
_DO_NOT_EVEN_TRY_ to put a func TS with any method except U2 frame
PFUNC, unless you're prepared to kill and restart your XyWrite
session -- and lose any unSAved data in the process! Instead of
embedding the 3-byte function, what these commands do is _execute_
func TS. After that, all keystrokes are captured and written to the
screen as XPL; there is, literally, no Escape.

Frame PFUNC will put a TS in text, no problem, but inexplicably it
balks (albeit politely) when you try to put TS on the CMline. I'll
fix that in the next release of U2. For those of you who can't wait
to put a func TS on the CMline, see below for the revised frame
PFUNC.)

Actually, most users will never need func TS and should stay far
away from it in any form. I long ago changed my ScrollLock key
assignment to 70=CS (Clear ScrollLock), to avoid inadvertently
activating the lethal ScrollLock mode. And forget those antiquated
NEP, CAP and EDP commands; after PFUN|PFUNC, they're surplusage.
(If you want to record|view|play back keystrokes, U2 gives you a
choice of two routines: Robert's RKOK or my RK. Issue HELP RKOK or
HELP RK for details.)

Here's my revised PFUNC:

XPLeNCODE v2.0
b-gin [UNTITLED]
{{;5pfunc}} Put 3-byte funcs in text or on CMline [CLD rev. 2
/7/04][cr|lf]{002}[XH_]{<}IF{<}VA$WS{>}<>1!{<}VA$RE{>}>0{>}{<
}PRNo file or Read-only file{>}{<}EX{>}{<}EI{>}[BX_]es 1[Q2_]
{<}SV01,[255+252+048]{>}{<}SV02,{252}{>}{<}XS01,02,02,,03{>}{
<}LBb{>}{<}SX01,{<}VA$TX{>}+{<}VA$SM{>}{>}{<}SV03,{>}{<}LBc{>
}[DO_][DX_]{<}PR|Type 2-char func or [BD]|"." or Esc quits{>}
{<}SX04,@upr({<}RK{>}){>}{<}IF{<}VA$KC{>}<2!{<}VA$KC{>}==52!{
<}VA$KC{>}==83!{<}IS04{>}=="."{>}{<}LBd{>}{<}SX01,{<}VA$MG{>}
{>}{<}PR@01{>}{<}EX{>}[cr|lf]{<}EI{>}{<}IF"[BD_]{008}"{240}{<
}IS04{>}&{<}VA|03{>}>0{>}[BD_]{<}SV03,{>}{<}GLc{>}{<}EI{>}{<}
IF{<}VA|04{>}>1!"([{"{240}{<}IS04{>}{>}{<}PV04{>}{<}IF"([{"{2
40}{<}IS04{>}{>}{<}GLd{>}{<}EI{>}{<}GLb{>}{<}EI{>}{<}SX03,{<}
IS03{>}+{<}IS04{>}{>}{<}IF{<}VA|03{>}<2{>}{<}GT03{>}[DO_][DX_
]{<}GLc{>}{<}EI{>}[BD_];*;[cr|lf]{<}IF@upr({<}IS03{>})=="TS"{
>}{<}SV04,[TS_]{>};*;[cr|lf]{<}IF{<}PV01{>}<1{>}{<}SV04,[255+
070+070]{128}{247}{>}{<}EI{>}{<}GT04{>}{<}GLb{>}{<}EI{>};*;[c
r|lf][BX_]pfun {<}PV03{>}[Q2_]{<}IF{<}ER{>}{>}{<}SX03,"Functi
on """+@upr({<}IS03{>})+""" is not recognized"{>}[BX_]beep[Q2
_]{<}LBe{>}{<}PR@03{>}[BX_]p[Q2_]{<}GLb{>}{<}EI{>}{<}IF{<}PV0
1{>}<1{>}[DF_][CL_][DF_]{<}SV03{>}[DN_]{<}SX03,{<}IS02{>}+"{1
28}"+{<}IS03{>}{>}{<}SV04,{027}X{>}{<}XS03,04,,05,06{>}{<}SX0
3,"[255+070+070]"+{<}IS06{>}{>}[GH_]{<}PV03{>}{<}EI{>}{<}IF"|
BN|BX|JH|JM|"{240}@upr({<}IS03{>}){>}{<}SV01,[Q2_]{>}{<}GT01{
>}[CL_]{<}GLd{>}{<}EI{>}{<}GLb{>}{002}[cr|lf][cr|lf]
-nd
XPLeNCODE

--
Carl Distefano
cld@xxxxxxxx