PW [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0))  R' 0a; RG ER n[ 4k dw <  a") $;GUzc/qr~uU,/; E L^$& Ambass Prefix Character Driver& Setup Ambassador Library& Skip to CharSet Ambassador Key^R Bottom of Screen^R Repeat Skip/Zap^R Reverse Skip^R Reverse Zap to Character^R Skip to Character^R Top of Screen^R Zap to Character~DIRECTORY~*~DOC~ & Ambass Prefix Character Driver$~DOC~ & Setup Ambassador Library~DOC~ & Skip to Char~DOC~ Set Ambassador Key~DOC~ ^R Bottom of Screen~DOC~ ^R Repeat Skip/Zap~DOC~ ^R Reverse Skip%~DOC~ ^R Reverse Zap to Character~DOC~ ^R Skip to Character~DOC~ ^R Top of Screen~DOC~ ^R Zap to Character~DOC~ ~FILENAME~~FILENAME~ ~INVERT~]@:i*|[>27;52h|FSImageOut 1fsttyfci @:i*/P`:~[[E`0~[[F`<~[[G`"~[[I`,~[[T|~[[V|~[[S|~[[U\/FSImageOut 128M(m.mMake Prefix Char).YU 128M(m.mMake Prefix Char).ZU:.Y([) M(m.mMake Prefix Char).DU:.Y(O) m.m& Ambass Prefix Character DriverU.P M(m.m& Load Bare) m.mSet Ambassador Key 1MS^R Info 3MSPush to Exec 10MS^R Reverse Skip 22MS^R Reverse Zap to Character 11MS^R Repeat Skip/Zap 12MS^R Skip to Character 24MS^R Zap to Character 25MS^R Kill Region 26MS^R Other Window 27MSAuto Fill Mode 28MSOverwrite Mode 31MS^R Top of Screen 32MS^R Down Real Line 33MS^R Bottom of Screen 34MS^R Backward Character 35MS^R Next Screen 36MS^R Forward Character 37MS^R Beginning of Line 38MS^R Up Real Line 39MS^R End of Line 40MS^R Goto Beginning 41MS^R Previous Screen 42MS^R Goto End 43MS^R Backward Word 45MS^R Backward Kill Word 44MS^R Forward Word 46MS^R Kill Word 35FSQVector[1 :i*Skip to: U:1(3) :i*Skip back to: U:1(4) :i*Zap to: U:1(5) :i*Zap back to: U:1(6) Q1M.VSkip/Zap State Vector ]1 0FO..QAmbassador Setup HookF"N[1M1' 0B[00F[HelpMac -Q.X"EM.I' FIU0 FQ()-640"LQ0:FCU0' F]HelpMac Q0-4110."N Q0U..1 Q:()(Q0)F"EQ:()(Q0:FC)F"EW:I*FG''' FS^RLASTU0 Q0,(Q0@FS^RCMAC)M(M.M& Prefix Describe) :I*0 5FF-1"G[2[1' "#9,f Function: [1 m.m1[2' FF&1"N -25"LQ2U:.D(-1+A) Q2U:.Y(-1+a)0' -26"EQ2U:.Y(6)0' -31"EQ2U:.Y(F)0' -33"EQ2U:.Y(G)0' -39"EQ2U:.Y(H)0' -25:G(:i*K P@iI B DHCgA EFGTSVUJML)[3 Q2U:.Z(Q3) 0' Q2M(m.m& Macro Name)U1 @FTPut 1 on special key:  :i*M.I FI-33."N:i*Not a special keyFSErr' FIU1 Q1-O"EFIU1 Q2U:.D(Q1:FC) Q2U:.Y(Q1FC)0' Q1-["EFIU1 Q2U:.Z(Q1)0' Q2U:.Y(Q1)0,"L-1'"#0':M(m.m^R Move to Screen Edge)$-1:M(m.m^R Move to Screen Edge)\0U:Skip/Zap State Vector(2) .F(F@M(m.m& Skip to Char))M(m.m& Maybe Push Point) 09[0[1 FF-1"GU0' "# QSkip/Zap State Vector Q:S(Q:S(2)"NQ1"L6'"#5''"#Q1"L4'"#3'')M.I FI:FCU0 Q0u:S(0)Q1u:S(1)' Q1"G:C"EFG0FSErr'' Q1:S0F(WQ1"GR')"E FG0FSErr' 1$0-@:M(M.M^R Skip to Character)g.[1 1u:Skip/Zap State Vector(2) F@M(m.m& Skip to Char) "LC' .:q1J :M(M.M^R Kill Region)#0-@:M(M.M^R Zap to Character) [0[1QSkip/Zap State Vector[2 q:2(2)"Em.m^R Skip to Character'"#m.m^R Zap to Character'u0 q:2(1)"L0-Q1U1' Q1u:2(1) q:2(0),q1:M0AMBASSADOR%Commands to use Ambassador keypad{S Sets up Ambassador keypad. Makes the obvious assignments to the arrows, less obvious ones to everything else. ESC becomes a prefix character, with dispatch in .Y; ESC [ becomes another prefix character, with dispatch in .Z; ESC O becomes another prefix character with dispatch in .D. Q.P gets a modified Prefix driver to make this all work. If $Ambassador Setup Hook$ is defined, it is run afterwards to make any additional assignments or changes; it can access the function Set Ambassador Key (q.v.) by running MS, e.g. MS . This function also reprograms some keys. Some default sequences are reprogrammed to help eliminate ambiguity. Note that this will wipe out any sequence which may have been on the key to start with. New sequences will be put on the PERIOD, 0, and ENTER keys on the keypad; the SEND key (in simultaneous mode only); and the shifted and unshifted MOVE UP and MOVE DOWN keys (though the controllified sequences used for 'zooming' are still standard).zS M.P for Ambass: handles prefix chars. Given a q-vector as argument, it reads a character and returns the q-vector element it selects. Difference between this and standard is that ? is not treated as help. The character read is left in Q..1.lC Assigns a function to an Ambassador special key. For best results, use ^R Instant Extended Command to invoke this. String Argument is name of function to assign. You will be prompted to type the key to put the function on. Alternatively, if you are calling this from your init file, you can pass the key as a numeric arg. In this case, the keys are coded as follows: 1-12 ==> PF1 thru PF12 13-24 ==> shift-PF1 thru shift-PF12 25-30 ==> ERASE thru SEND (along top row) 31-39 ==> keypad 1 thru keypad 9 40-42 ==> keypad . thru keypad ENTER (bottom row of keypad) 43 ==> MOVE UP 44 ==> MOVE DOWN 45 ==> shift MOVE UP 46 ==> shift MOVE DOWN 47-49 ==> shift ERASE, shift DELETE (red), shift INSERT respectively You may also pass the function DEFINITION as a pre-comma arg, instead of passing the function NAME as a string arg.K^R Move cursor to top of screen. With negative arg goes to bottom'^R Move cursor to bottom of screen.^R Skips to target character. Skips forward to nth (or 1st) occurrence of next char typed. Backward if arg is negative. Edit bit on target ignored. Repeat Skip with ^R Repeat Skip/Zap. Pre-comma arg gives char to search for (instead of reading it).FS Implements Skip to Character. This is a separate routine so that ^R Skip to Character can do the Auto Push Point Option. Optional pre-comma arg is the target char, post-comma arg is repeaty^R Search backward for target char. I.e. like a backwards ^R Skip to Character. Repeat with ^R Repeat Skip/Zap. ^R Kills text up to target character. Zap excludes target character. Negative arg zaps backward. Repeat Zap with ^R Repeat Skip/Zap.t^R Zap backward to target char. I.e. like a backwards ^R Zap to Character. Repeat with ^R Repeat Skip/Zap.c^R Repeat the last Skip/Zap command regardless of any intervening commands other than skip/zapz& Setup Ambassador Library & Ambass Prefix Character Driver Set Ambassador Key ^R Top of Screen ^R Bottom of Screen ^R Skip to Character & Skip to Char ^R Reverse Skip ^R Zap to Character ^R Reverse Zap to Character ^R Repeat Skip/Zap T+8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2