[0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) d]+2 Sy $r*m4K-1-&9# FNS=luw |@<62-4@$>k:;F08<c=qp8?] =N;m(-e30320Z8{h9(p-Lz-A͠& Compare String with Buffer& Compare Windows& Correct Buffer Spelling& Correct Word Spelling& Edit Options Help& ITS Get Spell Job& Kill Spell Job& Process Init Vars& Spell JCL& Spell Replace Word& Twenex Get Spell JobEdit OptionsEdit Syntax TableEdit Tab StopsKill Some BuffersList RedefinitionsTabify~DIRECTORY~~DOC~ & Compare String with Buffer~DOC~ & Compare Windows~DOC~ & Correct Buffer Spelling~DOC~ & Correct Word Spelling~DOC~ & Edit Options Help~DOC~ & ITS Get Spell Job~DOC~ & Kill Spell Job~DOC~ & Process Init Vars~DOC~ & Spell JCL~DOC~ & Spell Replace Word~DOC~ & Twenex Get Spell Job~DOC~ Edit Options~DOC~ Edit Syntax Table~DOC~ Edit Tab Stops~DOC~ Kill Some Buffers~DOC~ List Redefinitions~DOC~ Tabify~DOC~ ~Filename~~Filename~~INVERT~t[0[1[2[3[4[91,f Pattern: u9fq9"e0u9' 0[..f [..j f[Linesf[Windowf[BBind q:..q(0)u3 1-q3u0 q9"n0s9' -(fq..q-5/(q:..q(0)*5))u2 <%2; q0+q3u0 q:..q(q0+2)u4fq4-2"l!' 0:g4-*"n1:g4-*"n!'' .(g:..q(q0))j q9"n:s"e.,zk!'' zji:  q:..q(q0+1)u1fq1:"l34i.(g1)j <@:f"l.-z;29ic>!'!34i' "#q1\' i .u19ig4 q1j1a-!"ed@:f!l.,zk' q1j:l.,zk i  > :i..jEdit Options m.m& Edit Options Helpf[HelpMacro 0u0j fsLinesu1q1"efsHeight-(fsEchoLines)-1u1' q0+2-q1"lq0+2fsLines' j0u..H 128*5,32:i*[..D *5:f..D / "*5:f..D |!'! j <0,1af :"ll!'.-z; .,(:s:;).-1x1 q1u3 @f l 1a-34"n:\u2 q2-q3"nq2u1'' "#.+1,(@fll).-1x2 @:i2"2"!''! q3fp"lq2u1' "#f=23"nq2u1''' l>  fsLinesf"n-5"l 5fsLines''w :ftYou are editing a table of all the permanent EMACS options q9"nf=9"nft whose names contain "9"!''!'' ft. When you exit, via  2,(33.fs^RInit)m(m.mWhere Is)"eftM-X ^R Exit' ft, the options left in the buffer will be reset. You can abort with  2,(m.mAbort Recursive Edit)m(m.mWhere Is)"eftM-X Abort Recursive Edit' ft. Do you wish to see details about the option table format? m(m.m& Yes or No)"e0u..h' 0fsLinesw :ftThe format of the table is simple: each option name is followed by a colon, some indentation, the value, and then on the next line the comment (which is indented -- any indented line (if not inside a value) is ignored later when the values are reset).  The value is either a number (with an optional hyphen preceding it) or a string (in which case it is surrounded by double-quotes ("...") and may be more than one line if desired).  If there is a double-quote inside the string, it must be quoted by the  character (Control-]). Any s inside the string must also be quoted with . (It's ugly, but it greatly simplifies the implementation and these should be rare.)  For instance, consider the following example options in this format:  Option Number One: "this is a string" Null String Option: "" Option Number Two: -1234 Option Number Three: "Quoth the raven: "Nevermore!"." One Bracket Option: ""  o1,F Q-reg:Q9"E:I9..D' FQ9-(5*200.)"N :I*Q9 has wrong length for a dispatch tableFSERR' f[DFileETGAZONK .DEL [30[..F [..J:I..JDelimiter Table Editor.  :I*M(M.MDescribe)Edit Syntax TableF[HELPMAC -1F[^RReplace 2F[CASEN2F[CASE F[BBINDG9 J0.U..040. 140. 177.*10F^? FSSAIL"N177.*10F ' 0FSMODIFF[WINDOW f+ j200.<3d5c2d> 0:F9..O 0[1[2[3[4 ' ]..O Q3-Y"E M(M.MKill Buffer)2 !' Q1+Q:.B(Q1)U1> 0U..H0[..f :I*m(m.mDescribe)Edit Tab StopsF[helpmac f[bbind gTab Stop Definitions j2@l.,zk 0@f"ni ' -@l."ezji ' zjfswidth/10i 0 0u0fswidth/10<10,%0*10\>i  -1f[^rreplace [..j:i..jEdit Tab Stops (Overwrite) f[dfileetgazonk .del j j2:@l0@f"e:0@l' 0,.xTab Stop Definitions [A-1[B[P[2 0FO..QWindow 2 Buffer"E :I*O1B Only One WindowFSERR' Q..O-QOther Window Buffer"E @ftCannot compare a buffer to itself. Try comparing the buffer with a copy in another buffer. 0fsechoactive :i*CBI Cannot Compare Buffer to ItselfFSERR' FSQPPTRUP .F[VB Q..O[D QOther Window Buffer[..O FSTOPLINE"N QWindow 1 SizeF[LINES0F[TOPLINE :I21' "#QWindow 2 SizeF[LINESQWindow 1 Size+1F[TOPLINE :I22' QWindow 2 WindowF[WINDOW QWindow 2 Point:J -1F[DFORCE 0FO..QCollapse in ComparisonUA QA"E:IA  ' -1F[NOQUIT 1: 0@V .UWindow 2 Point FSWINDOWUWindow 2 Window QPFSQPUN :I*CFSECHODIS QB"E@FTMismatch ' QB"G@FTMatch ' 0FSECHOACT[1 [2 [O[Q[J -1,1AF2:"L Q1[..O-1,1A(]..O)F2:"L OSpecial'' !TOP! .UO Q1[..O.-BUQ]..O : Q1[..OQQ+BJ]..O FQ1-QQ"E.-Z"E 1'' .-QO"E0' 0AF2:"L OSPECIAL' -1,1AF2"L0' Q1[..O-1,1A(]..O)F2"L0' !SPECIAL! @F2R Q1[..O@F2R]..O OTOP~ qBuffer Index[9 13-q:.b(q9)/2+qInitial Local Count-1[1 qInitial Local Count*2+q9+13-1[2 [3[4[5 [9:@i9|[1[2[3[4:i3 <%1; q:.b(%2)u4 fq4"gf~43"e-1'' %2> 0| qComment Startu3 fq3"gFTComments start with "3"!''! FT in column qComment Column:= qComment Endu3fq3"gft, and end with "3"!''!' ft.  0fo..qComment Multi Line"nftThey can extend across multiple lines. '' "#FTNo comment characteristics are defined. ' m9Fill Column"'n+(m9Auto Fill Mode"'n)+( qAuto Fill Mode"nm9Space Indent Flag"'n')"n FTText is filledqAuto Fill Mode"nft automatically' ft to column qFill Column:=ft. qAuto Fill Mode"nqSpace Indent Flag"n ft New lines are indented.'' ft ' FTParenthesis matching is qDisplay Matching Paren"eft disabled'"#ft enabled'ft.  fqParagraph Delimiter"e FTParagraphs are delimited only by blank lines. ' ft  [1[2-u5 <%1; q:.b(%2)u3%2 fq3:"l f~3Auto Fill Mode"e!' f~3Comment Start"e!' f~3Comment End"e!' f~3Comment Column"e!' f~3Comment Multi Line"e!' f~3Fill Column"e!' f~3Display Matching Paren"e!' f~3Paragraph Delimiter"e fqParagraph Delimiter"e!'' f~3Space Indent Flag"e!' fq:..q(:fo..q3+2)"g %5"eft Variables redefined:  ' m(m.mView Q-register)3 ft  ''> ]2]1-u5 FQ1"LM(M.M& Load BARE)' <%1; q:.b(%2)u3%2 fq3"lq3@fsqphomeu3 0:g3-Q"efq3-2:g3-"e %5"eft Keys redefined in this buffer:  ' 1,fq3:g3u4f4u4 q4-(q4fs^RIndir)"n q4m(m.m& Charprint) ftis an alias of  q4-(3/1000000.)m(m.m& Charprint) ft.' "#q4,3m(m.m& ^R Briefly Describe)' ft '''> ft(Done)  F[DFILE FF&1"NFSDFILE' "#FSOSTECO"E ETFOO EVARS FSXUNAMEFSDFN1' "#ETEMACS.VARS' FSHSNAMEFSDSNAM' [1[3[4 Q..O[5F[BBINDQ..O[6 [..O 128*5,32:i*[2 *5:f2 / "*5:f2 |!'! 1:"L' <.-Z; @:F"EL!' 1AF  :"L@L!' .,(CS:.-2,.+1F=::"EC' ).-1X3 .u1@f l 1a-34"eq2[..d .+1,(@fll).-1x4 ]..d @:i4"4"!''!' "#.(:\u4)-."eq1-1j' @f  l :@f"n q1j:X4'' Q5U..O FQ3-2:G3F:"'L+( 0:G3-:"'E)"L M4U3' "#F=3*"EM4' "#Q4M.V3'' Q6U..O@L> :@i*|[1fsqpptr[2 m(m.mKill Variable)MM & Process Init Varsw :g(m.aAUX& Process Init Vars)u1 q2fsqpunwin f:m(q1(]1)) |m.vMM & Process Init Vars [1[2[3[4 "NF[TABWID'FSTABWIDU1 F"E3',32:I4 0S4 .[0fnq0j <:S; .-FQ4(@F L FSSHPOSU2 Q2-(Q2/Q1*Q1)U3 Q3R)-.U2 Q2+1"LQ2DQ1-1-Q2/Q1,9I' Q3C> p:i*CfsEchoDisp "L:m(m.m& Kill Spell Job)' fsosteco"E :iOITS :iD !"!:i*ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-' fsmsname:f6[F fsuname:F6[U :iFDSK:F;_SPELL U' fsosteco"G :iOTWENEX :iD, !"!:i*ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' fsmsname fsuindex:\[U :iFF[SPELL-TEMP-U].TXT.0' [..j [0[1 -@fS:[B @FS' qB,qEx0 (qB-qE)"E' .[P z[L qEj f[BBind g00jhfchx1 f]BBind :i..jChecking spelling of 0.fr0 1m(m.m& O Get Spell Job)BASK 0 FDQUIT q1,qFm(m.m& Spell Replace Word)"NQP:J' (2*QP)-(QB+QE)"Gz-QL+QP:J' "#QP:J' -1fo..QISpell Fork f[dfile :i*fo..QSpell Initialization F=I"N:iII,' 0fo..QIspell Filename"E 1:' QIspell Filename qJ"L "G@fzS I [1' "#fzS I [1' Q1m.vISpell Fork' qJ"G "G0,qISpell Fork@fzS  ' "#0,qIspell ForkfzS  '' fsuname:f6[U fsjname:f6[J f[dfile ((F=Editor TypeMAILT"'E)+(FsLispt))"N :i*NML Does not work as inferior to MAIL or Lispfserr0' e?USR:U ESPELL"NoNewSpell' "G @ :JOB ESPELL :JCL  :CONTINUE :JOB J :CONTINUE  ' "# :JOB ESPELL :JCL  :CONTINUE :JOB J :continue  ' !NewSpell! :i*fo..QSpell Initialization F=I"N:iII' "G @ :ESPELL I :JOB J :CONTINUE  ' "# :ESPELL I :JOB J :CONTINUE ' f[DFile[2 e?2"NF+:i*ESP Error in Spell Program: Maybe Directory FullFSERR' [1[N [O Q..O[B f[Linesf[BBind er2Y ec@ed2 1au1d q1-#"E @ftWord not found.  0fsechoactivew1' q1-*"E @ftFound it.  0fsechoactivew1' q1-+"E :s/wRw0,.x1 @ftFound it because of 1.  0fsechoactivew1' zj-2d @ftType a digit to replace word, % for Query Replace, space to flush. 0u0J @FA j0u0 q0+2fsLines' !Redisplay! f[windowj@v 0u3 !Retry! Q3"E@fiu1' (Q3"'N)+(q1-%"'E)"N @ft Query replace O with which word (0...9)?  @fiu11u3' q1"D q1u1 j :s1="EfgoRetry' .[B:s wRw.[E qB,qEfcqB,qExN ]E]B Q3"N@ftN ' 0,q0+2@f qB[..O q3"E fqOFSINSLEN qNu1 m(m.m& Case Replace)w0' "# :i*CFSEchodisp @ftO with N .(j1m(m.mQuery Replace)ONw):j 0,1a- "ER' 1'' q1-204"EoRedisplay' q1-236"EoRedisplay' q1-32"E1' "#fgoRetry' 1wFSOSTECO"G -1fo..qISpell Fork"Lfg' "#-qISpell Forkfz -1uISpell Fork' @ftIspell fork reset.  0fsechoactive0' FSOSTECO"E fsjname:f6[3 @ :JOB ESPELL :KILL :JOB 3 :CONTINUE  @ftSpell job killed.  0fsechoactive' 0f[DFile fsmsname:f6[S :I* m(m.m^R Save File) QBuffer FilenameuF F=A"NQAuC' "# fsosteco"Efsuname:f6[U :iCDSK:S;_OSPEL U' "#FSUINDEX:\[U :iCS[EMACS-SPELL-U].TXT.0'' fsosteco"E 0m(m.m& ITS Get Spell Job)CORRECT F,CQUIT' "#0m(m.m& Twenex Get Spell Job)CORRECT F C,QUIT' e?C"NF+:i*ESP Error in Spell Program -- Output file not found.fserr' HK F=A"EERC@Y@EDC' "#0FsModified m(m.mVisit File)C' [S fsosteco"E:iSITS:iD' "#:iSTWENEX:iD,' 1m(m.m& S Get Spell Job)DQUIT' AUXRandom functions autoloaded by standard EMACS.C Edit some or all of the permanent options. String argument is a filter for the option names -- you will be editing all options whose names contain the string. If you don't give a string argument, all options will appear for editing. A variable is an option if its comment starts with "*" or "!*". (The variable name must not contain a colon.) When you exit the recursive edit with ^R Exit, the values are updated. To abort, use Abort Recursive Edit. If you are only editing a few options, only part of the screen will be used, to reduce the amount of redisplay upon exit. The format of the table is fairly obvious; type HELP to get details.S fsHelpMacro for MM Edit Options.C Delimiter syntax table editor. String arg is Q-register to edit. Default is ..D. Response to "Character:" is ^G to quit, ^Q to quote, Altmode to leave the macro, or character whose entry to edit. When editing a character's entry, you are in overwrite mode. After you exit the recursive edit, you are asked for another character. First char in each table entry is space for delimiter, or A. Second is space, (, ), /, |, ', or A for lisp syntax.C Offers to kill each buffer, one by one. If the buffer contains a modified file and you say to kill it, you are asked whether to write the file out first.C Edit the tab stops used by ^R Tab to Tab Stop. The bottom two lines just number the columns for your benefit. The first two lines, stored in Tab Stop Definitions, are meaningful. Periods or colons in the first line mark the tab stop columns. A colon means tab out with whitespace; a period means tab out by copying text from the second line (you must put the text there).S Compare text in two windows. Compares the text in the two windows, starting at the cursor in each window, leaving point in each window at the first discrepancy, if any, or to end of buffer. Quitting leaves point at place comparison had reached. The variable Collapse in Comparison should be a string of "insignificant" characters. Any sequence of those characters matches any other such sequence. If the variable is not defined, the default is CR, LF, TAB and SPACE.S Compares current buffer with another. The precomma arg should be the other buffer, with its virtual beginning at the place to start comparison. The postcomma arg should be a collection of "special" characters to be collapsed in the comparison. Typically, this arg might consist of space, tab, CR, and LF. Any nonempty string of members of this arg matches any other nonempty string of members of this arg. We move point in both buffers up to the first mismatch, and return nonzero if the buffers match up to the end.C Describe how the current mode differs from Fundamental mode.S Read the user's EVARS file of variable settings. A filename string may be given as a numeric argument, to specify a non-standard vars file.C Convert spaces after point to tabs. Groups of spaces which could be transparently replaced with a tab are. Numeric arg specifies tab stop spacing. Precomma numeric arg specifies minimum number of spaces to change (default 3).S Check spelling of word at point and offer numbered replacements. 0-9 => Replace misspelled word with that spelling. % => Read a digit and query replace from beginning of buffer. space => Exit and make no changes. ^L => Redisplay choices. If a Spell job does not already exist, create one and give contents of Spell Initialization as additional JCL. If given a negative argument, kill the Spell job.S Get or create an Ispell fork take argument as jcl. Gives Spell Initialization as JCL first if it exists and this creates a new Ispell fork. A numeric argument means to assume this won't print anything on the screen.S Get or create a Spell job to take string arg as JCL. Gives Spell Initialization as JCL first if it exists and this creates a new Spell job. A numeric argument means to assume this won't print anything on the screen.S Replace the word at point from the choices in the argument file.S Kill Spell job or Ispell fork.& Send buffer to Spell for correction. Writes out the current file and calls Spell to correct it. Spell outputs a file, which is then read back into the EMACS buffer. The output file is temporary, and deleted, unless this command is given a string argument, which specifies the filename of the corrected file. If the Spell program errors out, type Q to return to EMACS, and use Revert File to recover the buffer.S Give the string argument to SPELL as JCL. Sample use: M-X Command to SpellDUMP DICT > If this command starts a new Spell, it is first given the contents Qof Spell Initialization.Edit Options & Edit Options Help Edit Syntax Table Kill Some Buffers Edit Tab Stops & Compare Windows & Compare String with Buffer List Redefinitions & Process Init Vars Tabify & Correct Word Spelling & Twenex Get Spell Job & ITS Get Spell Job & Spell Replace Word & Kill Spell Job & Correct Buffer Spelling & Spell JCL +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2