!~Filename~:! SKETCH !& Setup Sketch Library:! 0fo..QLast Sketch Namem.vLast Sketch Name 0fo..QLast Sketch Library Namem.vLast Sketch Library Name m.m^R Sketch Dispatchu...S !Insert Sketch:! m.m& Insert Sketch,(:i*Insert):m(m.m& Sketch Prompt) !& Insert Sketch:! 1,m(m.m& Find Sketch)[0[1 .[2 g0q2+q1j q2,fq0 !Edit Sketch:! m.m& Edit Sketch,(:i*Edit):m(m.m& Sketch Prompt) !& Edit Sketch:! [0[1 [..J 0[..F u0 !Retry! qLast Sketch Library Nameu1 q1"e @m(m.mVisit Sketch Library) oRetry' e[fne] e\fne^ f[dfile f[bbind er1@yj 0f[modifiedw0f[xmodifiedw :s 0 "l :i..J(Editing Sketch "0")!''! .,(s r.)fsbound' "#:s :"lzji ' g0i r :i..J(Creating Sketch "0")!''! .,(i~.)fsbound' [Cfsosteco"e:iCC'"#:iCZ' :i..J..J "~" marks point, c-m-C exits, c-] aborts!''!  et1 0,(fsz)fsbound ewhpef fsofile :i*CSketch Library "O" Written !''!fsechodisw0fsechoactive 0 !View Sketch:! m.m& View Sketch,(:i*View):m(m.m& Sketch Prompt) !& View Sketch:! [0[1 0f[^RStar u0:i*(Sketch "0")!''![..Jfr q0m(m.m& Find Sketch)u1 ft1 :fiw 0 !& Sketch Prompt:! [L[P[N :f "l uP qLast Sketch NameuL :iPP Sketch fqL:"l:iPP (L)' 1,m(m.m& Read Line)P: uN' "#:iN' fqN"eqLast Sketch NameuN' "#qNuLast Sketch Name' qNm() !& Find Sketch:! [0[1 u0 qLast Sketch Library Nameu1 q1m(m.m& Prepare Sketch Library Visit) :i*NST No such sketch "0" in "F"fserr!''''! !& Sketch Library Prompt:! [L[P[N m(m.m& Sketch Set File Defaults) qLast Sketch Library NameuL qL"nqLfsdfile' :f "l uP 5,m(m.m& Read Line)P Sketch LibraryuN' "#:iN' fqN"getN' fsdfilef(uN)uLast Sketch Library Name qNm() !List Sketch Library:! [Last Sketch Library Name m.m& List Sketch Library,(:i*List):m(m.m& Sketch Library Prompt) !& List Sketch Library:! m(m.m& Prepare Sketch Library Visit) ftSketches in file "F"... !''! ft----------  :fiw 0 !& Prepare Sketch Library Visit:! f[bbind f[dfile e[fne] [F erFa !& Find Next Sketch:! hk j !& Process Sketch:! [Last Sketch Name [0[1 -1u0 jk zj0a- "noFormatErr' -dj <:s~<!>!; 0a-"e-dc' "#0a-~"e q0:"loFormatErr' "#-d.u0'' "#0a-!"e"n-d.,( !-d .)fx*m(m.m& Hack Sketch Var)''''> q0"lzj'"#q0j' !FormatErr! :i*FMT Badformatinsketchentry !& Hack Sketch Var:! [0[1[2[3[C u0 0fo..QSketch 0 Varu1 fq1"l:i2'"#:i2 (1)' !Prompt! :i*C0 (or c-R or Alt): fsEchoDis fiuC qC-"e f[bbind [Cfsosteco"e:iCC'"#:iCZ' :i*(Filler for "0") End with c-m-C !''![..J ]..J]Cwg(hfx*(f]bbindw))' qC-"e @m(m.mInsert Sketch) ' qC-?"e ftType text to be used for this sketch field (ended by Return) or type Control-R to be able to type this text into an editor buffer or type Altmode to use a sketch to fill this field. ----------  oPrompt' qC- "e-1uC' qCfsreread 1,m(m.m& Read Line)02: u3 !Default! fq3"gq3u1' q1"nq1m.vSketch 0 Var g1'  !Visit Sketch Library:! f[dfile m(m.m& Sketch Set File Defaults) 5,f Visit Sketch Library etL fsdfileuL e?"n @ftSketch library "L" doesn't exist. Create?!'! 1m(m.m& Yes or No)"nm(m.mCreate Sketch Library)L'' fsdfileuLast Sketch Library Name 0 !Create Sketch Library:! e\fne^ f[Dfile m(m.m& Sketch Set File Defaults) 5,f Create Sketch Library qLfsdfile f[bbind i-*- Text -*- This is an Emacs SKETCH library. Created  m(m.mInsert Date) zji by g(fsuname:f6)i.  ewhpef fsofileuL @ftSketch Library "L" created. !''!0fsechoactive 0 !^R Sketch Dispatch:! fnq..H"n0u..H@v' [0[1 60:"e !Prompt! :i*CSketch Command: fsEchoDisplay' !Retry! fi:fcu0 q0-E"e f@:m(m.mEdit Sketch)' q0-I"e f@:m(m.mInsert Sketch)' q0-V"e f@:m(m.mView Sketch)' q0- "e f@:m(m.mList Sketch Library)' q0-"e f@:m(m.mVisit Sketch Library)' q0-Q"e0' q0-H"e [LftTo use a sketch, you must visit a sketch library. Currently, you are  qLast Sketch Library NameuL qL"nftvisiting the sketch library "L".!''!' "#ftnot visiting any sketch library.' ft You can visit qL"nftanother '"#fta ' ftsketch library by typing c-V now. You can list the contents of a library by typing c-L now.  qL"nftSince '"#ftOnce ' ftyou have visited a library, you can insert a sketch from that library by typing I qL"nft now' ft. To create a new sketch or modify an existing one, you can type E qL"nft now' ft. Or, if you just want to see an existing sketch without inserting it, you can type V qL"nft now' ft. ----------  ]LoPrompt' (q0-?)*(q0-)"e ftSketch commands: E Edit (or create) Sketch I Insert Sketch V View Sketch Sketch Library Commands: c-L List Sketch Library c-V Visit Sketch Library Type H for more info. Type Q to exit this mode. ----------  oPrompt' fg :i*CSketch Command (E, I, V, c-L, c-V, or ?): fsEchoDisplay oRetry !& Sketch Set File Defaults:! qLast Sketch Library Namef"nfsdfile' "#wfshsnamefsdsname fsxunamefsdfn1 0fsversion f6SKETCHfsdfn2'  !~DOC~ ~Filename~:! Macros for hacking text sketches !~DOC~ & Setup Sketch Library:! S Set up this library after load !~DOC~ Insert Sketch:! C Insert a named text sketch !~DOC~ & Insert Sketch:! S Insert a sketch with a given name (numeric arg) !~DOC~ Edit Sketch:! C Edit a named text sketch !~DOC~ & Edit Sketch:! S Edit a sketch with a given name (numeric arg) !~DOC~ View Sketch:! C View a named text sketch !~DOC~ & View Sketch:! S View a sketch with a given name (numeric arg) !~DOC~ & Sketch Prompt:! S Prompt for name and call continuation Continuation (a macro) is arg1; prompt type (a string) is arg2. !~DOC~ & Find Sketch:! S Return a sketch with a given name !~DOC~ & Sketch Library Prompt:! S Prompt for library name and call continuation Continuation (a macro) is arg1; prompt type (a string) is arg2. !~DOC~ List Sketch Library:! C List the contents of the sketch library !~DOC~ & List Sketch Library:! S List a library's contents (name is numeric arg2) !~DOC~ & Prepare Sketch Library Visit:! S Set up for sketch library perusal Gets a fresh (temp) buffer and opens the library. Calls to & Find Next Sketch will visit successive entries in the library. !~DOC~ & Find Next Sketch:! S Visit the next sketch in an open library. The library must have been opened by & Prepare Sketch Library Visit. If no next sketch is found, the buffer is left empty; a sketch will always have at least one char, so this isn't ambiguous. !~DOC~ & Process Sketch:! S Scan the current sketch removing syntactic markers. Kill the sketch's name, the trailing c-L, hack c-Q's and maybe variables. With a precomma arg, also processes 's, prompting for values in the echo area. !~DOC~ & Hack Sketch Var:! S Prompt for and insert named text (numeric arg2) Uses sticky defaulting on names !~DOC~ Visit Sketch Library:! C Makes a sketch library current !~DOC~ Create Sketch Library:! C Makes a new sketch library !~DOC~ ^R Sketch Dispatch:! ^R Dispatch to appropriate sketch command !~DOC~ & Sketch Set File Defaults:! S Set file defaults for a Sketch library !~DIRECTORY~:! & Setup Sketch Library Insert Sketch & Insert Sketch Edit Sketch & Edit Sketch View Sketch & View Sketch & Sketch Prompt & Find Sketch & Sketch Library Prompt List Sketch Library & List Sketch Library & Prepare Sketch Library Visit & Find Next Sketch & Process Sketch & Hack Sketch Var Visit Sketch Library Create Sketch Library ^R Sketch Dispatch & Sketch Set File Defaults