P [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) ~:k 3 t%W5 gOb[?lt++6"".%o$}?$)H$sQ$9$$$k#2I!6m")]T 1 p% @_!} AK#U\&7# Page .# Page D# Page Help# Page N# Page U# Page W& Find Pagemark& Kill PAGE Library& PAGE Buffer Selection Hook& PAGE Set Mode Line Hook& PAGE Widen Bounds& Setup PAGE LibraryPage Menu^R Goto Next Page^R Goto Page^R Goto Previous Page^R Insert Pagemark^R PAGE I-Search^R PAGE String Search^R Set Bounds Narrow^R Widen Bounds~DIRECTORY~~DOC~ # Page .~DOC~ # Page D~DOC~ # Page Help~DOC~ # Page N~DOC~ # Page U~DOC~ # Page W~DOC~ & Find Pagemark~DOC~ & Kill PAGE Library~DOC~ & PAGE Buffer Selection Hook~DOC~ & PAGE Set Mode Line Hook~DOC~ & PAGE Widen Bounds~DOC~ & Setup PAGE Library~DOC~ Page Menu~DOC~ ^R Goto Next Page~DOC~ ^R Goto Page~DOC~ ^R Goto Previous Page~DOC~ ^R Insert Pagemark~DOC~ ^R PAGE I-Search~DOC~ ^R PAGE String Search~DOC~ ^R Set Bounds Narrow~DOC~ ^R Widen Bounds~DOC~ ~Filename~~Filename~~INVERT~-1fo..qPAGE Load Count+1f"guPAGE Load Count :i*PAGE library already loadedfg0' "#m.vPAGE Load Count' [0[1[2[3 0m.cCurrent Page!!1fsModeCh 1m.cPAGE Flush CRLF* 1 => Expect a CRLF at the start of each page 0fo..qSet Mode Line Hookf"e:i*'m.vPAGE Old Set Mode Line Hook m.m& PAGE Set Mode Line Hookm.vSet Mode Line Hook 0fo..qBuffer Selection Hookf"e:i*'m.vPAGE Old Buffer Selection Hook m.m& PAGE Buffer Selection Hookm.vBuffer Selection Hook m.m^R Narrow Bounds to Region-q:.X(N)"e m.m^R Set Bounds Narrowu:.X(N)' m.m^R Incremental Searchu0 m.m^R String Searchu1 m.m^R PAGE I-Searchu2 m.m^R PAGE String Searchu3 q.S-q0"eq2u.S'"#q.S-q1"eq3u.S'' q..S-q0"eq2u..S'"#q..S-q1"eq3u..S'' q0m.vPAGE Old I-Search q1m.vPAGE Old String Search q2m.vMM ^R Incremental Search q3m.vMM ^R String Search 0fo..qPAGE Setup Hookf"nu0m0' m.mPage Menuu:.X() m.m^R Goto Pageu:.X(P) m.m^R Goto Next Pageu:.X(]) m.m^R Goto Previous Pageu:.X([) m.m^R Widen Boundsu:.X(W) m.m^R Insert Pagemarku...L qPAGE Load Count-1:f"luPAGE Load Count0' [0[1[2[3 m.mKill Variable mKPAGE Load Count m.m^R Set Bounds Narrow-q:.X(N)"e m.m^R Narrow Bounds to Regionu:.X(N)' qPAGE Old I-Searchu1 qPAGE Old String Searchu2 m.m^R PAGE I-Searchu3 m.m^R PAGE String Searchu4 q.S-q3"eq1u.S'"#q.S-q4"eq2u.S'' q..S-q3"eq1u..S'"#q..S-q4"eq2u..S'' mKPAGE Old I-Search mKPAGE Old String Search q1m.vMM ^R Incremental Search q2m.vMM ^R String Search m.mPage Menu-q:.X()"em.m^R Mark Pageu:.X()' m.m^R Goto Page-q:.X(P)"em.m^R Narrow Bounds to Pageu:.X(P)' m.m^R Goto Next Page-q:.X(])"em.m^R Next Pageu:.X(])' m.m^R Goto Previous Page-q:.X([)"em.m^R Previous Pageu:.X([)' m.m^R Widen Bounds-q:.X(W)"em.m^R Set Bounds Fullu:.X(W)' m.m^R Insert Pagemark-q...L"e700.fs^RInitu...L' qPAGE Old Set Mode Line HookuSet Mode Line Hook mKPAGE Old Set Mode Line Hook qPAGE Old Buffer Selection HookuBuffer Selection Hook mKPAGE Old Buffer Selection Hook m(m.m^R Widen Bounds) q:.B(qBuffer Index+4)[..o fsVZ+bf"eqCurrent Page"n 0uCurrent Page'' ]..o qCurrent Page"n.-z(-:s Narrow"nfkd')+zji Page qCurrent Page\' mPAGE Old Set Mode Line Hook2,m.lCurrent Page fsVZ+b"e0uCurrent Page' :mPAGE Old Buffer Selection Hook"e.' qPAGE Delimiter[0 0s0 "l -<-:s"ejb' .-b-1"g-2f= "n@''> .[1fkc' "#[0[1 <:s"ezjz' .u0fkc.-b-1"g-2f= "n@''(.u1q0j)>' qPAGE Flush CRLF"n z-.-1"g 2f= "e2c''' q10uCurrent Page fsVZ+b"n m(m.m^R Widen Bounds) @fn|qCurrent Page"em(m.m^R Goto Page)'|'m(m.m& PAGE Widen Bounds)f f@mPAGE Old I-Searchm(m.m& PAGE Widen Bounds)f f@mPAGE Old String SearchfsWindowb[Bz[Z.[P [1ff&1"e0u1' q1"e fsVZ+b"n1u1'' "#0,(fsZ)fsBound q1"lzjq1+1u1' "#jq1-1u1'' 0fsBound q1m(m.m^R Goto Next Page) qP:j"nqW:"lqW+qB-b:f"lfsWindowz,z''' qW"l'.-qB"l'qZ-."l' .uPfnqPj jf[VBf[VZ qB,qZfsBoundwqWfsWindow fsTopLineu1.[0 0,0@fm q0jq1fs^RVPos 0@:f 0fsWindow 0fsVZ+b"e 0[PAGE Flush CRLF "lb'"#z'-."efg' f"l(-c)'m(m.m& Find Pagemark)'' 0,(fsZ)fsBound :f"g-1'm(m.m& Find Pagemark) z-."e-m(m.m& Find Pagemark)' .[1fnq1j1[2 j<.-q1;%2 1m(m.m& Find Pagemark)> .,(1m(m.m& Find Pagemark))fsBound q2uCurrent Page 0fsWindow -:m(m.m^R Goto Next Page).[1fnq1j qCurrent Page"n z-b-2"'lf"ez-2,zf= '"n zji '' 0uCurrent Page fsWindow:f"lf(+bfsWindow )"ej0,(fsZ)fsBound 0@l.-fsWindow"n .fsWindow''' 0,(fsZ)fsBound m(m.m& PAGE Widen Bounds) ff&1*"e .[1qPAGE Delimiter .-1"g-2f= '"#-1'"n i ' fDf"lw'"#,0f'gD qPAGE Flush CRLF"n z-.-1"g2f= '"#-1'"n i '' q1,.(ff&1"nq1j')' "g.[0fnq0j 1'"#.-z[0fnq0+zj -1'm(m.m& Find Pagemark)[1 qPAGE Flush CRLF"n.-b-1"g -2f= "e-2c''' q1+2,.k00uCurrent Page f:m(m.m^R Narrow Bounds to Region)[0[1[2[3[4[5 fsQPPtr q..ou0.u1f[BBind m.m& Find Pagemark i Page Size First line  1u2q0[..o m(m.m^R Widen Bounds)wj <.(1mPu3.u4)j .,q3fsBound q1-.:"lq2u5' :sw0@L@f l @:x3]..oi g3 q0[..oj 0u3<.-z;@l%3> ]..o0@Lq3\ 5-(fsSHPos(0@L)), i 0@Lq2\ 5-(fsSHPos(0@L)), i zjfsSHPos-(fsWidth)"g <-cfsWidth-(fsSHPos);> .,zk' i  q0[..o 0,(fsZ)fsBoundwq4j .-z;%2> q1j ]..o jq5@L @f l.-1f.0@L 0fs^RInitf(f[^RNormal)[ m.m# Page Help[? m.m# Page .[. m.m# Page D[D m.m# Page N[N m.m# Page U[U m.m# Page W[W fs^RInit[ qBuffer Filenamesu1 fq1:"gqBuffer Nameu1 :i1buffer 1' :i*Page Menu of 1[..J 0[..F 0fsWindow fu2 q2f"n-1f"e-1'u1' -q2f"gu1' 0[9m.m& Kill Text q0[..oj]..o1u3 j<@L@f L.-z; 0,1a-D"ec 0,1a-."ec' \u4q4"g q0[..oq4-q3mPwq4u3 q4-q1"lq1-1u1' .,(1mPw.)mK ]..o''> qQfsQPUnwind -fsWindow q1m(m.m^R Goto Page) q2f"g-1"ezj'"#0'm(m.m^R Insert Pagemark)' q2"l-fsWindow m(m.m^R Widen Bounds)' -fs^RLast m(m.mDescribe)Page Menuj<@L@f L.-z; 0,1a-D"ec' 0,1a-."e0@L0'> @fg00@L@f f("e@fg0')L 0,1a-D"e:i*Page already marked for deletion@fg0' .-1fD-(0@L)0@L@f L 0,1a-D"ec'0,1a-."ec' .-z"e1f;Page Menu' "#\[1q1:"g@fg0' q1+1f;Page Menu' 0@L@f L 0,1a-D"n@fg0' f (0@L)0@L@f L0,1a-."ec' \[0q0:"g@fg0' -q0f;Page Menu PAGEMacros for narrowing bounds to pageS Set environment for paging. Search macros living on C-S and M-S are replaced with macros that execute the search over the whole buffer. If the variable PAGE Setup Hook exists, it is macroed. Otherwise, several keys are set: C-X ^P gets Page Menu C-X P gets ^R Goto Page C-X ] gets ^R Goto Next Page C-X [ gets ^R Goto Previous Page C-X W gets ^R Widen Bounds C-M-L gets ^R Insert PagemarkS Undo definitions and key settingsS Add page number to mode lineS Make sure page number is a local variableS Look for Page Delimiter after CRLF. Leaves point after the mark; returns the point before the mark.S Widen, re-narrow when caller exits^R Search for character string as you type it. g(m.m~DOC~ ^R Incremental Search)jk^R Search for a character string. g(m.m~DOC~ ^R String Search)jk^R Set bounds to a specific page. If no argument, current page, or if already bounded, next page. If positive argument, that page, numbered starting with 1. If negative argument, that page counting back from the end.^R Find the next page mark. If bounds were narrow, they will be set narrow again. An argument says how many page marks to look for.^R Back up a page marker. Like ^R Goto Next Page with a negative argument.^R Widen bounds to cover whole buffer. Makes sure there is a CRLF at the end of the page.^R Insert or delete a page break. With no arguments, inserts a page mark and leaves point on the second page. With a zero argument, leave point on the first page. With a positive argument, delete page mark after point, and with a negative argument, delete mark before point.^R Narrow buffer bounds to point and mark.C Display information about pages in buffer. A recursive edit level is entered on a list of all pages. On exit the page on the current line is selected. Point is initially on line of current page. Space exits (like ^R Exit). . searches for the original page (marked with a "."). ? prints this cruft. D marks the current page for deletion. N exits and makes a new page before the current one. U removes a deletion mark. W exits to the given page and sets bounds wide.S Describe Page Menu.S Go to page marked with dot.S Mark page to be deleted.S Make a new page before current page.S Remove deletion mark.S Exit menu with widened bounds.t& Setup PAGE Library & Kill PAGE Library & PAGE Set Mode Line Hook & PAGE Buffer Selection Hook & Find Pagemark & PAGE Widen Bounds ^R PAGE I-Search ^R PAGE String Search ^R Goto Page ^R Goto Next Page ^R Goto Previous Page ^R Widen Bounds ^R Insert Pagemark ^R Set Bounds Narrow Page Menu # Page Help # Page . # Page D # Page N # Page U # Page W +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2