P [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) y KG]. Q8 )D Y;;K+/8aG}Vb~lzs& Setup SAIL LibraryCapitalize SAIL KeywordsExpand SAIL Abbrevs in RegionSAIL Mode^R Backward Block^R Forward Block^R Forward Statement^R Make BEGIN-END^R Plus Increment~DIRECTORY~~DOC~ & Setup SAIL Library~DOC~ Capitalize SAIL Keywords~DOC~ Expand SAIL Abbrevs in Region~DOC~ SAIL Mode~DOC~ ^R Backward Block~DOC~ ^R Forward Block~DOC~ ^R Forward Statement~DOC~ ^R Make BEGIN-END~DOC~ ^R Plus Increment~DOC~ ~FILENAME~~FILENAME~~INVERT~0@FO..QSAIL Setup Hookq0"G:M0' 1,M(M.M& Get Library Pointer)WORDAB"E M(M.MLoad Library)WORDAB' 1@FO..QAutomatic Capitalization( )M.CAutomatic CapitalizationNonzero, SAIL abbreviation Mode is activated. 0@FO..QSAIL ..D"E !"!:I* A A AA A A AA A A ' ( ) A A A AA / AA AA AA AA AA AA AA AA AA AA A ; A A A A A AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA A A A A A A AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA A | A A ( )M.VSail ..D ' M(M.M& Init Buffer Locals) 1,q1,q..Qw)m.Q. 1,(M.M^R Indent Nested)M.QI 1,(:I*! )M.LComment Start 1,(:I*;)M.LComment End 1,8M.LComment Column 1,(m.m& Indent With Tabs)m.LMM & Indentw 1,(m.m& XIndent With Tabs)m.LMM & XIndentw 1,M.LAutomatic Capitalization QAutomatic CapitalizationM(M.MCapitalize SAIL Keywords) qSAIL ..Dm.q..D m.m^R Forward StatementM.Q...S m.m^R Forward BlockM.Q...E m.m^R Backward BlockM.Q...A M.M^R Make BEGIN-ENDM.Q...U M.M^R Plus incrementM.Q...+ 1M(M.M& Set Mode Line)SAIL 0UD0U0.U1Z-."GC' <-:SBEGINSTART!CODEEND"E :i*CNo Block BackwardsFSECHODISP 0FSECHOACTIVEWBJ0;' 1A&137.-E"EQD-1UD' "#QD+1UDQD;'> 0(:I*;"COMMENT!ENDBEGINSTART!CODESTARTCODE)[S FF"E0'"#-'[D [E.[A <:SS"EFGQAJ0' .UEFKC 1A-;"E QEJ QD"E0' !' 1A-42."ECS"!'!!' :I*Unmatched QuoteFG0' ."G0A"CQEJR!'' 1A&137.-C"ES;!' 1A-41."ES;!' 1A&137.-E"E QD"GFGQAJ0' QD+1UD QD"G0' QEJR !' QD-1UD QEJR QD"E0' >(:I*"COMMENT!ENDBEGINSTART!CODESTARTCODE)[S FF[X QX"E0'"#-'[D [E.[A <:SS"EFGQAJ0' .UEFKC 1A-42."ECS"!'!!' ."G0A"CQEJR!'' 1A&137.-C"ES;!' 1A-41."ES;!' 1A&137.-E"E QD+1UD QX*QD"GFGQAJ0' QEJR QD"L!' 0' QD-1UD QEJR QD"E0' >.[A FF"N"G1,F Block name: '"#:I*'[N'"#:I*' FQN"G:IN "N"!''!'"#:IN' 0L:FB"L:L13i10iW-4MI'"#QAJ' "LISTART!CODE' "#IBEGINN'13i10i W-4@MI .( 13i10iW2MI IENDN;13i10i .[Z)J QA,QZ[.1 FF"N0-("'N)uAutomatic Capitalization' "#QAutomatic Capitalization"'EUAutomatic Capitalization' QAutomatic Capitalization"E 0m(m.mWord Abbrev Mode) ' 1m(m.mWord Abbrev Mode) 0@FO..QLast Word Abbrev File"E m(m.mRead Word Abbrev File)EMACS:SAIL.DEFNS' "#f[bbind GLast Word Abbrev FileJ :FBSAIL.DEFNSU.1f]bbind Q.1"Em(m.mRead Word Abbrev File)EMACS;SAIL DEFNS' ' f[vbf[vz:,.ffsBoundwj [..d:g..du..d^*5:f..D [a @:; m(m.m^R Abbrev Expand Only) > zjf]vzW qa@;W:sa; > bzj 59,0A-59"E' [aWM(M.M^R Delete Horizontal Space) <.-B"E'65,0A"'B;w1R> .[2 <-FWL.@; (0A-$"'E)+(0A-#"'E)+(0A-["'E)+(0A-]"'E);> .,Q2Xa Q2J . I _ A F"GWI + W\WI;' "#"LWI - W\WI;' "#WI + ;1R'' SAILLibrary for editing SAIL functionsS Setup the variablesC Set things up for editing SAIL code. Sets up: C-M-A,C-M-E ^R Backward/Forward Block C-M-S ^R Forward Statement C-M-U ^R Make BEGIN-END C-M-U Make Labelled BEGIN-END -C-M-U Make START_CODE-END block C-M-+ ^R Plus increment ^R Indent Nested ^R Backward Delete Hacking Tabs^R Move backward over one BEGIN/END pair^R Move forward over one SAIL statement. With positive arg, go up one or more levels in BEGIN END nest. With negative arg, go down one or more levels.^R Move forward over one BEGIN END pair. With positive arg, go up one or more levels in BEGIN END nest. With negative arg, go down one or more levels.^R Create a BEGIN END pair. With a positive numeric argument, the string argument is the label name. With a negative numeric argument, a START_CODE-END block is made Cursor position defines indentation level for this block. Leave cursor ready to type first statement of the block.uC Turn on capitalization of keywords. With no argument, the mode is toggled. Otherwise, a positive argument turns on the mode and a zero shuts it off Uses the WORDAB library and a file of pre-defined abbreviations which are the keywords.C Expand all WORDAB abbreviations in region. Assumes WORDAB already loaded. Comments and strings are skipped, but assumes that it's not started in one.|^R Make SAIL stmt to increment the word before the point. Leaves region around inserted text so it can be killed easily& Setup SAIL Library SAIL Mode ^R Backward Block ^R Forward Statement ^R Forward Block ^R Make BEGIN-END Capitalize SAIL Keywords Expand SAIL Abbrevs in Region ^R Plus Increment +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2