P [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) ,9YC $2>s k#dqg"",3 & Setup SLOWLY Library& Slow Draw Line& Slow Minibuffer^R Quiet Editing^R Quiet Editing Redisplay^R Set Screen Size^R Slow Display I-Search~DIRECTORY~~DOC~ & Setup SLOWLY Library~DOC~ & Slow Draw Line~DOC~ & Slow Minibuffer~DOC~ ^R Quiet Editing~DOC~ ^R Quiet Editing Redisplay~DOC~ ^R Set Screen Size~DOC~ ^R Slow Display I-Search~DOC~ ~Filename~~Filename~~INVERT~0fs^RDisplay F"EqShort Display Size'[1 q1"lfslines+'(fstoplin)+q1u1 FF&2"EQDefault Separator'"#'[2 q2"e0' FF&1"n"eq1,q1+1@F0'' fsPJATY+1"g q1f[TopLine :FT2 0u..h' 0"e0FSRefresh QShort Display Mode[1 q1/100fstoplin q1-(q1/100*100)fslines 0UShort Display Mode 0m(m.m& Slow Draw Line)0' F"EQShort Display Size'[1 QShort Display Mode"n 0m(m.m& Slow Draw Line)' "#fstoplin*100+(fslines)UShort Display Mode' Q1UShort Display Size m.m& Slow Draw LineFS^RDisplay FS^RDisplayFSRefresh q1fslines q1"g.,.' fslinesF"N+(fstoplin)'[2 q2f"ewFSHeight-(FSEchoLines)-1'( )+q1fsTopLine01fo..qSlow Search Lines Used[.1 QDefault Separatorfo..qSlow Search Separator[.2 0[.3 FSLines+(fsTopLine)[.4 q.4[.5 @FN~Q.3"NF'~ f[TopLinewf[Lines f[Refresh [Short Display Size [Default Separator [Short Display Mode m(m.m& End Of Screen Address)[.6 fswindow[.7 fnq.7fswindow [D 0[L 10.[R [Q@:iQ` q4+1*5-fq3"e q3[..ozj 200,0i]..o' .u:3(%4) qLu:3(%4) q2u:3(%4) q0u:3(%4) qDu:3(%4) ` [T fstyisourc"e @:iT` Q9-Q.9"N2[R'Q9U.9 fsrgetty"n2&qR"n qcfsechodis @ft9: q2u8'' @ft8:i8 `' "#:iT' [C:ICTL [0 [2:i2 [8:i8 [9 0[.9 1fo..qSearch Exit Option 200fsqvector[3 -1[4 [5 .[P [S:ISM.M& Isearch RuboutUS:MS :I*M(M.M& Isearch Help)F[HelpMac 1f[noquit [6[7 qD"g:i6I-Search:i7Failing I-Search' qD"l:i6Reverse I-Search:i7Failing Reverse I-Search' q6u9 0[I fsrgetty"e fstyisourc"e@ft S: ' 1fstypeo'' !Restart! 1:<1uI-2f[noquit 0fsnoquitwqD:m(m.m^R String Search)' q5-8"eoFunny' q5-176."goFunny' q5-"eoControl' q5-"e FSREREAD' !Normal! 4uR mQ :i220 fstyisource"e fq8"nmt' @ft0 "# !Try! mt '' qL"n!' .u5 40.&qR"e qD"gfq2-1r' "#fsz-qPf[vz fq2-1"gfq2:c"ezj'' f]vz'' qD:s2"l!' q5j1uLfg! !Funny! q5-177."eoRubout' q5&537.-S"eoForward' q5&537.-R"eoBackward' q5&537.-Q"eoQuote' qE"eonormal' oControl !Quote! fsosteco"n-1f[helpch' fiu0 fsosteco"nf]helpch' onormal !Forward! qD"l:i6I-Search:i7Failing I-Search' q4"LqD"goDefault' "#1uD!'' mQ qD"L0uL' 1uD 40.uR otry !Backward! qD"g:i6Reverse I-Search:i7Failing Reverse I-Search' q4"LqD"loDefault' "#-1uD!'' mQ qD"g0uL' -1uD 40.uR otry !Default! mQ qSearch Default Ring[..o .fswordu2]..o fq2"l:i2' q2u8 40.uR otry !Rubout! q4"lfg!' ms qL"eq6'"#q7'u9 mt! !Control! q5fsreread 0; >>u0@feqit-q0"e@fg qL"'gqI"N:i*:'"#:i* 'fsjrnwr QL"gmt oRestart' qI"emsmtoRestart' QPJ0fsnoquit -1fsquit' q0f"nfserr' q.3"nfswindowu.7' fq2"g qSearch Default Ring[..o fq(.fsword)-1"G5c.-z"ej'' q2,.fsword ]..o' fstyisource"e@ft' qPmMM & Maybe Push Point 0QMinibuffer Size[1 QShort Display Mode"N FSRefresh"n QShort Display Size[2 Q1,0F[3q2,0F[4 Q1*Q2"G Q4-Q3:"G @FN~M(FSRefresh)w@V~'' "# FSHeight-Q4-Q3-(FSEchoLines)-1"l @FN~M(FSRefresh)w@V~'''' q1[Short Display Size QDefault SeparatorFO..QMinibuffer Separator[2 q2[Default Separator f[TopLinewf[Lines f[Refresh[Short Display Size [Default Separator [Short Display Mode @FN~0m(m.m& Slow Draw Line)~ q1"l@fn~FSTopLine,(FSLines)@F~' q2,q1m(m.m^R Set Screen Size) Q..O,-1m(m.m& Slow Old Minibuffer)u[..J:I..JQuiet Editing 1F[^RINHIBIT [.LQ.LUQuiet Edit Saved C-L m.m^R Quiet Editing Redisplayu.L 000F[^RINHIBIT FF"E FS^RPREV:FC-200.-L"N 0@V0'' F@MQuiet Edit Saved C-L 0@V00fo..qMM & Slow Old Minibuffer"n @FT(Slowly Being Loaded Twice) 0fsechoactivew0' fsrgetty"e' 3m.cMinibuffer Size* Number of lines to use for the minibuffer. If negative, use the bottom of the screen instead of the top. :i*------m.cDefault Separator* Default Separtator Used In Short Screen and incremental searches. Part of the SLOWLY library 3M.VShort Display Size 0M.VShort Display Mode M.VQuiet Edit Saved C-L m.m& Slow Draw Linem.vMini Re-display m.m& Minibufferm.vMM & Slow Old Minibuffer m.m^R Incremental Search[1 m.m^R Slow Display I-Search[2 0fo..qSLOWLY Setup Hook[3 q3"e 1m.cSlow Search Lines Used* Number of lines to use for display during incremental searches. If negative, use the bottom of the screen instead of the top. fsospeed-(1200fo..qSLOWLY Maximum Speed+1)"L q2m.vMM ^R Incremental Search q1-q.S"EQ2u.S' m.m& Slow MinibufferM.VMM & Minibuffer m.m^R Quiet Editingu:.x(Q) m.m^R Set Screen SizeU..O'' "#:m3' SLOWLYLibrary of macros for slow displaysS Print a line of dashes or the pre-comma arg with post-comma arg lines from the top of the screen. If the second arg is negative, counting occurs from the bottom of the screen instead of the top. If the second arg is 0 explicitly, it re-displays the line it used before. Intended for use in FS ^R Display and FS Refresh, it zeros FS ^R Display^R Shorten the part of the screen to use to ARG lines. ARG defaults to 3, or whatever was used last time. A negative argument means to use the bottom of the screen rather than the top. A zero arg means to use the whole screen. A pre-comma arg is the separator to use, and inhibits setting the default.^R Incremental Search with limited redisplay As characters are typed in, the accumulated string is searched for. Characters may be rubbed out. ^Q quotes special characters. ^S repeats the search, forward, and ^R repeats it backward. If the accumulated string is empty, ^R or ^S either reverses the direction of search or gobbles the previous search string and searches for it again. Altmode or any random control character exits (anything but altmode is then executed). If the accumulated string fails to be found, you will be notified with one bell. You can then exit, rub the bad characters out (or ^G them all away), or try searching in the opposite direction. Quitting a successful search goes back to the starting point of the search; quitting a failing search rubs out enough characters to make it successful again. Altmode when the string is empty makes the search non-incremental by calling ^R String Search. If the display would go off the screen, it narrows the screen to Slow Search Lines Used lines until the search exits, to cut down on redisplaywS Call EMACS's & Minibuffer with FS LINES and FS TOP LINE already set up for SLOWLY style top-or-bottome hacking^R Edit with no redisplay for a while. Enters a recursive ^R mode with redisplay inhibited. When you exit the recursive ^R, all pending redisplay will be done. Meanwhile, C-L causes one redisplay, and two C-L's in a row clear the screen and redisplay. Exit this mode via C-M-C (^C^C) or Control-altmode.^R C-L for ^R Quiet EditingS Stuff to do on loading this lib. Places ^R Slow .... on appropriate keys if on slow terminal or calls user hook (SLOWLY Setup Hook). Default setup is: & Slow Minibuffer -- variable MM & Minibuffer ^R Slow Display I-Search -- Control-S ^R Slow Display Reverse I-Search -- Control-R ^R Set Screen Size -- Meta-O ^R Quiet Editing -- C-X Q& Slow Draw Line ^R Set Screen Size ^R Slow Display I-Search & Slow Minibuffer ^R Quiet Editing ^R Quiet Editing Redisplay & Setup SLOWLY Library +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2