( [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) _:!|-5E *Ko KZ  ^ b& Delim Munge ..D& Display Matching Delimiter & Setup DELIM LibraryMake Delimiter PairsUnMake Delimiter Pairs^R Move Over Delimiters~DIRECTORY~~DOC~ & Delim Munge ..D~DOC~ & Display Matching Delimiter ~DOC~ & Setup DELIM Library~DOC~ Make Delimiter Pairs~DOC~ UnMake Delimiter Pairs~DOC~ ^R Move Over Delimiters~DOC~ ~FILENAME~~FILENAME~~INVERT~Q.]U...G FSBCONSM.VDelimiter ..D Buffer M.M& Matching ParenM.VMM & Normal Matching Paren M.M& Display Matching DelimiterF(M.VMM & Matching ParenW)FS^RParen M(M.MMake Delimiter Pairs)()[]{} M(:I*<F(-33.@; M.M^R MOVE OVER DELIMITERS,)+200.FS^RCMACROW>) )()[]{}<> [..D M(M.M& Delim Munge ..D) FS^RLast&177.( )*5:+1:G..D-("E f"e1'f"l(fll):'*(-1)fl(' "#f"e1'f"l(-fll):'fl(' "E)L.'"#)[1[0q1-."Nq1'"#q0':' ?.FS^RLast&177.[0[1[2[3 Q0*5+2[4Q4:G..D*5+2[1 [..OQ..O[OQDelimiter ..D BufferU..OG..DJ <:S(); .-(./5*5)-2"E Q1-."N Q4-."N .-1:\U2-X3.-1FA FN2:F..D3''' > HFX..DQOU..O[1[2 *5:F..D / <u1q1-"e0;'u2q2-"e0;' q1*5:f..D (2 q2*5:f..D )1 > <F(-@;)F(*5:f..DAA  )+200.F(@fs^RInit,)@fs^RCMACRO >) M(M.M& Delim Munge ..D) F:M(M.M& Normal Matching Paren)DELIMxDELIM macros for moving over []{}<>(), etc. To make other characters delimiters, run MAKE DELIMITER PAIRS and assign ^R MOVE OVER DELIMITERS to control, meta, or control-meta slots for the delimiter characters. For example: MM Make Delimiter Pairs<> M.M^R Move Over Delimiters U.< M.M^R Move Over Delimiters U.> will make C-< and C-> move back and forward (respectively) over <> Use UNMAKE DELIMITER PAIRS to undo this. Also sets up FS ^R Paren to do the right thing. S Assign macros so control []{}()<> moves over these^R Move over balanced pairs of delimiters. With a pre-comma argument, just set .,.S Munge ..D appropriately for delimiter operation.C Define entries in the Delimiter ..D Table for balanced pairs of delimiters. The string argument should be an even number of characters, paired. Note that the delimiter characters must have ^R Move Over Delimiters assigned to one of their ^R macro slots (control, meta, or control-meta - but not TOP).C Resets the syntax of delimiter characters.S After a delimiter has been inserted, display the matching one.& Setup DELIM Library ^R Move Over Delimiters & Delim Munge ..D Make Delimiter Pairs UnMake Delimiter Pairs & Display Matching Delimiter +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2