Inter-OfficeMemorandumToCedarInterestDateMay4,198312:17amFromWarrenTeitelmanLocationPaloAltoSubjectCedarUserExecOrganizationPARC/ISLXEROXReleaseas[Indigo]Documentation>UserExec.tioga,.pressDraft[Indigo]Manual>UserExec.tioga,.pressByWarrenTeitelmanLasteditedByWarrenTeitelmanonMay4,198312:17amIfyouarereadingthisdocumenton-line,youcanusetheTiogaLevelsmenutoinitiallybrowsethetopfewlevelsofitsstructurebeforereadingitstraightthrough.ReferencestoothersectionsrefertothedocumentIntroductiontoCedar,whichisstoredon[Indigo]Documentation>Introduction.tioga.Underlinedmaterialisneworhasbeenchangedforthecurrentrelease.ContentsGeneralCommentsEventsHelpShowMeFirstCompletionCompoundEventsExecutiveWorkAreasRegisteredCommandsWorkAreaMenuButtonsInterpreterWorkAreasActionWorkAreaspqa ! p ]]+]6]95:>A YY+Y6Y9 VV+V 6Vr{Nrs D pD,.s BpB)-?s A+pA+s ? Vp?I!O$& )R-t < ivZ P#?%(*-b1`59e;$@)DG% ;W k*"$) 8 f~!E#~&]- 5|7<@BG 7.0 4 RY"'i)+0u .t +x (vo$o!j$o oDt [vo t [\ M  TVm$Hm$HActionAreaCommandsUsingtheHistoryfacilityConfirmationGeneralCommentsTheCedarexecutiveiscalledtheUserExec.ItisanamalgamoftheAltoExec,aCedarLanguageinterpreter,andadebuggerbackedupbyoptionalautomaticerrorcorrectionfacilitiessimilartoInterLisp'sDWIM.Forexample,theUserExeccanbeusedtoloadandrunbcds,list,copy,rename,anddeletefiles,evaluateCedarLanguageexpressions,catchbreaksandsignals,anddisplaythestateofaprocessthathasbeenstoppedbyabreakorsignal.TheuserinteractswithaparticularUserExec(youcanhaveseveralaround,evenexecuting,atthesametime)throughaspecialviewercalledaWorkArea.EachWorkAreahasaname,typicallyasingleletter,whichisdisplayedaspartofitscaption.EachWorkAreaalsohasamode,whichiseitherExecutiveorInterpreter,alsodisplayedaspartofitscaption.To"talk"toaparticularUserExec,simplyestablishtheinputfocusbyclickinginthebottomportionofthecorrespondingviewer,andthenstarttyping.SincetheWorkAreaisaviewer,alloftheviewerfacilitiesareavailableformanipulatingtheWorkArea(seesection1.1).Inparticular,itcanbegrown,adjusted,scrolled,moved,closed(theUserExecwillcontinuerunningand/oroutputtingcharacters,youjustwon'tseethemuntilyoureopentheviewer),opened,split,orevendestroyed(whichwillabortanyoperationthatisexecutingthenexttimeittriestodoinputoroutput).Furthermore,sincetheviewerviewsaTiogatypescript,alloftheTiogaeditingandselectionmechanismscanbeusedwithrespecttothecommandlinethatyouarecomposing:youcaneditthislinetoyourheart'scontent,andwhenyouterminatethecommand,itwillbehaveexactlylikeyoutypedintheeditedline.Forexample,supposeyouwanttobringover(section1.3.2)thefilewalnut.bcdwhichispointedtofromwalnut.df,andyoutype:&1Bringoverwalnut.bcdwalnutAtthispoint,yourealizethatyouhaveforgottentotypethe/obetweenBringoverandwalnut.bcd.Youcansimplypointbetweenthesetwo,type/o,andthenmovetheselectiontotheendofthelineandtypeY(RETURN).(AconvenientwaytomovetheselectiontotheendistousetheNEXTkey,whichisthekeytotherightofRETURN.)TypingESCasthefirstcharacterinacommandlinewillreplaythepreviousinputline,upto,butnotincluding,thelastcharacter,i.e.theonethatterminatedthecommand.Youcanthenedittheline,ortypeadditionalcharacters,beforeexecutingthecorrespondingcommand.Forexample,supposeinthepreviousexampleyoudidnotnoticethatyouhadleftoutthe/ountilafterBringoverstartedoperating.YoucouldstopBringover(byclickingtheStopmenubutton),typeESC,andthenpointbeforewalnut.bcdandproceedasabove.Hereisanotherexample:&1Bringover/p[Indigo]Top>RiggingY...bringoverdoesitsthing...&2ESCwhichexpandsinto:&2Bringover/p[Indigo]Top>RiggingYounowtypeCTRL-W(erasesthelastword)followedby"IO",andthenRETURN,andtheresultisthesameashavingtyped:2vob& t ^ [. u V,p Sk ?y>&())+136o9=>CD Q cj!$-&x,+26 =Y C G P 4!d'*P,]/147~:0=@DM Nu a{# +^.3Q6 :=BBDG L - $&v J7 .El %(+z.3K8^; B CF H s "),3B56;@AE Fz[I #1&-p0F2v3F5Fp7 F7F< =AvG EA 3 ]"5'j)-/P0w 6=)AG/ C 61GU!%'* 3 7:=@ A !J!$ (q -0&58 @yB ?\  !#(.4.96=@F = 's*D-03S6:W=(ADY <0j "%U)+1467AE(F :f  f3~ !$&+V/0P49 :<>A D 8 i 0"%C)+.)47a:?=?j F 7 Ou+#y&;),25Z<=@5D 5p N%3b 2 ]KK%*.L03 : >?yDF( 13 cw . i.3x i. \.3 \. .3X .9.39. .3 ..3..3.^.3^.$.3$..3-.3 -.5.35..3X.T.3T.%.3%..3n.e.3ce..3..3.`.3`.1.3.3 ..3..3X..3..3..3n.p , ")*-x0Z,1 ,p2,3Q,x8 ,8,p>,?,xA,B,pH, *_ )Y $x')*_'*_p(*_)*_,w/3~5;=e?BDhF ( y(p6(z(z(pD((s((G !0"%', -l/Y1246z7(8(s;^(;(=AB+DF/G ' z ''s''p $zz$zn$zpd$z $zl` !N'*|-31l39q='@AB_DqF " kq  #E&& -*/6h9<(?aB7DG !+   y%' 07l:-@ElG/ ri y#>%(+-tx/0p1258N>C  sO!$K'[p*+z./mp014l7;x?[@dpFG} 5$  _w   ix i \ \ X  99      ^^ $$ --  IyI c %%  X !!  y ==     II  ~~ Z Z !,!, !! "" #X# $$ $$ %X% %% && 'y' p Tv T TpTTw  i5z i #5 # 5 pv    w rx ir \r-Ip  z5  p z !%+Cx-K . p0O 19 3z70 7 p; < ?rAEG/ 5 ix) 6TVm$&2Bringover/p[Indigo]Top>IOexceptthatitrequiredonlyfivekeystrokes.Youcanretrievecommandlinesotherthanthelastonetypedbyselectinginthecorrespondingeventandthenright-clickingtheRedomenubutton,asexplainedbelow.(Or,youcanusethesecondaryselectionfacilityofTioga,butthisrequiresalittlebitmorecareful"aiming".)Inotherwords,wheneverapreviouslineisveryclosetosomethingyouwanttotype,considerretrievingthatlineandeditingit,ratherthanretyping.Finally,typingDELatanypointduringtheinputofacommand(providedthatthecurrentselectionisattheendofthedocument,otherwiseDELwillbeinterpretedasaTiogaeditingcommandanddeletethecurrentselection)willaborttheinput.ClickingtheStopmenubutton(ortypingCTRL-DEL)whiletheUserExecisexecutingwillcauseittoabortthecurrentoperation.(Thissometimestakesalittlewhile.)NewUserExecsandtheircorrespondingWorkAreascanbecreatedviatheNewmenubutton(describedbelow)ortheCreateExecregisteredcommand.TheformerwillcreateanewUserExecimmediately,i.e.assoonasitisclicked,evenifthecorrespondingWorkAreaisbusyexecutingacommand,oreven"wedgedup."ExistingUserExecscanbedestroyedviatheDestroyViewermenubutton(left-mostbuttoninthehiddenmenu)ortheDestroyExecregisteredcommand.DestroyingaUserExecwhileitisexecutingacommandwillcausethecorrespondingprocesstoabortthenexttimeittriestodoanyinputoroutput.EventsEachuserinteractionwithaUserExeciscalledanevent.Atthestartofeachevent,theuserispromptedby&followedbytheeventnumber.(Previouslyexecutedeventscanbereferencedandmanipulatedviathehistoryfacilitiesdescribedbelow.Oneconvenientwayofdoingthisisbyeventnumber.)Theuserthentypesinacommandlineconsistingofthenameofaregisteredcommand(seebelow),followedbyitsarguments,ifany,andterminatedbyY,?,CTRL-X,orESC.TheUserExecthenperformstheindicatedoperation,printstheresult,andpromptstheuserforthenextevent.Asmentionedabove,typingDELatanypointduringtheinputofacommandwillaborttheinputandreprompttheuser.TypingCTRL-DELorclickingtheStopmenubuttonwillaborttheexecutionofanevent.HelpTerminatingacommandlinewith?signifiesarequestforadditionalinformation.Specifically,?byitselfprintsalistofcommandscurrentlyregistered,?afteraregisteredcommandprintsadescriptionofthecommand,and?afteraCedarexpressionprintsthetypeof(thevalueof)theexpression,aswellasanycommentsfromthecorrespondinginterface.&4walnut*?WalnutForretrievingandsendingmailWalnutExpungeExpungesdeletedmessagesWalnutScavengeRebuildsMaildatabasefromlogfileWalnutSendCreatesaviewerforsendingmail&5_3.2?isoftypeREAL&6_Rope.Cat?isoftypePROC[r1,r2,r3,r4,r5,r6:ROPE_NIL]RETURNS[ROPE];returnstheconcatenationofuptosixropes(limitbasedonevalstackdepth)BoundsFaultoccursiftheresultgetstoolargeAsdescribedlaterinthesectiononInterpreterAreas,terminatingaprocedurenamewithCTRL-Ewillcausea"form"tobeconstructedcontainingthenamesandtypesofthearguments.Theusercanthensimplyfillinthecorrespondingfields.ShowMeFirst3w b  iax ib \a \b aX b 9a9b  a b ab ab ^a^b $a$b a-a-b ab aIayIb acb %a%b ab aXb !a!b ab ayb =a=b ab ab ab ab IaIb ab ~a~b Za Zb !,a!,b !a!b "ac"b #a#b p _W?Z_!&)E+17:>ADIF ]  !%P'* 36x5z]6w]p9I]:s]=ACO \FsG\F\F""%'*k,d.w2367:>6 pC\FD}\FE Zm #4&(/A257W:@p F X Z Vlz9VlVlpVlsVle"$r()*s1]Vl1Vl6e8:>\BDEHG. T ^ Uv $/%&)-248=:4> pCTDTE S q8xSSp`SS g$'bz+S,Sp20S3.S6 8>@qF Qv En !%,;/04 N *u "),H.,25x7mN8jNp:N;N>B MDdxlMDiMDpSMDMD ';*.1%5669?1 GS K 3 IB )02a5<&=yD[FI IU "(*--2?6:> E HN }!.xHNHN p%HN&@HN,P3Q :<BFH# F (}  )-/m35T8W;p<?AUCOE D u @p =b UD &F!e"&v(=b)5=bp+=b,l=b.]035g8<>AC8 ; 9s!;"; ',H/13 9 ;j ACE : PSj !o"&(C)z+%.1p3:3:69.1z63v73vp<3v=d3v>sCxE3vF3vp 1 ?!"$t .kp + (x+p+%=&Z+"-R 3 ; xC'+pDC+F2 ) b& x&)p')+),^ 29!=>N EkG/ (ExT(Epy(E #'),.1v57J9 @B[EDF &y@ 6 w $ i# x i$ r# r$8#X8$#$b#b$4#n4$#$h#h$ "c  D2$ !B  ?\$(R* T M!'w  i; x i r; ; ;c ; ;  y =ww F i x iF r  FFFF]c]FFFnFF  y =w3 e"&(+2  y ("#&*B-2D4k7;o 8 w_4"K%(p  TS| '+ 3b4;;?zBAC pFG  nj  %',I/ 24o6 =@CFi ^\1 t  5x) TVm$TerminatingacommandwithCTRL-Xmeansto"expand"thecommand,butnottoexecuteit.Forexample,&6delete*.*.pressCTRL-Xdeleteinputimpl.mesa.pressmesascanner.mesa.pressnewio.mesa.pressnewstuffimpl.mesa.pressuserexec.tioga.pressuserprofile.doc.pressYoucannowtypeaYtocarryouttheoperation,oreditthelineandthenexecuteit,oraborttheoperationbytypingDEL.Expandingacommandlinewillproduceacommandlineinwhichallpatternsarereplacedbytheelementsthatmatchthepattern(*expansion),historycommandsandaliasesarereplacedbythecommandsthattheywouldconstruct,andcommandfilesarereplacedbytheircontents.CompletionTerminatingacommandwithESCmeansto"complete"thecommand,asfaraspossible,butnottoexecuteit.Forexample(underlinedtexttypedbyuser,othertextsuppliedbysystem),&6comESCpilevieESCwerexESCecopsimpl.CompoundEventsWhileacommandisbeingexecuted,theusercantypeaheadthenextseveralcommands,ormovetheinputfocustoanotherUserExecandtypeacommandthere.Iftheuserwantstosee(e.g.,tomakesurehetypedcorrectly)aseriesofcommandsthataretobeexecuted,orwantstomaketheexecutionofonecommanddependentonthesuccessfulcompletionofapreviousone,heemploysacompoundevent,whichconsistsofseveralcommandsseparatedbysemicolons.Forexample:&3compilefooimpl;bindfoo;runfoo;YInthiscase,bindingwillnotbeattemptedifthecompilationfails,i.e.containsanyerrors,andtheprogramwillnotberunifthebindfails.Abortingacompoundeventwillabortthecommandcurrentlybeingexecuted,andnotcontinuetothenextcommand,i.e.,itabortstheentireevent.ExecutiveWorkAreasAsdescribedabove,eachcommandlinebeginswiththenameofaregisteredcommand(casedoesnotmatter).WhentheUserExecseesacommandlinethatdoesnotbeginwiththenameofaregisteredcommand,itattemptstotreatthefirsttokenonthecommandlineastheinitialcharactersinacommand.Ifthistokenunambiguouslyspecifiesacommand,thentheUserExecsimplytreatsthetokenasspecifyingthatcommand.Otherwise,ifthereisamatch,theUserExecprintsthecommandsthatmatch.Forexample:&1copfoo.profile_user.profileYcopmatchesunambiguouslywithcopyCopied919bytestofoo.profile&3rufooimplYruisambiguous.Itmatcheswith:RunLoadandStartthenamedprograms.RunAndCallLoadandStartthenamedprogram.Thencalltheregisteredprocedure,ifany.runotacommand.Ifthereisnomatch,dependingonthesettingsintheuser'sprofile,theUserExecwilltrytotreatthefirsttokenasthemisspellednameofaregisteredcommand,andcorrectthespelling.Ifthisfails,theeventwillterminateinanerror.Newcommandscanberegisteredbyrunningaprogramthatknowshowtoregisterthecommandsitimplements(bycallingUserExec.RegisterCommand).However,inorderthattheUserExecknowabout4p b) azQb)b)p!b)#b)&o(X.1`8S;=?DF `t ]w ]x k] k] <] <]]X][][]!]n!]]]U]]]]c]]]]c]-]-]]]]]I]I]]]]z]t]t]%]%]]]]a]]]x \Ec-H9I Zp X ,yzXpX}!# *A,*/14p7L:?AClG/ VjzVVj VjpVj S g$E%,1/0567V<?NEG/ R6/;!6 (-47E>FEzFEFwEwFxBFEFEzFEFEFxSF t Bp ? @ !#{&}),+0725:SACgG/ >4 1  #$+T/20369;=A8BF <  A#%(/)+137]9<?E3F :lQv "j )+,257=?>E 9> C )&H(D /2Aw 6 i6Hx i6 06H 066H*6+6H+66HX6U6HXU66H6s6H6Hn6f6Hf676H76 6HX 6a6H*a66H6\6HX\66Hc66H6H6m6HXm66H66H6i6H6Hn6[6,6H,66Hc6a6H6H6j6Hj6;6H;6 6H 6Hn 6 6H 6!6H!6"6Hc"6#6Hy#6p 4% /sM%'F) 157l<?DJG/ 2~vx f#8)*41 47a:=VC 0 v0A0p00 ;"%,c.0M4q6:u ,wp )6 < F#'_*,02z3 :@nCG '7o6. w&),0 269A;H9 5 s3 5 5p% 5& 5(@.0588:AEx) TVm$ecommandsthatare(wouldbe)registeredbyprogramsthathavenotyetbeenrun,thefileRegisteredCommands.cataloguecontainsalistofthepubliclyusedregisteredcommands(thinkofthisfileasadatabasedescribingregisteredcommands).Inaddition,theusercaninformtheUserExecabouthisownpersonalregisteredcommands,againevenbeforetheprogramthatregistersthemhasbeenrun,byincludingthesecommandsintheRegisteredCommandsentryofhispersonaluserprofile(seeUserProfile.doc).Thismechanismcanalsobeusedtooverride,i.e.redefine,thosecommandsthatarespecifiedinRegisteredCommands.catalogue.RegisteredCommandsThefollowingisalistofsomeofthemostusefulregisteredcommands.CommandsrelatingtomanipulatingthehistorylistordebugginginActionAreasaredescribedseparatelyinthesectionsonUsingtheHistoryFacilityandActionWorkAreasrespectively.Morecommandscanbediscoveredthroughtheuseof?,orbyexaminingthefileRegisteredCommands.Catalogue.@takesafilenameasargument.Treatthecontentsofthenamedfileasacommandfile,i.e.interpretthetextasasequenceofcommands.If{file}hasnoextension,lookforafileoftheform{file}.commandsor{file}.cm.Thecontentsofthecommandfileproducesonelargecompoundevent.Aseachcommandisread,itisprintedtotheWorkAreasothattheusercanmonitortheprogressofthecommandfile.Noerrorcorrectionisperformedwhileexecutingacommandfromacommandfile.Nestingofcommandfilesispermitted.Commandsthatappearonseparatelinesareassignedseparatesubevents.Theeffectofthisisthatifanerroroccursinonecommand,processingwillcontinuewiththenext.Commandsthatappearonthesameline,separatedby;,willonlybeexecutediftheearliercommandsonthesamelineweresuccessful.AbortingacommandfilebyclickingStoportypingCTRL-DEL,however,willaborttheentiretoplevelevent.@fileCTRL-Xwilldisplaythecontentsofthecommandfilewithoutexecutingit.YoucanthenexecutethecorrespondingcommandsbytypingY,orabortbytypingDEL.Youcanalsoeditthesecommands._TreattheremainderoftheinputlineasaCedarexpressiontobeevaluated.Evaluatetheexpressionandprintitsvalue.Iftheexpressionisterminatedwith?,printthetypeofitsvalue,ratherthanthevalue.Iftheexpressionisterminatedwith!,printthevalueshowingthereferentsofallREFsandPOINTERstoanunlimiteddepth.(Notethat?alsoterminates,i.e.activates,thecommandline,whereas!doesnot-youhavetotypeaYor?.)Note:manyusersprefertodointerpretationofexpressionsinInterpreterWorkAreasorActionWorkAreas(seebelow),inwhichcasethe_isautomaticallyprovidedatthebeginningofeachcommandline,andtouseExecutiveWorkAreasfor"executive"typeofoperationssuchasrunningprogramsandmanipulatingfiles.However,_canbeusedtointerpretexpressionsinanExecutiveArea,andisalsotheonlywaytospecifytheinterpretationofanexpressionaspartofacompoundevent,e.g.RunFooImpl;_FooImpl.Init[].AliasDefineanAlias.Aliasesprovideasubstitutionmacrofacilityforthefirsttokenonaline,e.g.Aliasbrobringover/owillcausebromumbletobeexpandedintobringover/omumble.Aliasescanalsobegivenan(optional)argumentlist,inwhichcasethetokensonthecommandlinefollowingthealiasnamewillbesubstitutedfortheformalparameters,e.g.,Aliasbrob(filedf)bringover/a/ofile.mesafile.bcddfwouldcausebrobroperiggingtoexpandtobringover/a/orope.mesarope.bcdrigging.df.Commandsdefinedviaaliasesaretreatedthesameasothercommandswithrespectto?,spellingcorrection,CTRL-XandESCcompletion,etc.AgoodplacetosaveyourownindividualaliasesfromsessiontosessionistodefinethemintheCommandsFromoptioninyouruserprofile.5p b!_ &))/3&69<@D9G% `y~"$:&(_*0;3 9@EF ^ I   ! )+B03O6;8=>?E ]+  "%(-G/5,7=T@CHF [ <"s0Z4C6P8>AF Y!$&)+139=\DWG; X5Vt T p Q #_!$c(, 3@:BG P m$& .17_ =?BDG Nl2?;"*{ 26=@B L$xLpWL3!#&ix Jp J{JA $T( *u/14!8;)<>DGSI$&-/3e58 >ADEWGGm/xGm?Gmp!Gm"Gm# D&!'*.48; >CDF C#A!X$:&),Y14"9;p=DXG- A| _W!') /P239<AC. ? =2m~"&)(. 3p :=@BEIF ;|," ),M157|:B5E 9?, >!$j')/s03_7>@CEF 8< $&|(xx-8<.u8<p1 8<18<2z78<78<p<8<=i8<CEE 6 nx 3z33p33,$&)b/27>L@4C}FC 2J #%y*2Jp+t2J,M.13z72J82Jp:2J:2J=@}CFF 0 .."&%(*+0 68: AkG/,  $/%(T //0 7; <@%BEG+L5"$G& -. 59&:>@sD,)> #y*,.4s9S)9)<>?B G' g#(#&(w)B+n. /e1{2's3'5Rp %[f )~+b 24 ;C%E #"%4')r+ 39;_=D|F^ "  y#4*m, 478 ?~BDX e !>'})+-028M ?AJCD aN!J%(E 024 ;B<?AB xDAi| p" kbz 6#r(*Q,/3569x<k=zk@3B px^0p5!'x*+1w3p89>^@CE  H#Q&:(,.1E7:S@`BE ufc m$! ) x+u,u/3.68g?A3C\ p.x#*p(G(*/x0179;CP & p& i"%&)F,.2F9>CDx `1p`1!$%+-V/2x ^9 p Q^9%-'R-468 ?F\x ZpZ@"['c)+] 25 >B`FX Fx VpV*T!#Jx UpUM"$u'!(,x/f16w:xSSW!p$]SSx Q[pQ[ #&}x OcpOc  ]"x MkpMk!9'! .0C6m89D>x KspKs#x I{pI{$I'N)+1 Gx G GX G G GGnGGGGGGGGG\Gn\GGGGGGpGbGbGGcGIGIGGoGGGGGcGGGGG*GX*GGGGGG &G &G G G!qGo!qG!Gc!G"BG"BG"G"G#G$IG$IG%G%G%Go%G&$G&$G&G'NGy'NG'G'G(G(G)G)Go)G)G)G*G*G+fG+Gc+G,MG,MG-G-G-Gc-G.>G.>G.G.G/~Go/~G/G/G0G0G1ZG1Gy1G2WGc2WG2Gc2G3G3G3G3G4GGX4GG4G5$G5$G5G5G6cG6cG6Go6G7VG7VG7G7G8G9GG9GG:G:G:G;CG;CG;G;GGc>G>G>G?:G?:G@G@G@GALGALGAGoAGB`GB`GCGWCGx EpE.$5'.*-x CpC"$)x ApA p$x'A(A+d1r4Pp:A;A=@CG?"(x*.4:6=@E>L X x 9c:>:\:9::\;G9;9;:\<9<:\=;9*=;:\>e9>e:\? 9?9*?:\@9@:\Ab9Ab:\B9B:\B9B:\CR9C9cC:\D=9D=:\E9E:\E9oE:\E9F9cF:\F9F:\G9G:\HD9HD:\ 8L8Lo8?8L?88L88LI8LI88L88L8#8L#88L8M8LM88L88L8T8LT88L88Lc8D8LD8 8L 88LY8LY8 8L 88L8`8L`88L88L8 :8L* :8!c8LX!c8!8L"Y8L"Y8# 8L# 8#8Lo#8$V8L$8L$8%8L%8&v8L'8L'8'8L'8(8Lo(8)8L)8L)8*'8Lo*'8*8L*8+;8L+;8+8Lo+8,.8L,8Lc,8-/8Lo-/8-8LW-8-8L.8L.8/8L/8/8L/80b8Lo0b808L081v8L1v828L2828LX283;8L38L384s8L4s858Lc585|8Lc5|858L6}8Lo6}868L6878L788X8L88L8898L98:b8L:b8;)8L;)8;8L;8<8L<8=Q8L=Q8=8L=8>z8LX>z8>8L?p8L?p8@8LW@8@m8L@m8A8LWA8Au8LB8LB8B8LB8CR8LC8LoC8D_8LD_8E&8LE&8E8LoE8F:8LF8LF8G8LG8HD8LHD8 667k6k767667\6c\767d6d7+6o+76W6W76767H6H76767p6p7+6c+767U6oU767H6WH76]6]7 /6 /7 6 7!n6!n7" 6" 7"6"7#T6#T7$6c$7$~6$~7%E6%E7%6&6y&7',6',7'6'7(l6*(l7)6*T6o*T7*6*7+6+7,/6,6,7-6-7.C6.C7.6.7/K6/K7/6/70u60u71<61<71617262736c37363746475_6666766677]6o7]776c778/68/7868796:o6:o7;6;7;6;7<>6<>7<6=6=7>6c>7?6c?7?e6c?e7?6@6o@7@6@7A6A7Bb6Bb7C(6C6C7Dj6oDj7D6D7E~6E~7F6oF7Fr6G/6oG/7G6G7He6He7 445f45f45f45f45f 4 5f4*5f4W5fx 3np3n/!#%*[.//469p<=@x 1vp1v!%\(J)-1K x /~p/~Q %s*4,27:=?:AEE-x +p+x"8#&P,cx )p)x#@$)+-Kx 'p'< Q" (Iu #p U J#', -4x79>_@D  ] $ %)Ss003K68b;?4A.C1FG  5.#C&'),P.k27: pAACG _ %yf: "').0 7s=@D G/ xpxpk!%'L,T 46:?B/ Xf "#(*+/ 6b8 A= i 8H"$'*x qpq #*-B/81.7~>;?BDb;!# *1?27:=)@sDs# %*.03478HAFBCn p{x{{p{Q{ | #` +.35S8<=/@FI ,Lq $ +I,/B2 37.:=9AH# -  -  -W W -   -= = -  - - - -  -  -J cJ -  - t  o -!g !g -" " -" c" -#A #A -$ $ -$ %= o%= -% % -&g & o& -'Z 'Z -(! (! -( )K )K -* * -* * -+ ,9 ,9 --6 -6 -- - -.v .v -/1 / / -0[ 0[ -0 0 -1 1 -2* 2 2 -3T 3T -3 4\ 4\ -4 4 -5 5 -6W 6W -7 7 7 -8H 8H -8 9P 9P -: : -: : -; < < -< < -=t =t ->$ >$ -> ?N ?N -? c? -@L c@L -@ @ -AJ AJ -B B -B B -Cr C #C -E E -E E -F WF -x 5p 5"D! *x1 52 5p5{ 55 569f ADx) )TVm$MgettoseewhatitwilldoifyoutypeY.SeesectiononUsingtheHistoryFacilitybelow.SetSetsabreakpoint.Leftclick:setsabreakpointat(near)thepointselected.(Breakpointscanonlybesetinamoduleifithasbeenloadedandstarted,soitisadvisedthatallmodulesbestartedineveryconfiguration.)Middleclick:setbreakpointatentrytotheindicatedprocedur(wouldn'tbeveryusefulifitwere!).Applicationprogramsaresupposedtotestthisbitatappropriateintervalsandabort.Forexample,theprogramthatprintsthevaluesofexpressionsteststhisbitfrequently,andifithasbeenset,stopsoutputting.Note:typingCTRL-DELtoaWorkAreaisthesameasclickingStopinthatarea.Compilecompile/bindindicatedfilesasfollows:Leftclick:Compilestheindicatedfile(s).Ifthecurrentselectionisnotapointorcharacterselection,treattheselectedmaterialasthenameofthefile(s)tobecompiled,otherwisecompilethefilethatisviewedbytheselectedviewer.Middleclick:Bindtheindicatedfile(s).Ifthecurrentselectionisnotapointorcharacterselection,treattheselectedmaterialasthenameofthefile(s)tobebound,otherwise,ifthefilethatisviewedbytheselectedviewerisa"config"file,bindthatfile,otherwise,figureoutthenameoftheconfigitcamefrom(usingtheAMModel,sothatthemoduleinquestionmusthavebeenloadedforthistowork).Inthiscase,waitforusertotypeYbeforeproceeding.Forexample,ifthecurrentselectionisapointselectioninUserExecImplandImiddle-clickCompile,thecommandlineBindUserExecutivewillbegenerated.Rightclick:compileandbind.EvalTreattheselectedtextasanexpressionandevaluateit.TheEvalbuttonworkswhethertheWorkAreaisanExecutiveWorkAreaoranInterpreterWorkArea.RedoRedoestheselectedevent(s).Right-clickingRedoisthesameasterminatingRedocommandwithCTRL-X,i.e.yougettoseewhatitwilldoifyoutypeY.SeesectiononUsingtheHistoryFacilitybelow.SetSetsabreakpoint.Leftclick:setsabreakpointat(near)thepointselected.(Breakpointscanonlybesetinamoduleifithasbeenloadedandstarted,soitisadvisedthatallmodulesbestartedineveryconfiguration.)Middleclick:setbreakpointatentrytotheindicatedprocedure.Ifthecurrentselectionisapointorcharacterselection,breakattheentrytoprocedurethatcontainsthecurrentselection,otherwise,treatthecurrentselectionasthenameoftheprocedure,i.e.thevalueofthecurrentselection,e.g.Rope.Substr,ViewerOps.FindViewer,specifiestheprocedure.(Notethatifthecurrentselectiondoesnotspecifyafullpathname,i.e.doesnotinclude".",theevaluationusesthedefaultsofthecorrespondingworkarea.)Rightclick:setbreakpointattheexitfromtheindicatedprocedure.Note:settingabreakpointcantakealongtime,especiallyifitisthefirstbreakpointtobesetinthecorrespondingmodule.However,youdon'thavetowaitfortheoperationtocomplete:youcanstarttypingthenextoperationorclickingmenubuttonsrightaway.Whenthebreakpointhasbeensuccessfullyplanted,thecorrespondinglocationisunderlined(Tiogafeedbackselection)toshowyouwherethebreakpointwasactuallyinserted.Anattempttoplantabreakpointmayfailforvariousreasons,e.g.thesourcefiledoesnotcorrespondtotheloadedmodule(youeditedbutdidnotrecompile),orthattheloadedmodulecouldnotbefoundbyvariousreasons,e.g.,ithasn'tbeenstartedyet.TheWorkAreawilltellyouwhythebreakpointwasnotset.ClickingthesetmenubuttoninanActionAreaforanactionthatoccurredinsomeotherworld(seesectiononWorldSwapAndRemoteDebugging)willplantthebreakpointinthatworld.ClearClearsabreakpointasfollows:Leftclick:cleartheselectedbreakpoint.IfthecurrentselectionisinanActionArea,clearthebreakpointassociatedwiththisActionAreaifany.Otherwise,clearthebreakpointclosesttotheselection.Failuretoclearprobablymeansthattherewasnobreakattheselectedlocation.Middleclick:clearthebreakpointassociatedwiththisActionArea,ifany,regardlessofwherethecurrentselectionis.7sb)/p!b)"b) )/2"89<>@B/ `W %'-0X4H6:< CF^ 7!$'j* 15z:^:^p?^@b^AB]3<x]3]3p"Y]3"]3$&x [+p[+ !/'#*+oY#f,%D)+G-28:<=ACW{ !$N)+U-1u3.59o;=CeU( _!&s(n*/oSw_$)*-_2\869<~=ACR% $H)+L-1h3 59^; <A H.P}a2!L#K%*/E017s:8=w@HC Nh "%_)+C/s2N2N68=?ACHM/& $L&8(u)p,M/-M//2{59;v>@rCLyCM/pE@M/K #%M',2s35C9>@ IIQ *%'{-03 =?A oGF1x EpE " )P,1{32x6E6Ep9UE:E=AG/D(!/')+ 2x B pB  <%+Z 4r8^:<@KB0 @yz@y@yp"@y"@y%'*+.1q25p7u8;>@y>@yp?~@y@YBG>1!x <p<t to:t5 !"&)=,s2x:2: 8;=?"@B>C5G?Hc99!#B$T%w)n+-:13168;po7^/g !s#'&(+1* 8 9<8AFHe5kT:F %g)_+-1T3%9<BCD3  e#&J+=1 25n9X;;= DG/v2p[22T '8* 2qAwG/0u eM!"n$)/'2P49T:v<@D*F^.{ &})v+125 >Ao,F !$&*,r2f )# *# ) *#)o*#)*#)y*#))*#3)3*#)o*#G)oG*#)c*#)*#)*#)%)%*#)`)`*#')'*#)*#Q)Q*#)*#)*#x)x*#4)c4*#)*#])o]*#)a)a*#)*#)*#h))o*# l) l*#!)!*#!)!*#"s)#)#*##)$C)c$C*#$)$*#%a)%a*#&()&(*#&)'m)o'm*#')c'*#(?)*(?*#)i))i*#*)X**#*g)*)**#+)+*#,&),&*#,),*#-)-*#.-)c.-*#.).*#/5)c/5*#/)c/*#/)/*#0)1A)c1A*#1)y1*#2)2)c2*#3)o3*#3)4)c4*#4})4}*#5)5)o5*#6)6*#6)6*#7r)8)y8*#8)c8*#8)8*#9h)9h*#9)o9*#:[):):*#;);*#<<)<<*#<)<*#=)=*#>B)>B*#? )? *#?)c?*#@')@'*#@)o@*#A])A)oA*#Ba)Ba*#C)C)C*#Dx)Dx*#E)E)E*#F7)F7*#F)oF*#GL)G)cG*#HD)HD*# ( (o ({ ( ({ ( ({((({(({^(^({(({f(f({ ( ({(({W(W({(({(({(c({(({(({z((*({#(#({(({(({l(cl({(({t(Wt({(K( K({j(j({&(&({ #( #({ ( ({!y(!y({"("({"(X"({"(#z(#z({$*($*({$($({%(&+(&+({&(&({'('({(t(X(t({((o(({);()()({*(*({+&(+&({+(+({,|(,(o,({-j(-j({.%(.(.({/(/({0G(c0G({0(o0({1(1(y1({2(2({2(2({3Q(3(o3({4>(4>({5(5({5(6)(6)({6(6({7(7({8Q(8Q({8(8({9{(o9{({9(c9({:M(:M({;(;({;((>({?M(*?M({@v(@v({A=(cA=({A(A({BF(oBF({B(B({CZ(yCZ({C(DR(DR({E(E({E(E({F(G(G({G(G({HD(HD({ &k &k & 2&ko 2& &k &F&kF&&ko&9&k&ko&,&k,&&k&&kc&&k&&k&~&k&ko&q&kq&8&k8&&ka&ka&(&k(&&k&~&ko~&&kq&kq&,&k,&&k&&k&&k&&ko&1&kc1&&k&P&kP&&k&k& V&k V& &k!_&k!_&!&kc!&"]&kc"]&"&k"&#[&k#[&$&kc$&$y&k$y&%@&k%@&%&k&t&k*&t&'&k'&(C&k(C&) &k) &)&k*U&k*U&+&k+&+&ko+&,R&ko,R&,&k,&-|&k-|&.C&k.C&.&k/K&k/K&/&kc/&03&k03&0&k0&1&ko1&2&k2&k2&3C&k3C&4@&k4@&4&k4&5&kW5& #a $2#$2#$2{#{$2A#|#o$2-#-$2#$2#|#$2#$2a#a$2#$2#$2g#g$2.#.$2#c$2L#L$2#o$2#|#$2#$2j#j$2#|k#k$22#2$2#$2}#}$2D#|#$2 D# D$2! #! $2!#!$2"A#"A$2"#"$2#k##k$2##y#$2$h#$h$2%/#c%/$2%#c%$2%#%$2&#|'"#'"$2'#c'$2(L#(L$2(#($2)#o)$2*'#*'$2*#*$2+#X+$2+#|,h#o,h$2,#,$2-#-$2.C#|.#.$2/[#/[$20#0$20#0$21#1$21#1$22H#2H$23#3$23#3$24#4$25X#c5X$25#5$26#6$272#|7#c7$28#8$28#8$29h#9h$2: #o: $2:|#c:|$2:#:$2;#;$2A#>A$2?#?$2?#?$2@#@$2A;#A;$2A#cA$2B##cB#$2B#B$2CM#CM$2C#C$2D#|E5#yE5$2E#E$2F#cF$2F#F$2G#G$2He#He$2 "! "!y " '"! '" "! "r"!r"9"!9""!""!"@"!@""!"!""!""!c" "! ""!"M"!oM""!c""!""!""!y""!"!o" "! ""!M"!M""!""!"S"!S"Q"!"!""!"A"!A" "! "! "!"!!""Q"!"Q"""!""#{"!#{"$ "!$"!o$"%"!%"%"!%"&"!'"!'"'"!'"(O"!(O"("!(")"!)"*U"!*U"+"!+"+"!c+",;"!,;"-"!o-"-p"!-"!-"."!."/"!/"0"!0"!0"1F"!1F"1"!o1"2O"!2O"3"!3"3"!c3"4"!c4"4"!4"52"!5"!c5"6"!6"6"!6"7e"!7e"8 "!8 "8"!o8"8"!8"9"!9":j"!W:j" g #%( ,14A6:=@Br AgXc!$e&)e 02r5K7<<AGEG && ";&v* .14;>yACG/  J  P c PcPqqP  PcP++PPzoPPQQPzppPPoP z*P TVm$pPQQPPzYYP  PoPUoUPPPFzcP##Pz c cP!!P!z"I"IP#Q#QP#o#P$[c$[P$$P%y%yP&@&@P'H'HP''P(r(rP)z)y)P* * P**P+Jz++P,i,iP-/z--P.N.NP.o.P/Xc/XP//P0v0vP1=z1o1P2%2%P22P3o3P4z4z4zP5656P55P6k6kP7272P77P8;8;P88P9z:!c:!P::P;Kz;;P.>.P>z?M?MP@o@P@w@wPA>A>PAAPBgzBBPCCPDDPEcEPEEPFHzFyFPG;G;PGGPHeHeP ? ?  2? 2 ? r?or?cD?D??J?J??Q?aQ?m?m?cT?T????L????f?? ??* ? !~?o!~!?!"?#?#$6?$6$?$%?%&i?&i'?''?c'(-?(-(?()?y)*?*?*+?c+,?c,,e?c,e,?-M?-M.?c..w?.w/?//?o/0R?0?o01E?1E2 ?2 2?36?363?34?45&?5&5?56?67N?7N8 ?c8 8l?8l93?o939?:&?c:&:?:;P?;?o;?>?>???@[?@[@?c@AC?ACB ?WB x p $&oi r!$(*R,1}7$8:?<1 CG/ t #&q -/1 8<>R E4IA "i$'k->14R7:<@hBDb o Nl $ +K.r1 8:B=F CEw  `x) TVm$ 'snamefollowRightclick:clearallbreakpoints.Finepoint:itispermissibletoplantmorethanonebreakpointatagivenlocation(e.g.theremaybedifferentconditionsattachedtoeach).Sometimesifyouclearabreakpointbutitstillseemstobethere,thiscanbethecause.Tryclearingitagain,orelseclearingallbreakpoints.YesDisplayedwhenacorrectionthatmayrequireconfirmationisbegun.SeesectiononConfirmationbelow.NoDisplayedwhenacorrectionthatmayrequireconfirmationisbegun.SeesectiononConfirmationbelowInterpreterWorkAreasWhentypingtoanInterpreterWorkArea,theuserisalwayspromptedwith&nn_,wherennistheeventnumber.Whattheusertypesfollowingthe_istreatedasanexpressiontobeevaluatedinthecurrentcontextanddefaultglobalcontext,ifany,fortheWorkArea.Thevalueoftheexpressionwillbeassignedtothevariablewhosenameprecedesthe_,i.e.&nn.Thisvaluecanbereferencedinlaterexpressions.(Whereitismeaningful,somecommandsalsoassignvaluestothecorresponding&variables.)Asmentionedearlier,if?istypedfollowinganexpression,thetypeoftheexpression,plusotherexplanatoryinformation,isprinted.ThefollowingistakenfromanactualsessionwithanInterpreterWorkArea.TheitalicizedtextattherightisaddedcommentarynotprintedbyUserExec.&2_Rope.Cat["Ce","dar"]YNotethatRopeistheinterface,nottheimplementation."Cedar"&3_LIST[1,3.2,&]Y&evaluatestothepreviousresult(&2inthiscase.)(^1,^3.2,"Cedar")&4_&3?Whattypeoflistdidtheinterpreterproduce?isoftypeLISTOFREFANY&5_&3.first^?isoftypeINT&6_&3.rest.first^?isoftypeREAL&7_ListYdefaultinterfacechangedto:List{Interface:List}&8_Appendd[Reverse[&3],&3]]YNotethatReverseisnowinterpretedasList.Reverse.Appendd->Append?YesSpellingcorrection.("Cedar",^3.2,^1,^1,^3.2,"Cedar")Finepoint:eachUserExechasitsownsymboltable,sothat&4typedtoagivenWorkAreameansthevalueofthefourtheventexecutedinthatWorkArea,andwillnotbeconfusedwith&4insomeotherWorkArea.TorefertothevalueofanexpressionwhichwasevaluatedinadifferentWorkArea,simplyinserttheWorkArea'snamefollowingthe&,e.g.&B5isthevalueof&5fromWorkAreaB.Normally,thevaluesofexpressionsareprintedtoadefaultwidthanddepth.Theusercandescendintospecifiedfieldsofavalueformoredetailedexamination,orchaseREFsorpointersbyusing^.Terminatinganexpressionwith!willcauseitsvaluetobeprintedtounlimiteddepthandwidth.Sometypesofvaluesareprintedinaspecialway(byvirtueofaPrintProcbeingassociatedwiththattype,asdescribedinIO.Mesa),suchasSTREAMandViewerintheexamplebelow,inordertosuppressalotofdetail.However,thesevaluescanalsobedereferencedusing^,andparticularfieldsinthemcanbeaccessedintheusualway.Forallcases,theStopmenubuttoncanbeusedtoabortprinting.Thefollowingillustratesthese8pob)FL<  _z :#''*Y- 4 56:?BF ]N  u")&/-/.1Q459=T?A5CG \M! "'),--.168 x ZRpZR"# *,/4 <=BlDX ^x VpV"# *,/4 <=BlDU  ^u P 1p Mg#Tc s$' *8+0F6x9Mg:Mg=.p?=Mg@;MgCtEG/ K P& T&|(*,024 ;a=%?,ElG/ Jw%$%Y(H*|,36:G;>M DG Hq`B!|'H)+x.;Hq/-Hqp0Hq1Hq58;= DFi F ^F`y^FF`aF8F`8FF`FF`F(F`(FF`b0F`c0FF`oFF`bcF`ccFF`FKF`bF`*FF`F{F`{F!F`!FF`cFKF`KFF`FF`yF;F`;FF`cFeF`XeFF`b F` F F` F!_F`*!_F"F`"F#.F`b#F`#F$*F`$*F$F`*$F&F`*&F'9F`'9F'F`'F(F`(F)lF`)lF)F`b*RF`*RF*F`c*F+[F`+[F+F`+F,F`b,F`,F-F`-F.&F`.&F.F`c.F/ F`/ F/F`/F0F`b0F`0F1F`1F2F`>F?RF`c?RF?F`?F@|F`@|FA,F`bAF`AFBF`bCF`CFCF`CFDYF`DYFDF`cDFE@F`E@FEF`EFFF`cFFGF`GFGF`GFH:F`WH:FHF`yHF E" =Y5xE"p@E"!'W) 03z68;d BE C{ a C @ ~Q!&)+ 29< BEG/ ?F > &!#w <x i< r'y>'| %Ax $! 2w !x i! !* !!*!!*!!*!R!*R!$!*$!!*!!*y!@!*@!>!*>!!*!!*!{!*{!!*!!*!v!*yv!!*!!*!!*y!!!*c!!!*!v!*v!=!*y=!!*y!/!*y/!v!-!$'R,H-0 7O9 x Asyv(.2 x 2@p  .N3"&*,/V15798j<&BG/  e!W$0+K.03E5A;>D@BQE V&y*7! (,/]57:8e> E   j!|#%(U+,/P246:aA !k "$&().b2>49.<>AzF ywn!'` /15:<'AD H   sxpy!'$&*g,. 24:>A~E + X"`s%G+%+'K*+,14 :#<>AC!H p] $ @sF  pi    "?$).;/3r5 :;=?7CD  r$ !$&7( /24x7:streamData?YesDWIMknowsthetypeof&5.insoitcancomputethesetofvalidselectors.^[echoTo:{6701326B-BufferedStream}]&7_&10.in.backingStream.streamDataY^[node:NIL,buffer:"",ready:"",readyPos:33,lastReadyLength:33,deliverWhen:UserExecImpl.DeliverWhen,echoTo:{6701314B-DribbleStream},viewer:{Viewer-class:Typescript,name:WorkAreaB:Executive}]Oftentheusertypes?followinganexpressionwhosevalueisaproceduretype,becausehehasforgottenthenamesofthefieldsorthetypesofthearguments,e.g.&17_Rope.Find?isoftypePROC[s1,s2:ROPE,pos1:INT_0,case:BOOL_TRUE]RETURNS[INT];--returns-1ifnotfound--case=>caseofcharactersissignificantHewouldthentypeinRope.Findfollowedbythedesiredarguments.Insuchcases,theusercanterminatetheexpressionwithCTRL-E,anda"form"willbeconstructedandinsertedinthetypescriptconsistingofthenamesofthearguments,andtheirtypesanddefaultvaluesbracketedbyplaceholders:&17_Rope.FindCTRL-Ewhichexpandsinto:Rope.Find[s1:ROPE,s2:ROPE,pos1:INT_0,case:BOOL_TRUE]TheusercanthenmovebackandforthbetweenthefieldsusingNEXTandSHIFT-NEXT,fillinthosefieldshewantstospecify,andconcludetheoperationbytypingCTRL-NEXT,whichwilldeleteanyunfilledfieldsthathavedefaultvalues,andadvancethecarettojustpastthematching].Formorecompletediscussion,seesectiononCedarCreatureComforts.Interpretinganexpressionwhosevalueisaglobalframewillhavetheeffectofsettingthedefaultcontexttothatmodule.Thiswillallowyoutorefertovariablesinthecorrespondingglobalframewithoutgivingthefullpathname.Similarly,youcansetthedefaultinterfacebytypinginthenameofaninterface.Youcanalsosetthedefaultcontext/interfaceusingtheregisteredcommandSetContext.SetContextYistheonlywaytoclearthedefaultcontext/interfaceonceyouhavesetit.NotethatifyouwanttoinvokearegisteredcommandfromwithinanInterpreterWorkArea,itisnecessarytoerasethe_(bytypingCTRL-AorCTRL-W),i.e._WalnutmeansyouwanttoevaluatethevariableWalnut.(Inthecasethatwhatyoutypeisobviouslynotamesaexpression,e.g._Bringoverwalnut.bcdwalnut,DWIMwillaskifwhatyoureallymeantwasthecorrespondingcommandwithoutthe_,andyoucansimplytypeYtoconfirm.)Similarly,since_isitselfaregisteredcommand,youcanevaluateexpressionsinExecutiveWorkAreassimplybyfirsttyping_andthentheexpression.Mostpeoplepreferhowevertouseoneworkareafor9p b1w _x i_ _= __=__=_j_=j__=__=__=_W_=W__=c__=__=_[_=n[__=__=_k_=k_1_=1__=__=__=__=_^_=X^__=_}_=y}__=y_p_=yp_x ] "w&*.N0( 7 @A w \Gx [\G[\G[\G[\G\[\\G[\G[\G[\GI[I\G[c\Gr[r\G[\GL[nL\G[\G[n\G[\G[\GZ[Z\G![*!\GK[K\G[y\Gt[t\Gg[g\G-[y-\G[y\Gx Z w #),4T5Q:qw Xx [XXXXcX=XX=XXXgXgX W9 y =w$G, g U),N/y:p BE S <V (/,0w R3x [R3QR3QR3QR3gQcgR3QXR3"Q"R3QR3QyR3x P  $6_;z N v*,N*N,03m79x| M-w K}x [K}KK}KK}KK}gKcgK}KXK}"K"K}KcK}WKWK}KnK}uKuK}KK}K*K}KK}KK}KnK}KK}KyK}x I ~IdIIv(I-14778<\>?bAGC H&   x Fwnlst Dp *D D^x DD^DoD^oD5D^c5DD^XDD^DD^cD%D^%DD^DD^DD^D?D^X?DD^DiD^iD:D^:D!D^n!DD^DD^DD^DD^*DD^cD-D^-DD^nDLD^LDD^DD^D]D^*]D D^ D!D^!D"JD^n"JD"D^"D#~D^y#~Dx C"\%-w0=Z@ Aq"*,Q18{=CEb ? c= p =>   &/*P-/L0i6:;?PA4C ; KH\  !$, +3w 9 x [9 89 89 89 89 O8cO9 89 8X9 89 89 89 7\ y =w'"%'>(,1G27> 5 tM- 3 t 9! p 1r p;xn1rl1rp 1r!>1r&(+u0x 79=/A5CG /2 z//p!/"7/$e%*-W/d 69>@CC .$ BZW #&t)-O048?)A% w +x [++/++/++/++/+O+/cO++/++/X++/++/++/z+I+/I++/++/+l+/al++/+v (9  x % }Z%x4%}%x%}4%x%} %x!%"}&%x'%*M+},%x-z%.a}2L%x3&%79#}<%x=%}p ## "<("9')-z13##1##p4##5%##z7*##7##p=##>t##@B0E !|  "T(*z/0!|/!|p5l!|6n!|:=tADn  ko -k-kkokkqkqkklk k kzkyzkk`kc`ko2kkk)kc)kSkSk}w K%(3+-y08395;=.?C - #  zW !#$(-,.14(79=@%D  I7w!$W%+-@/ 8v<@pEl S a>kkS2c2S*ScS"c"SS**ScSSXSSeeS  SS  S  S!""""S""S#Lo#LS#$To$TS$$S%%S&0&&S''S(6y(6S((S)U)US*c*S*o*S*+c+S++S,o,S- - S--S.Jy.JS..S/i/iS00S01C1CS2 2 S23To3TS33S4t4tS5;c5;S55S6d6dS77c7S88S89ro9rS99S::S;N;;S<<S=T*=TS>}>}S?#??S@xy@xS@AASB1B1SBCcCSCCSDoDSE*E*SEESFTyFTSFFSGsGsSHHSHWHS  c&E),Y 2x99p@*xA AyH%p  X W*W-0T35 y <,\ 'B-1{58" ?LFH# \iz D!p$%z&'jp*+q,]x.0Gp5V69+@DWGRx) TVm$ jVWKJVnJWKVWK~V~WKOinterpretingexpressionsandadifferentoneforinvokingregisteredcommands.FormoredetailedinformationaboutexactlywhatsubsetofCedarlanguageexpressionstheinterpretercanhandleseesection2.3.ActionWorkAreasActions(currently)occurwhenaprogramraisesasignalorerrorthatisnotcaught,encountersanunconditionalbreakpoint,orabreakpointwhoseconditionissatisfied,orthereisanexplicitcalltothedebugger(formoredetails,seetheinterfaceAMEvents.mesa).Wheneveranactionoccurs,thecorrespondingprocessisstoppedsothatitcanbeexamined.IfaprocessthatwasrunningunderaWorkAreacausesanaction,amessageisprintedinthatWorkArea,theWorkAreaissuspended,andcontroltransferstoadifferentWorkAreacalledanActionWorkArea,orActionAreaforshort.Forexample:&10_Rope.Fetch["abc",5]Yasksforthesixthcharacterintherope"abc"ERRORTraps.BoundsFaultfromTraps.BoundsFaultTrapcomputationsuspended,switchingtoActionAreaB...andanewActionAreawillbecreatedinwhichwillappear:Action#1(kind:signal,process:212B)ERRORTraps.BoundsFaultfromTraps.BoundsFaultTrap(camefromWorkAreaA)&1_TheprocedurethatisfollowedwhenanactionoccursfromaprocessthatisnotrunningunderaWorkArea(e.g.aforkedprocess)issimilar.AnActionAreaisanInterpreterWorkAreawhosedefaultcontextisthecontextoftheaction.Iftheactionoccurredinaremoteworld,thenthecontextisthatremoteworld.Thus,continuingwiththeaboveexample,inActionAreaBtheusercanevaluateexpressionsinvolvingtheargumentstoRope.Fetchthatcausedtheuncaughtsignal:&1_Rope.Fetch?isoftypePROC[base:ROPE,index:INT_0]RETURNS[c:CHAR];--fetchesindexedcharacterfromgivenropes--BoundsFaultoccursifindexis>=theropesize&2_baseY"abc"&3_indexY5Notethatwhenanactioncausesaparticularprocesstobesuspended,otherprocesseswillcontinuetorun(subjecttotheusualconstraints,e.g.,monitorlocks),Theusercansimplyignoretheactionforthetimebeingifhesochooses,andperformsomeotheroperationinadifferentWorkArea.(NotethattheoriginalWorkAreaissuspended,sotheusermayhavetocreateanewWorkArea,whichhecandowiththeNewmenubuttonasdescribedabove.)Iftheuserdoesnotwishtopursuethecauseoftheactionatall,thesimplestwaytomakeit"goaway"istoclickAbort,asdescribedbelow.ActionAreaCommandsActionAreashaveasecondmenulinecontainingthebuttonsProceed,Abort,Source,WalkStack,andShowFrame,whicharedescribedbelow.Eachofthesemenubuttonscorrespondsto,andisimplementedby,aregisteredcommand.Infact,whenyouclickoneofthesemenubuttons,thecorrespondingcharactersaresimplystuffedintotheinputbufferoftheUserExecandthenread.Thismeansthatanythingyoucandowithbuttonsyoucantype,soforexample,youcantypeinacompoundeventconsistingofShowFrame;_;ProceedandthenkeeptypingESCtomarchthroughasequenceofbreakpointsperformingtheindicatedoperations.Inaddition,implementingthesemenucommandsby10p b) l `"0$', 3 _ A !%)-R/3:9 @TB ^ wRu Y?p V #_%")*s.040738;{@y G T   #(.9/ 5U7:<>BE|G/ SEs7SESE"{ p*SE+SE249=@ QFQ-( &&(Z).q1M49J=Z>EU O dsS !)+m203 :=BFG NO sj[!(* 1498:w Kx [KKjKKjKKjKKjKOKjcOKKjKKjKJKjnJKKjK~Kj~KOKjyOKKjKKjKUKjUK'Kj'KKjKKjcKKjKjKaKjyaKKjyKxv#K$K&) +l.46\8;~ J,w!| H ~ k!"'a*p F   !s#!'/)x Cj3 / Ac  @?fw >x i>p < nN">$j(->02E7T:^<>D'He :ts:t:t ~p:t:t' 7 c j %p).357<>q@E7E7F 7yF 7F7G/7oG/7G7G7He7He7 5 6Q 5 6Q ,5o ,6Q 5c 6Q 5 6Q 5 6Q 5+5+6Q56Q56Q56Q56Qh5h6Q56Q56QX55c6Qf5f6Q-556Q~5)5)6Q56QR5*R6Q|5|6Q75o76Q56QL556Q56Q56Q45c46Q56Q^5X^6Q5 a5o a6Q 5 6Q!5!6Q"=5"=6Q#5#5o#6Q$5$6Q$5$6Q%5&55&56Q&5&6Q'5'6Q(Q5o(Q6Q(5(6Q)f5)f6Q*5o*6Q*5+05c+06Q+5+6Q,5,5o,6Q-15-16Q-5-6Q.5o.6Q/ 5/5/6Q0<50<6Q05*06Q2 52 6Q25o26Q355356Q354546Q5556Q6>56>6Q65c66Q7&57&6Q75W76Q86Q< CG/ 4 % `"%P* 179@B% 3 7w 0x i0 0 0000000]0c]00000X0nX00000^0^0 . y =wa("%N&(/1 -8 tB"`&V + t E E!$h&*dw )x i) ) )))))>)>))y)x (Aw &x i& &0X &N&0N& &0 &&0&&0&s&0ys&x $p "w qM6~ %*,. 59g?rB,G s  #p& 'l )^,Y.3W79>@WBE ( C +>;#Z)z+,?1s8(9B(;>6@D   *x ! #f),Q-/1458;?K@Ep  h Oz"!%'`)-/_139M<=AvBEa 2 X xB242p22Tst  )p ! !!9 '*Fx/6!0!p4!x5n!6a!p8!x9!:!p>h!x??!@!pF!F!x ypyMyAz"&-'+:/3 ;c=O?A=   " Ik!$'*0+/+28:O C" + O|d"$'-=03:69>9AF   * I"4$*-m03V5+6|=}AY Gx ip  x  p% &t (}+.z3 3 p5 6* 7`;@AG 5 x 9!D (a*H0& 8<@Gx)e lTVm$SelectionSpecifiesthatthecurrentselectionshouldberestoredbeforeexecutingeachevent.Thisallowstheusertointerpretexpressionsintheactionareathatdependonthecurrentselectionbeingwhatitwasbeforetheactionoccurred.UsingtheHistoryfacility11sbX])x `fp`f #').1$4`f5%`fp8`f9W`f:<@B+D^ Iq!&0^U &0^'9^Uc'9^'^U'^(M^U(M^stuffingthecorrespondingcharactersalsomeansthatthemenucommandsareautomaticallysynchronizedwitheachotherandwithusertypein,i.e.youcanclickSetandthenclickProceedwithoutwaitingfortheSettocomplete,becausetheProceedwon'thappenuntiltheSetfinishes.Proceedallowsthecurrentactiontoproceed.Iftheactionwasabreakpoint,controlwillproceednormallyfromthatbreakpoint.Iftheactionwasanuncaughtsignal,ProceedwillgenerateaResumeError,resultinginanotheraction.(ThereiscurrentlynowaytoProceed,i.e.Resume,anuncaughtsignal.)AbortabortsthecurrentactionbycausingtheerrorABORTEDtoberaisedintheprocessassociatedwiththecurrentaction.Rightclickingabortwillaborttheaction,andthenclosetheactionareaviewer.Middleclickingabortwillaborttheaction,andthendestroytheactionareaviewer.(Conversely,destroyinganActionAreaviewerautomaticallyabortstheaction.)Note:Whenanactionisproceededoraborted,thecorrespondingActionAreabecomesdormant,itssecondmenulinedisappears,andcontroltransfersbacktothesuspendedWorkArea,ifany.YoucannottypeintoadormantActionArea,thoughyoucanreferenceits&variablesviathemechanismdescribedearlier.However,theActionAreastaysaround(unlesstheuserexplicitlydestroysorclosesit)sothatitcanbereusedifanotheractionarisesoutofthesameparentWorkArea.Thusifyouareproceedingfrombreakpointtobreakpointwhiledebuggingaparticularprogram,allofthebreakpointswillbetakeninthesameActionArea.Sourcedisplaysthesourcelocationforthecurrentframeofthelocalcontext,ifany,bycreatingoropeningaviewerontheappropriatesourcefile(perhapsautomaticallyretrievingthisfilefromaserver)andsettingtheselectiontoapointnearwherecontrolhasstoppedforthecurrentaction.Ifthereisnocurrentaction,e.g.ifyoutypeSourcetoanInterpreterArea,theSourcecommandwillattempttodisplaythesourceforthecurrentdefaultglobalframe,ifany.WalkStackTheWalkStackmenubuttonallowsyoutochangethecontextforinterpretingexpressionsintheActionArea.Leftclick:walkoneframeupthecallstack,i.e.earlierinthestack.Rightclick:walkoneframedownthecallstack,i.e.laterinthestack.Middleclick:resetthecontexttowhatitwaswhentheactionoccurred.ShowFramedisplaysinformationaboutthecurrentcontext(frame)asfollows:Leftclick:displayjusttheframenameMiddleclick:displaytheframenameplusitsarguments.Rightclick:displaytheframename,thearguments,andlocalvariables.Thus,intheexampleabove,ifleftclickWalkStack,andthenmiddleclickShowFrameinActionAreaB,Iwillsee:&5WalkStackRopeImpl.Fetch&6ShowFrameargsRopeImpl.FetchA-[base:"abc",index:5]Wheneveranactionoccurs,thecurrentselectionissavedbeforecontroltransferstoanactionarea.Ifthecurrentselectionisintheactionareawhentheuserproceedsoraborts,theselectionwillbeautomaticallyrestored.Thisallowstheusertodebugproceduresthatmanipulatethecurrentselection.ThecommandShowSelectioncanbeusedtoshowwhatthecurrentselectionwouldberestoredtoiftheuserproceededorabortedtheaction.Inaddition,iftheuserinvokesthecommandRestoreSelection,thentheselectionwillberestoredbeforeexecutingeachevent.Thisallowstheusertointerpretexpressionsintheactionareathatdependonthecurrentselectionbeingwhatitwasbeforetheactionoccurred.ShowSelectionShowswhatthecurrentselectionwillberestoredtowhenthisactionisproceededoraborted.11p b)  M"''),/68 A= ` 5!*#d&(x+`,`p.|`/"`124Wx7`8x`p=u`>s`BGR ^x K^ 3^p^Z^x[^C^p$A^%?^( ,0>x2^3^p5=^5^x \p\#')/,0379: B4F[1$" )+-2447 =%AFY?S %'<,2s0Y0Y45#9;Q=>C8DW])x UpU #').1$4U5%Up8U9WU:<@B+DT: Iq!&0S &0T:'9Sc'9T:'S'T:(MS(MT:)So)T:)S*S*T:*Sc*T:+Sc+T:+uS+uT:,S,T:,Sc,T:-.S-.T:-S-T:.S/6S/6T:/S/T:0S0T:1^S1^T:1So1T:2QS2S2T:3Sc3T:4CSc4CT:4Sc4T:5 S5S5T:6@S6@T:7S7T:7S7T:8FSo8FT:8S9FSo9FT:9S9T::|S:|T:;"S;S;T:S>T:?GSX?GT:?S@0S@0T:@S@T:ASAT:BcSBSoBT:CcSCcT:D*SD*T:DSDT:ESF'SF'T:FScFT:G%SG%T:GSGT:HeSHeT: R)R)oR?R)?RR)RR)oR)RR)R[R)o[RR)cR-R)-RR)RR)oR)RR)RHR)HRR)RR)oR)RR)cRR)RR)RR)R^R)^RR)WR:R)oR)VRR)cR bR) bR!)R)!)R!R)c!R"SR)"SR"R)o#hR)#hR$R)c$R$fR)c$fR$R)$R%dR)%dR&R)c&R&R)&R'IR)'IR'R)o(iR)(iR)R))R)R))R*R)*R+R)o+R+R)o+R)+R,R)c,R-TR)c-TR-R)c-R.R)o.R).R//R)//R/R)/R0R)0R15R)o15R1R)o2R)o2R2R)2R3IR)3IR3R)o4^R)4^R5R)5R5R)o5R6 R)c6 R6pR)6pR7+R)7+R7R)X7R8JR)o8R)8R9_R)9_R:&R):&R:R)o;\R)o;\R;R);RmR)>mR?4R)?4R?R)?R@^R)o@^R@R)@RAQR)AQRB R)B RBR)oC,R)oC,RCR)CRDbR)DbRER)oEvR)EvRFR)FRFR)oFRG%R)cG%RGR)GRHDR)HDR PPPuPuPPPPPEPPPyPcyPPPPPPP%P%PPWPPsP  $4% +/! 592;p NSWya!7#,(+S 4| <vANSB|NSpFNSGNS LtK #V(,-06=? BE K   L#%(N.P0.179<.Cd I]1 !&+M-0 6<=ACEcH9 G ,!$&\(,x08;=3@ B} F D &  L&( .84579 AQCE Dg  w x BepBe $b)+."268:> CGDG@E"$' .q2s5,@5@9 @t EkG?{[p??!4&(e)~v- ?-?p0 ?1 ?48;@4B`D=or&#(W+,/x2=o3=op8#=o8=o:<& CIG/x;p;;f$3%*-1n36 :?CH.: x 8p8{"h&\*/ 138e:?B 6x   o4vhc "$w'*- 1M25Zo2tF@ $' )-c/24r6o0sC>"r$!'~(+/515x .qp.q %Q)3+0\51:;o,phq#o*nC #&)+ o(mF "&(z /285~ %Ze!x$,%%w%p*%+%./1,5x8%9%p@%A%B< #qz%w !Dz+!D4!Dx.!D w z+x.  "#  ap  M  M         % % { {  > >  B B oL cL j j1          X { o{  V   Q Q  Y  Y   ! o!"4 " "#Q #Q# c#$Z $Z$ $% o%&  c& &l &l'' ''' ( c(( ()n * ** *+0 +0+ +, ,-M - -. ./R y/R/ /0 01  1 1 2I 2I2 23 34f o4f4 45Y 5Y6 c66x 7 o77 78 88 89o 9o9 y9:m :m; ;; ;< < o<=# =#= >w >w? ?? @{ @{A! A!A oAB* cB*B BCI CID D DEN ENE EFw FwG WGGt H  H H yH xo  [x [ "x " x x  ,x , x wxwxxhxohxx%x%xc-x-xnxonxc?x?xxxcxsx=xc=xfx0xo0xfxf xx{x{xoxcx x !jx"4x"4"x"#]x#]$x$$x%rx%r&px&p'7x'7'x'(x)mxo)m)x)*x*+Hx,x,,x,-]x-].x..x/Qx/Q0x00x01Wx1W1x12x23=x3=4x44x5Rx5R6x66x7\x7\8x88x89x9:xo::wx:w:xX:;Sx<xo<<x<=Sx=S=x>x>?Fx?F?xc?@Ox@O@x@AxoAAxcABaxBaCxCCxDxDExcEFxcFFqxcFqFxGxGHexHe  :  : Xo X:  : * :  :RoR:c:$$::dcd:c:**:qq:::o::II::ss::W::((::c:99:TT:c:\c\::{{:xx:o:  :  :!n"":"":#P#P:##:$z%o%:%%:&:&&:'':(=(=:)):)):*{++:++:,],]:--:--:.X.X://://:0k0k:11:12+o2+:22:3`3`:4o4:4u5 *5 :6565:66:7c7:88:88:9c9:99::o::; ; :; >>:?Q?Q:@@:@@:A!A!:A ^TVm$pA:BoB:BCC:DD:DcD:EE:EE:F_oF_:FcF:G1G1:GG:HWH: *  *  *  @*y *  T* T**9**9c*c***y***X*XV*V**c&*&*f*of*c8*8**y3*3*s*s:*y*z*z *y * !`*!`!*!"*"#Q*y#*o#$9*$9$*y%n*%n%*%&*&'t*'t(r*y(*()*)***+U*o+U+*y,=*o,=,*,-s*-s.*y.*./-*/-/*/0x*0x0*01*12h*o2h2*y3P*3P3*34z*c4z4*45*56*o66*c66*67*78q*y8*89*9:*:;k*c;k;*;<*y=*==*=>{*y>*>?x*?x@*@@*o@A*AA*ABP*BPB*BC*yD6*oD6D*DE`*yE*cEF=*yF=F*yG/*oG/G*GHe*He     7 7   a    MM  II[["~~IIOoOcc*o::GGocZZ   W !3!!"X"X###$e$e%,%,%c%&Vo&V&c&'('(''(X())c)*y**+!o+!++,W,W,--.d.d..//00c01111223H3H44445-5o56=6=7778J8J889*9:*:;;<<=`=`>'> >??@v@v@o@AjAjB%B%BBCOCODDDcDEEEEF^oF^FcFG0G0GGHXH o D [ [D " "D  D _ o D [ [D""D_&&DDPcPDDYYDoDbcbDDDG_DcDcDjcjD_,,DD_D{{D!!DoDDDSSDD_DDyD  D  D!D!DD!_"H"HD""D##D$C$CD$$D%o%D&c&D&w&wD'>'>D'_(M(MD((D))D*3*3D*_+X+XD++D,,D-S-SD.o.D.W.D._/?/?D0&0&D0c0D1Q1QD1_2424D2c2D3<c3<D33D4[4[D5X5XD5_6;o6;D66D7q7qD8_8u8uD9<9<D99D:f:fD:_;Io;ID;;Dj>jD??D??D@[@[D@@DAoADA_BRBRDBBDCCDDoDoDDDDEEDFFDFcFDGGDGGDHHD 4c  O4 O 4 4o  4  4  u4 4 4:4o:4c 4 4444<4<44 4o z4zA4A4oU444F4F 4 4y4y@444F44o949 4  4!*4!*!4!"4"#4##4#$94$9%4o%%o4%4%&w4&w'4c''4'(%4(%(4o()/4c)/)4)*N4*N+4+4+,_4,_-4c--h4-h./4./.4/c4/c0a40a1(41(14o12<424c23$4o3$344445455456>46467478/4y8/8489c49c949:4;4o;;4;4>>4o>? 4c? ?4?@>4@>A4A4ABE4BEB4BCz4CzDA4DAD4DEJ4EJE4EF4WF 1x 1 g 1g 8 1 8 A 1A ( 1(  1X G 1G  1  1n A 1XA  1 k 1k  1p W 1W  1  1  1 [ 1e 1  1  1 + 1o+  1e 1o n 1 n !5 1!5 ! 1e"? 1"? " 1" # 1# $& 1$& $ 1$ %O 1%O & 1o& & 1e& 1& 'n 1'n ( 1c( (w 1(w ) 1) ) 1o) *& 1c*& * 1* +D 1+D , 1e,p 1,p -n 1c-n - 1c- .4 1c.4 . 1e. 1. / 1/ 0i 1e0 10 1S 11S 1 11 2} 1o2} 2 12 3 13 4+ 14+ 4 14 5 1e5 1o5 6k 16k 7' 1e7 17 8 18 9Q 19Q 9 19 : 1e;" 1o;" ; 1; J 1>J > 1o> ?T 1c?T ? 1? @r 1@r A9 1eA 1cA B 1B B 1eB 1B C 1C D6 1D6 D 1D E 1E F2 1F2 F 1F G 1G HD 1HD        9 9     @ o@   T T  W x)e ^TVm$) a))a*3*o*a+'+'a++a,--a--a.Xo.Xa.c.a/)/)a//a01010a11a22a3!3!a33a4l4la44a5RestoreSelectionSpecifiesthatthecurrentselectionshouldberestoredbeforeexecutingeachevent.Thisallowstheusertointerpretexpressionsintheactionareathatdependonthecurrentselectionbeingwhatitwasbeforetheactionoccurred.UsingtheHistoryfacilityEachWorkAreahasassociatedwithitahistoryofalloftheeventsthathavetakenplaceinthatWorkArea.TheusercanexaminethishistoryviatheHistoryregisteredcommand,reexecuteaparticulareventoreventsusingtheRedocommand,orsubstitutenewparameters(textstrings)intoaparticulareventoreventsandthenreexecutethemviatheUsecommand.Eventscanbeindicatedby(a)theireventnumber,apositiveinteger;(b)relativeeventnumber,anegativeintegerwhichindicateshowmanyeventsbeforethepresent,e.g.redo-1referstothelastevent;or(c)apatterntobematchedwithanypartoftheinputoftheevent,withoutregardforcase,asfollows:Anexpressionoftheformwillonlymatchwithidwhereitsneighboringcharactersarenotalphanumeric.Anexpressionoftheform^textwillonlymatchwithaneventwhoseleadingcharactersaretext.Anyothersequenceofcharacterswillmatchanywhereintheevent.Forexample,redowillredothelasteventcontainingxasanidentifier,andredo^cmightbeusedtoredoacompile.Aneventspecificationconsistsofasequenceof(a)(b)or(c),e.g.redo45-1,orredocompbind.Thefollowingthreeregisteredcommandsarecurrentlyprovidedformanipulatingthehistorylist.HistoryShowsthehistory.HistoryYshowsentirehistorylist.History{eventspecification}justthecorrespondingevent(s),e.g.History-1Redoreplaystheindicatedevent(s),e.g.redocompbind.UseFormisUseNewForOldIn{eventspecification}.e.g.usemesaforbcdin-1.Substitutionisalwaysonacharacterbasis.Iftheeventspecificationspecifiesmorethanoneevent,acompoundeventwillbeconstructed.Iftherearemorenewargumentsthanoldarguments,thesubstitutionisdistributed,e.g.Use123For0IN-1-2willconstructaneventconsistingoftheconcatenationofthelasttwoevents,andthenexecutethateventfirstwith1substitutedfor0,then2for0then3for0.Iftheeventspecificationisomitted,thefirsteventthatcontainsthefirstoldargumentisused,e.g.UsemesaForbcdwillsearchforthefirsteventcontaining'bcd'andsubstituteinthat.Ifnooldargumentisspecified,andtheeventwasitselftheresultofausecommand,substitutefortheoriginaloldarguments,e.g.useaforb,followedbyusecdeisequivalenttousecdeforb.Finally,ifnonewargumentsarespecified,thefirsttokeninthecorrespondingeventisusedforold,e.g.compilemumble,followedbyusebind.BoththeRedoandUsecommandscanbeterminatedbyCTRL-X,inwhichcasethecorrespondingcommandlineiscomputedandstuffedintheinputbuffer,butnotexecuted.TheusercantheneditthecommandbeforetypingYtoexecuteit.Asmentionedabove,RedocanalsobeinvokedviatheRedomenuintheWorkArea.Selectanywhereinaneventandclickredotoredothecorrespondingevent.ExtendtheselectionacrossseveraleventsandclickRedoandthecorrespondingeventsareredone.ClickingRedowithrightbuttonisthesameasterminatingRedocommandwithCTRL-X.ConfirmationOccasionallytheUserExecwillattempttocorrectanerror:e.g.amisspelledfilename,aninvalidselector,syntaxerror,etc.Inthissituation,twonewmenubuttons,YesandNo,willbepostedinthemenuforthecorrespondingWorkArea.When/iftheuserisaskedtoconfirm(dependingonthesettingsintheuser'sprofile,someerrorsmaybecorrectedautomatically),theusercanconfirmusingthesebuttons,orbytypingYorN.Theusercanalsoconfirm/rejectaheadassoonasthebuttonsareposted.Rejectingaheadhasthe12 ax b) a b)qaqb)!an!b)ab)aaab)ab)ab)ab)YaXYb)ab)xaxb)>an>b)aXb)ab)ab)apb)WaWb)ab)ab)_ac_b)ayb);ac;b)ab)DaDb)aaob)ab)ab) aao ab) a!ao!b)!a!b)"a"b)#ia$'a$'b)$a$b)%a%b)& a& b)&a&b)'7a'7b)'ao'b)(la)+a)+b))a)b)*Tac*Tb)*a*b)+]a+]b)+ao+b),gac,gb),a,b)-a-b).La/ a/ b)/a/b)0Ua0Ub)1a1b)1ac1b)2:a2:b)3a3a3b)4a4b)5,a5a5b)6na6nb)7a7b)7ao7b)8a8b)8a8b)9Fa9Fb)9a9b):a;qa;qb)<8a<8b)a>b)>a>b)?`o">`"`"`#h`$`c$`$v`$v`%<`o%<`%`%`&Q`&Q`&`&`'`'`( `( `(`o(`)4`)`)`*`*`+5`+5`+`+`,`,`-&`-&`-`-`./`c./`.`.`/M`/M`0`0`0`1C`c1C`1`1`2m`3`o3`3`3`4M`4M`4`5`5`6C`6C`6`o6`7M`c7M`7`7`8k`8k`92`9`9`:`:`;`;`;`;`2`>2`>`o>`?F`?`?`@`@`A^`A^`B%`B%`B`B`C`C`DX`E`E`E`E`F`G/`oG/`G`G`He`He` ^q^q^k^qk^2^q2^^q^:^q:^^q^^qo^^q^q^^q^^qc^&^q&^^q^g^qog^^qc^9^q9^^q^^q?^q?^^q^^qc^^q^^q^^q ^q ^ ^q ^ ^q ^!t^qo!t^!^q"g^qc"g^"^qo"^#9^q#^q#^$^q$^%`^q%`^%^q&i^q&i^'0^q'0^'^qy'^(N^q(N^) ^q) ^)^q)^*3^q*^qo*^+'^q+'^+^q+^,^q-^q-^-^q-^.X^qo.X^.^qc.^/)^q/)^/^q/^0^q10^q10^1^q1^2^q2^3!^q3!^3^q3^4l^q4l^4^q4^5^q5^6]^qW6]^6^q79^qo\\u Xp Uy M !V"$W))+"-S/M16g9u<@DF S.!3%'x*BS+?Sp/6S/S5v<%B:CY R* xR*R*pR*R*$& ,/ 7:L?2BCY P eU|#$%ax'P(Pp*P+TP N\+!%+I,17=9>BHe L`Fd T$ (/,j.3x6AL`6L`9p;OL`;L`?@BEa J  ]RZ!$&^(,A-034-9%=a?BDY I 1xIIp7I 5I"+%)x-\I-Ip/RI0PI35 = D~G Gj F  /x#Gj$NGjp'8Gj(5Gj)- 194[6T:>FC" Ex RE EpEEd^* $'f+136:4<xCkECEFp D '\ xDp UD"# *>x,D-yD0gp2bD3D6Y8J;=4@eA Av ?A A ptAAt-W%?&)+R-/x2 A2A5{68p9PA:-Ax;ACx =6p=6x#=6$=6y()=6p)j=6-O15{x7=68=6p<=6=n=6@ ;q $Lx&;';+ 9p9C%+x-9.'915,p79x 7p7ux77p 7"7x$S7%%7p'7("7x)7*D7p+7,Z709x;7<7>BDG6 p6 6 2 "#)-/+15V =EBFi4cz#:%' /}046:h=TDG%2 o "# *x-2.2023y479;<p>2?2AG1  ')V+.105j8 ;D@7CF/m; F +#_$&(.+b,.0248H @:AG/-i"U%B'-/3(x5-6-8<?pB-C-EU,R "px",#,p%1,&,( .0t3569V?s@ F*wB 7#%S&)/ 6-8}:@ B (xY(*(%pp(e(! x#(#(%'(rp)(*(+( 1x3(4V(6Q78:;<p=U(>1(C:DF'(^ !$(5), 48o9<>AxD'(D'(%p%%fxb%3%!.p#% # ~x##p2##x##pK##!e$&&K -qz/#0l#p3#4#6:>@ !^EWl"#%). 039;>AWDuG/ MMypK  ; x";;p;; U"@'})x,;- ;p/;1;35y7?]CZ   r;x p y "{ +/4o6<@EV  xp "&\(-x3<4:p7280:X=B1CF E xEEpEEEz _E!*Ep$gEu " p  '!#F')-m/0 79=?D7 +7 q !$(-03u668:?NACiGR  v "%-(Q)-/s5 5y ;<>BD[Fc  K p#j $O &),L1528>?AF6G 5 | $&)+.3 5:Z@DG/x)e TVm$_effectofstoppingtheattemptedcorrection(whichisnotassevereasclickingStop,whichabortstheeventaswellasthecorrection).Iftheuserhastypedaheadbeforetheneedforconfirmationwasdetected,thetypeaheadwillberetained,andtheusermustconfirmusingtheYesandNobuttons.SessionLogThesystemwillautomaticallykeepalogofyourentiresessiononthefileSession.Log,unlessyouhaveanentryinyouruserprofileoftheformCreateSessionLog:FALSE.Thislogwillconsistsofalloftheinput/outputineachworkoractionarea,plusthematerialthatiswrittentoyourchangeslog(seeNewStuff.tioga),suitablybracketedsoastomakeitreadable.Anewlogiscreatedwheneveryouboot,andtheexistinglog,ifany,renamedtobeSession.Log$.(Youcanalsospecifythatthenewlogsimplybeappendedtotheexistinglogviayouruserprofile.Formoreinformation,seeUserProfileDoc.Tioga.)Thisfeatureisquiteusefulforafter-the-factdebugging,i.e.foryou,orawizard,tolookbackatwhatyoudidinaprevioussession.13p b) 6+ s$b)%b)(\)+,0T158<?aASDVEH ` p``teH#V'*-/ 7:@C ^ 9OI$(x*^+^p-^.y^x0^1^p2^3^u X=p T B c #5$(,,0257 ?lCFH SG v  $#s/QSG0 SGp2SG3SG7 9DBF O8`!|#1$()/1}4r68>=CIF NQ  +( "$ -My-NQ-M-NQ.M.NQ/SM/SNQ0M0M0NQ1=M1=NQ1M1NQ2M31M31NQ3Mc3NQ4:M4:NQ4M4NQ5yM6M6NQ6M6NQ7MM7MNQ7M7NQ8Mc8NQ8My8NQ9iM9iNQ:M:Mo:NQ;M;NQ;M;NQ<}Mo<}NQM>NQ?OM?M?NQ@M@NQACMACNQB@MBMcBNQC+MC+NQCMCNQDMEMENQEMcENQFM*FNQG0MG0NQGMcGNQHZMHZNQ L@ L L@ L XL@ L@ L L@ L SL@ SLL@LL@LL@LML@MLL@LL@HL@oHLL@LrL@L@oLpL@pL7L@7LL@kL@kLL@LL@cL$L@$LL@oLL@cLzL@zLAL@ALL@L@cLL@LL@LNL@L@LL@cLL@LL@ %L@ %L L@ L!L@!L"WL@"WL"L@#jL@#jL$1L@$1L$L@$L%[L@%[L%L@%L&L@&L'*L@'*L'L@y'L(_L@c(_L(L@c(L)%L@)%L)L@W)L*"L@*L@*L+L@+L,TL@,TL,L@-fL@*-fL.L@.L/KL@/KL/L@/L0uL@1L@c1L1gL@1gL2.L@y2.L2L@2L3bL@3bL3L@*3L5L@5L5L@o5L6$L@c6$L6L@6L7CL@7CL8 L@X8 L8bL@8L@8L9uL@9uL:L@:L:L@;NL@;NLL@>L>L@>L?qL@?qL@,L@y@,L@L@c@LA L@cA LAlL@AlLBL@BLC0L@C0LCL@CLDL@WDLDL@DLEL@cELF)L@F)LFL@FLGL@GLH:L@WH:LHL@yHL K GT % ,/1M4k6>7w A4DF2 I[ x)exTVm$p HELVETICA, HELVETICA LAUREL HELVETICA MATH HELVETICA MATH HELVETICA HELVETICA TIMESROMAN TIMESROMANY TIMESROMAN TIMESROMANLOGO TIMESROMAN TIMESROMAN* L, ^9P p&,F j/m,userexec.tioga 4-May-83 0:22:20