P [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) i!m +mMJqEG'Bi]& Adjust Columns in Region& Buffer Dashes& Columnate Key Definitions& Fix Control CharactersMake Columns Chart^R Buffer Graph~DIRECTORY~~DOC~ & Adjust Columns in Region~DOC~ & Buffer Dashes~DOC~ & Columnate Key Definitions~DOC~ & Fix Control Characters~DOC~ Make Columns Chart~DOC~ ^R Buffer Graph~DOC~ ~Filename~~Filename~~INVERT~ 0,fszM(m.M& Save For Undo)Column Creation [0[1 FF-1F"G-1"GU0U1' "#U00U1'' "#"E0U0U1' "#0U00U1'' JI0LW\[50K Q5-2F"GU5'"#W130U5' Q5-Q1-(Q0*5):"G 1FSECHOFLUSH FG :I*CPage width is too small for requested columns chart. FSECHODISPLAY 0FSECHOACTIVE ' wzj0a-12"n 0A-10"N13I10I' 12I' Q0"E12I' J 0@m(m.m^R Buffer Graph)w 0[C<:S ;%CW> QC-(Q0)"LQ0"L-QCU0'"#QCU0'' [A (QC+1)*5FSQVECTORUA Q0"N(Q5-(2*Q1))/Q0[2 J0[I (QC-1)/(Q0)+1<0UI J.,( Q0<:S  ;R B,.FSBOUNDARIES Q2,Q1M(M.M& Adjust Columns in Region) QI"E0U:A(QI)' "#QB+Q:A(QI-1)U:A(QI)' %I WZJ.-FSZ"ER'.+1,FSZFSBOUNDARIES> QB+Q:A(QI-1)U:A(QI) 900000U:A(QC) 0,FSZFSBOUNDARIES .-Z"E0A-12"E-D'' "#R' .)FFSBOUNDARIES 0M(M.M& Columnate Key Definitions) .-FSZ"ER'.+1,FSZFSBOUNDARIES>' "#(Q5-(2*Q1))[2 0[I JQC<:S  ; RWB,.FSBOUNDARIES 0,Q1M(M.M& Adjust Columns in Region) QI"EQB[30U:A(QI)' "#Q3+Q:A(QI-1)U:A(QI)QBU3' %I WZJ.-FSZ"E-DR'.,FSZFSBOUNDARIES> QB+Q:A(QI-1)U:A(QI) 900000U:A(QC) 0,FSZFSBOUNDARIES J 0UI0[J0[K0[L QI-QC+1; 0UJQIULWZJ .-FSZ"E0A-12"E-D'R' .+1,FSZFSBOUNDARIES' "#%IW%J'>' 0,FSZFSBOUNDARIES WZJ2<0A-12"E-D'> 0@m(m.m^R Buffer Graph)w jM(M.M& Fix Control Characters) J[2f[bbind 32 95*5,32I IZU..2 15.*5F  12.*5F  11.*5F  14.*5F  33.*5F  HFX2 f]bbind J<.,ZF2.-Z; 0A(-DI^)#100.I .(1:fB "L-d')j> J0S <:S;R-DI^M> J0S <:S;-DI^J> J<:S;-DI$> J<:S ;-DI^L> [0[1 @m(m.m^R Buffer Graph)w JW-.+(:L.)-Q1-1F"L+1+1,32I' JQ0:"G-(0L.)+(:L.)UBL <.-Z; -.+(:L.)-Q1+1F"G-1-QBF"G+QBUB' 1L' "#-1+1,32I1L'> Q0"N QB+Q0"GQ0UB'' "#QB+1U0'' Q0UB JQB-1+.-(:L.)F"G+1,32I'"#D32I'1L <.-Z; -.+(:L.)-Q1"L:LQ1,32I0L' 0lQ1CQB-1+.-(:L.)F"G+1,32I' "#D32I' 1L> 0f[bothcase0f[^Pcase [L @m(m.m^R Buffer Graph)w [P[D[E[I[J[K[M[B JQ1"GIKeyQ1-3,32I13I10I -1LQ1FXMK 0LGM32I' :L.UD QLUI <:S  ;R%I :L.-2(0L CW:FXE QDJ 0LQ1F"N-1'C .-(:L.)+Q:A(QI)+1F"G-1,32I' "#D32I' GE.UD )J> J1L13I10I .,ZFSBOUNDARIES Q1"N QLUIW<.-Z; 1A-12"E%IWKOEND' Q1+.-(:L.)"G0LWKOEND' 0L0UJQ1<%JA-32:@;> Q1-QJ"E0LWKOEND' Q1C0XB32I Q:A(QI),32I :L.UD QIUJ <:S   B; 0A-12"E%J' "#FKDW:FXE QDJ 0LQ1C .-(:L.)+Q:A(QJ)F"G+1,32I' "#D32I' GE.UD QIUJ'> QDJ1L !END!> JW0L:L1L J0,Q1M(M.M& Adjust Columns in Region) J0,ZFSBOUNDARIES -2L1A-12"EC'.,ZFSBOUNDARIES J<.-Z; .-(:L.)+Q1:"G 0L Q1XD 0L.-(:L.)+QB+Q1-1F"G,32I' "#-1D32i'GD' 1L> WZJ' "#QLUI QI+1-QC"LQ:A(QI+1)-Q:A(QI)F"G,32I'13I10I' 0[Q0UPWZJW12I J<.-Z; 1A-12"N%QW1L' "#QQ-QPF"G+QPUP'0UQW1C'> J0UQ%P <.-Z; 1A-12"N%QW1L' "#QP-QQ< QI-QC+1"LQ:A(QI+1)-Q:A(QI)F"G,32I'' 13I10I> %IW1CW0UQ'> ZJ-DQLUI JW<.-Z; 1A-12"E%IW1D' "#Q:A(QI)F"G,32I'W:L.UD QIUJ0UK <:S  ;R%J 0UP<.+QP-Z;%PA-12@:;W%J> QP-1F"GD' .(W:FXEK QDJGE.UD )+FQEJ .-Z;1A-12"E QJ-1UJ%K -1L'> QDJ1L'> JWKWZJ' [.5 [.0[.1[.2[.3[.4 :f .u.3fnq.3j fswindow+bj fslinesf"Efsheight-(fsecholines+1)'u.0 1: .u.4 Q.5"E:i*Cfsechodisplayw' fsz"E :I*CFSECHODISPLAYW @ft|merecorroborativepaddingintendedtogiveartisticverisimilitude toanotherwisebaldandunconvincingbuffer| 1^v0f[helpmacrow :fi-4110."E:i*Cfsechodisplayw @ft(Semi-quotefrom"TheMikado",byWm.Gilbert)  0fsechoactivew :ft!''!' w1' Q.5"N:I*TFSECHODISPLAYW' m.m& Buffer Dashes :i.0- 0u.1 -1u.2 @ft| fsvbmD@ftB fswindow+bmD@ft[ q.4mD@ft] fsz-(fsvz)mD@ftZ fszmD@ft| Q.5"E@FT  0u.1 0u.0 9q.0^:=> @FT 0fsechoactivew' w1-1[p -1[m :+1"G:-(fsz)-1"L q.3-q.2"Gq.3--1"Lq.3up'' :-q.2"G:--1"L:um'''' qp,qmfumup qp+1"Gfswidth-8*qp/fsz-q.1f(<@ft.0> )+q.1u.1 .0-="E:i.0-'"#:i.0=' ' qm+1"Gfswidth-8*qm/fsz-q.1f(<@ft.0> )+q.1u.1 .0-="E:i.0-'"#:i.0=' ' fswidth-8*/fsz-q.1f(<@ft.0> )+q.1u.1 u.2 NCOLUMNS* Makes columnar charts C Breaks a file into pages of ABS(arg) columns/page Can take two arguments in the following format , MM Make Columns Chart$ with being the number of columns to put on a page. >0 puts the columns in equal width padding out to the appropriate width if necessary. =0 finds the number of columns optimally in order to fit the maximum width of the text. <0 as if positive but does not pad out short columns to full width. being the length of the keys for which to find definitions. >0 assumes that there is at the start of each line a key of length as given. =0 implies there are no keys. being the width of the page to put the columns on. The default is 132 columns. If the user gives only one argument in the following form, the argument is assumed to be with being defaulted to 0. MM Make Columns Chart$ S Replaces control characters by ^ character. The character position is also adjusted at the first spacezS Fills each line to a certain width (defined by the first argument if not zero) in the current region. If the first argument is negative, and if the true width of a column is less than the absolute value of the argument, the argument will be changed to the true width. The second argument gives the width of the key to be taken into account of during the filling procedure. The first line is treated specially in that if the line width is less than the key width it is not deleted.vS Gets the other definitions for the keys in the region. The only argument is the starting index for the QVECTOR A. The necessary Q-register are assumed to be defined previously. They are: Q1 QI and the qvector QA of maximum length QC*5. ^R Show a scale schematic of buffer in echo area. Draws something like the following in the echo area: |----B-----==[==--]---Z------------------------------------------| 1 2 3 4 5 6 7 8 9 The |--...--| indicates the whole buffer, numbers approx tenths. === indicates the region. B indicates the virtual buffer beginning. Z indicates the virtual buffer end. [---] indicates the window.S === or --- whether in region or not. ARG = pointer in buffer. Uses global qregs: .0: Dash to print, - or =. .1: Last echo area hpos. .2: Last buffer pointer. .3: Point in buffer.Make Columns Chart & Fix Control Characters & Adjust Columns in Region & Columnate Key Definitions ^R Buffer Graph & Buffer Dashes +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2