HarmonyReleaseMessage=======================contents:Input/OutputPrintingFonts1108LocalFileSystem1108FloppyRS232NSFileServersNSPrintServersEthernetProtocolsWindowSystemTeditDeditBreakPackageInspectorCHATTTYINStack&InterpreterHistoryandExecFilePackageCompilerMasterscopeDWIM&CLISPPerformanceToolsStorage&DataTypesArithmeticProcesses1108MicrocodeLibraryPackagesMiscellaneousAppendices:A:HardcopyFacilities<<>>B:AttachedWindows<<>>C:1100&1108CPEParallelPort<<>>D:NSProtocolSupport<<>>Input/Output============*AdvanceWarning:ChangestoOPENFILE;multiplestreamsperfileAtsomepointinthefuture,theInterlisp-Di/osystemwillchangesothateachcalltoOPENFILEreturnsadistinctstream.Thisdiffersfromthecurrentbehavior,inheritedfromInterlisp-10,thattherecanonlybeonestreamopenonanyfile,andthatasecondOPENFILE(assumingbothareforINPUT)willreturnthesame"opening".Thischangeisrequiredinordertodealrationallywithfilesinamultiprocessingenvironment.Thischangewillofnecessityproducethefollowingincompatibilities:1)OPENFILEwillreturnaSTREAM,notafullfilename.Tomakethislessconfusing,STREAMswillhaveaprintformatthatrevealstheunderlying q?` p q?` g_p b5q b5 `r!(` _ !"_ q_ !(_ ] ] \I \I ZZ Y Y XA XA VV U-U T9'1dtT9 R'7R Q-Q P1 yP1 N yjN MM L) L) JJ Iy-Iy H!-H! FF EqEq D VD Bz-Bz A" A" ? ? >rj>r ='= ;; :j 7:j 9'9 7 A7 6b 6b 5 Z5 3 `3 2Z2Z 1 1 /'/ .Rj.R , , + + *J 7*J ( ( ' y E/' &B y0&B $ yZ!x%9$ # yE-@# ": ": Vr V   Ns N  Z #&+39=/@q@   F y;"O% /38=/CEIIF 'Zn#&$,c338%>CFlFl !x% 1m5:>B9DHH >"O&(0.5>B9EHH> E!x *+/58%?B9GCII ' d #&$2D <^ 6 6 ';#&)-:5D . y P 'Y*,c049:=/AbEII . 1"O#).39=/ FlFl  q?`2file'sactualname,andthefunctionsUNPACKFILENAMEandFILENAMEFIELD,whengivenaSTREAM,willoperateonthestream'sname.2)AgreaterpenaltywillensueforpassingastheFILEargumenttoi/ooperationsanythingotherthantheobjectreturnedfromOPENFILE.Passingthefile'snamewillbesignificantlyslowerthanpassingthestream(evenwhenpassingthe"full"filename),andinthecasewherethereismorethanonestreamopenonthefileitmightevenactonthewrongone.Adviceforplanningforthischange:UsersareencouragedtowritecodewhichbindsavariabletotheresultofOPENFILEandpassesthatvariabletoalli/ooperations;suchcodewilllikelycontinuetowork.Similarcodethatwillworklesswell,ifatall,isthatwhichbindsavariabletotheresultofanINFILEPandpassesthattoOPENFILEandalli/ooperations;suchcodeworkswellnow,butimplicitlyassumesthatINFILEPandOPENFILEreturnthesamething,aninvalidassumptioninthisfutureworld.(Codethatpassesincompletefilenamestoi/ooperationsisincurringasubstantialperformancepenaltyevennow,andshouldhavebeenchangedlongagotousetheresultoftheOPENFILE.)ToseemoredirectlytheeffectsofpassingaroundSTREAMsinsteadoffilenames,replaceyourcallstoOPENFILEwithcallstoOPENSTREAM.OPENSTREAMiscalledinexactlythesameway,butreturnsaSTREAM.StreamscanbepassedtoREAD,PRINT,CLOSEF,etcjustasthefile'sfullnamecanbecurrently,butusingthemismoreefficient.ThefunctionFULLNAME,whenappliedtoastream,returnsitsfullfilename.*NewfunctionOPENSTRINGSTREAM:accessstringslikefiles(243)Interlisp-DinheritedafeaturefromInterlisp-10suchthatifastringwasgivenasthefileargumenttoaninputfunction(READ,READC,etc.),thatthefunctionwouldinterpretthestringasthecontentsofafileandreadthecharactersofthestring.However,thisneverwasaverycleandesign,anditinterfereswiththedesiretousestringsasfilenames.Thefollowingfunctionhasbeencreatedtohandlei/ooperationsfrom/tostringsmorecleanly:(OPENSTRINGSTREAMSTRACCESS)ReturnsastreamthatcanbeusedtoaccessthecharactersofthestringSTR.ACCESSmaybeeitherINPUT,OUTPUT,orBOTH;NILdefaultstoINPUT.Thestreamreturnedmaybeusedexactlylikeafileopenedwiththesameaccess,exceptthatoutputoperationsmaynotextendpasttheendoftheoriginalstring.Also,stringstreamsdonotappearinthevalueof(OPENP).*IncompatibleChange:GETFILEPTR,SETFILEPTRdonotworkwithstringsintheHarmonyreleaseInpreviousreleases,thefunctionsGETFILEPTRandSETFILEPTRcouldbeusedwithstrings.AsoftheHarmonyrelease,thisfeaturehasbeendisabled,andcallingthesefunctionsonstringswillcauseanerror.TheonlywaytouseGETFILEPTRorSETFILEPTRwithastringistocreateastringstreamwithOPENSTRINGSTREAM.*AdvanceWarning:(READ)willnolongerreadstringcharactersinfuturereleaseInthecurrentrelease,(READ)continuestoworkasbefore.However,insomefuturerelease,thisfeaturewillbedecommissioned,andOPENSTRINGSTREAMwillbetheONLYwaytotreatastringasafile.Userswhodependontheoldfeatureareencouragedtochangetheircodenow.*NewfunctionCOPYCHARSforcopyingwithEOLconvention(1511967)Fl g,q h h b5!x) 6w9 FlJJb5 `d"O$(0/3` _ _ ^- y Pn %)/2D59AbCGCGC^- \ 1#'Y-:48AbB9HH\ [} P1d )/3:>CHH[} Z%';"O(0+.1m5:?B9FlJJZ% X P1dE!x#)-:036w;>X Wu Wu V1"O(6V T T SmZ #&'Y,c1m3:=/@FlHHSm R&),c/ 9>B9FlFlR Pd&*.37N;@CEIIP Oe yn#&)/2D4;>DHHOe N  yd (0,c059>Ab JJN L&,c/39CHJJK] J P !x#& -: 7N>B9FlIIJ H;#&&),c/58%; CH GU GU E y%(0.4;B9DHHE D"O).35 ?@ IID CM yZ#&'Y*1m39:AbDGCGCCM AZdE#'Y+.1m7N;?CEEA @ 1"O& /03;CHH@ ?E1"O%).2J?E = = @FlII9 8 #&%*2D8%>CHH8 75 P"O%+.1m8;=/AbDHH75 5 P n#&#+/48%9>CII5 4 P E &),c359?@CC4 3-ZE!x(0*03 =/CJJ3- 1'1 0} 0} /%n"U/% -Z;n"O&).2D ;>AbGCGC- ,u'; &-:/48%?B9HHH,u + P1 $+/1m5;?CGCGC+ ) )-:06w:>AbCGCGC) (m;#*-:06w8EHH$e #  P# q# # ! ! ] yn(0 1m4 >CEII ] '%-:1m8%;?HH  P!x#*.36w GCIIM q   E y#&+36w:=/CDDE ;%)047NDHH ;n"O&),c1m38;=/B9CHH = P1n#&& /2D8%=/AbD=   s "O)-:0 8 q 99 p =/@ q @ 5 5 q?`J3ManypartsofthesystemhavebeenchangedtoautomaticallyconvertbetweendifferentEOLconventions.COPYFILE,MAKEFILE,andTedithavebeensomodified,butwecan'tclaimthateverypossiblecasehasbeentakencareof.Foruserprograms,thefollowingfunctionisavailabletodothisconversionautomatically:(COPYCHARSSRCFILDSTFILSTARTEND)ThisislikeCOPYBYTES,exceptthatitperformstheproperconversioniftheEOLconventionsofSRCFILandDSTFILarenotthesame.STARTandENDareinterpretedasbytespecificationsinSRCFIL.ThenumberofbytesactuallyoutputtoDSTFILmightbemoreorlessthanthenumberofbytesspecifiedbySTARTandEND,dependingonwhattheEOLconventionsare.InthecasewheretheEOLconventionshappentobethesame,COPYCHARSsimplycallsCOPYBYTES*1100/1108ParallelPortfunctions(2503)The1100hasaparallelportconnectorwith8bidirectionaldatalines,8unidirectionaloutputlines,and5unidirectionalinputlines.The1108withExtendedProcessorOption(CPE)hasasimilarparallelportconnector:thedifferencesare(1)ithas6unidirectionalinputlinesvs.5,(2)thepowerlinesoftheconnectorare5voltsvs.12,and(3)thepinlayoutsaredifferent.Acableadapterisavailabletomapthe1108'sparallelport'spinlayoutintothatofthe1100,orviceversa.TheInterlispfunctionsWRITEPRINTERPORTandREADPRINTERPORTareavailableforaccessingtheparallelport.Formoreinformation,seeAppendixC(1100&1108CPEParallelPort).*"TheinfamousPEEKCbug"hasbeenfixed:canbackspaceoverPEEKC-edchars(826)ThiswasalongstandingbugintheInterlisp-Dkeyboardreadersuchthatfollowing(PEEKCT),theusercouldn'tbackspaceoverthecharacterthatwaspeeked.Thisaffectedanumberoffunctions,suchasASKUSER,FILES?andCOMPILE,whichpeekatthefirstcharacteroftheuser'stypein.*Directoryenumerationfasterwithmultipleproperties.(113)Thedirectoryenumerationcodehasbeenredonesothatremotefilesdonothavetobelooked-uprepeatedlywhenaccessingmultiplepropertiesoffiles(size,author,etc).ThisimprovestheperformanceofDIRandthefilebrowser.*DIRECTORYpatterninterpretationimproved(10211087)DIRECTORYandFILDIRhavebeenmodifiedtoprovideaconsistentmeaningforomittedfieldsinthefilenamepattern.Unspecifiedfieldsinthepatterndefaultto*,exceptwhentheprecedingfielddelimiterisincluded,inwhichcasethefieldisexplicitlynull.Nullversionisinterpretedas"highest".Thus:DIR*=DIR*.*=DIR*.*;*enumerateseverything.DIR*.=DIR*.;*enumeratesallversionsoffileswithnullextension.DIR*.;enumerateshighestversionoffileswithnullextension.DIR*.*;enumerateshighestversionofeverything.Note:Somehosts/devicesarenotcapableofsupporting"highestversion"inenumeration.SuchhostsinsteadenumerateALLversions.*WHENCLOSEoperationscalledwhenstreamsareclosed(20455141185)Previously,theWHENCLOSEoperationsofafile,ifany,wereonlyinvokedifCLOSEFwascalledwiththefile'sname,notifcalledwiththestream. 5 g,qIhJjh b5'1#&'Y.0 CEE` _Z;E"O&+37N:>CHH_ ^- P'!x)1m3AbEE^- \ 1 \ [} [} Z% 1#'_Z% X' #(0*2D5; DGCJJX Wu P d#&),c/38%8>AbDHHWu V  'Y)01m4:=/B9IIV TZ;E#&*.2D8%:?HJJT SmZ!x%),c 6w:;>AbEJJSm R P  #&%).6wOe N N L P"O*.0 ?CGCGCK] J'#),c.4EI=q=JJ= CGCGC9 8Z;#&*37N:CGCJJ8 75E$'Y 047N>DHH75 5E %.039?5 4 4 3-s  #(0/ 83-q3-993-p3-=/3-q3-=53- 1 1 0} P #'Y+1m38%>CEHH0} /%'1 $)1m8 B9DII/% -n (0+ 58%;>B9FlFl- ,u,u + + )s  'Y.)q)..)p)26L)q)6R) (m (m 'Z#+.46w ?FlII' %n $,c-: 7N=/?CII% $e1#&+08;CFlFl$e # 1 'Y,c-:1m8%: DGCGC# ! 1A! ] ]  Pdn   ' !j U PAU  '#%*.3 ;s  P M '%(-&1Y5 =M  P  '%( 1_ E E 1 "O%,c. 8%?GCII  %.1m9 = = s  E#&'Y.1m6wq7N7Np;V>AbqAh 5 d )+-:2D48=/AbHJJ 5 1E &+.1m7N;>D  O q?`4*COPYFILEnowusesFTPprotocolwheneverpossible(1302)Previously,COPYFILEusedtheLeafprotocolwhencopyingfromafileserverthatalsoimplementedLeaf.UsingtheFTPprotocolforsuchfiletransfersismuchmoreefficientforsomeservers.*COPYFILEinfersfiletypewhensourcefilehasnone(561)COPYFILEalwaystriestocreatethenewfilewiththesamefiletypeastheoriginalfile.Iftheoriginalfile'sfiletypeisunknown,COPYFILEnowinfersthetype(fileisBINARYifanyofits8-bitbyteshavetheirhighbiton).Previously,COPYFILEusedthevalueofDEFAULTFILETYPE(initiallyTEXT),whichwasoftenthewrongthingtodo,forexample,whencopyingDCOMfiles.*COPYFILEtoprotecteddirectorysucceedsafterpasswordgiven(458)Previously,COPYFILEtoaprotecteddirectorycauseda"FILEWON'TOPEN"errorevenafteraskingforandreceivingthecorrectpassword.Thisproblemoccurredonlyfor"sequential"fileswrittentoaPupFtpserver,notforordinaryMAKEFILEs.*COPYFILEto{CORE}or{DSK}copiesfilecreationdate(11441145)Previously,whencopyingafileto{CORE}or{DSK},COPYFILEwouldignoretheoldfile'screationdateandinsteadassignthecurrentdateandtimeasthenewfile'screationdate.(COPYFILEtoaremotefileserverhasalwayscopiedthecreationdatecorrectly.)*Definingauserinterruptcharnolongerturnsoffpreviouslydefineduserinterrupts(2068)*INTERRUPTCHARuserinterruptsalways"soft",nolongerdoCLEARBUFandFLASHWINDOW(615)InInterlisp-D,userinterruptssetwithINTERRUPTCHARarealways"soft",butarealso"immediate",i.e.,executingtheinterruptdoesnotdisturbtheprocessthatisrunningorunwindthestack,butwillhappenatthenext(interruptable)moment.Interruptsnolongercleartheinputbufferandflashthescreen;usersthatwantthatbehaviorshouldexplicitlycallCLEARBUFandFLASHWINDOWasappropriate.*Control-CnolongercallsRAIDControl-CnolongercallsRAID.Foruserswholiketobeabletousethislow-levelinterrupt(moreusefulon1100thanon1108),itcanbereenabledbyexecuting(INTERRUPTCHAR3'RAID).*Shift-BS*NOT*equivalenttocontrol-W(2011)ThekeyShift-BShasbeenchangedsoitisnolongerequivalenttocontrol-WintheinitialInterlisploadup.UserscanchangethisbytheappropriatecalltoKEYACTION,e.g.(KEYACTION'BS'((823NOLOCKSHIFT)))willrestorethepreviousbehavior.*UNPACKFILENAMEworkswithstrangefilenames:A.B.C(144)ThisisusefulwhenaccessingfileserverswhichdonotconformtoInterlisp'sfilenameconventions,suchasNSfileserversandUNIX-basedfileservers.*OPENFILEdoesnotreturnfilenamewithversion;0(2281)D g,q h h b5 b5 `s 1%-:3`q`44`p`8`q`8` _ _ ^- #&'Y.39>?CII^- \'Z n!x"O'Y*.58=/AbII\ [} yE $+[} Z% Z% Xs 1E!x%+/36wXqX7N7NXpX:XqX:X Wu Wu Vdn$(0+/37N;?CFlIIV TdE$*.35=/DHHT Sm1dn$'Y*-:05:>CHHSm R PZ n#(0+03@ IIR P;E %*-:03;?FlJJP OeOe N N Ls 1&.3:>LqL??LpLCLqLCL K] K] J (006w8%=/B9GCGCJ H1;!x$-:07N?@DDH GU;n */6w8:@GCJJGU E P KE D D CMs 1#&)-:48%CMqCM88CMpCM=@`CMqCM@fCM A A @ ; $'Y-:/5=/B9HH@ ?E P"O%,c2D5CGCGC- ,uZ"O&*2D8% AbEE,u + !x ++ )s ) (m n!x$(mq(m$(m ' ' %Z$%).1m58%:>AbDHH% $eZ%(0,c038;>AbII$e #  y !x#&) # ! ! ]s 1; !x#+ ]q ],c,c ]p ]0k ]q ]0q ]    P;&)+.06w ?B9JJ U y%&+.48;> HHU '  'Y*.1m >B9HH  Pt M M s ;E!x(0,c2D6wq7N7Np:q:   E'#&'Y.358?B9B9E  ;n 'Y+.04;> HH ' = = s 1;n"O'Y+.4)isano-op(192)*GETECHOMODEchecksitsargumenttype(2017)GETECHOMODEwillnowgeneratean"ILLEGALTERMINALTABLE"errorifitispassedanargumentthatisnotalegalterminaltable.Previously,itwouldnotcheckitsargument,andcauseamoreseriouserrorifitwasnotaterminaltable.*GETRAISEcauseserrorifgivenbadterminaltableargument,insteadofcallingRAID(751)Printing========*Hardcopyfunctionscleanedup,documentedInpreviousreleases,thefunctionsandvariablesusedtosendfilestovariousprintershavebeenredesignedrepeatedly.Wehavebeentryingtodesignasimpleinterfacethatwould"dotherightthing"formostusers,butwouldalsoallowuserstogetaroundthedefaultswhennecessary.Itwasalsoimportanttoprovidefacilitiessouserscoulddefinetheirownprinters,andhookthemintothenormalhardcopyfunctions.IntheHarmonyrelease,thehardcopyfacilitieshavebeensimplifiedconsiderably.FilesandbitmapscanbesenttotheprinterusingthefunctionsSEND.FILE.TO.PRINTERandHARDCOPYW.ThevariableDEFAULTPRINTINGHOSTcontainsinformationabouttheavailableprinters,andthevariablesPRINTERTYPESandPRINTFILETYPEScontainthetheinformation 5 g,qIhJjh b5 y;"O&,c1m49@GCGCb5 `; (0,c38%8;?CHJJ` _'#&,c-:1m9 CHH_ ^- P #'Y*1m7N>^- \ \ [}s n"O)-:2D6w=/[}q[}>>[}p[}B[}q[}B[} Z% Z% X';#&)-:.2D6wCFlFlWu VjV T T Sms &*.SmqSm//SmpSm3SmqSm3!Sm R R P; #&&.38%>AbEIIP Oe #&$)+2D38%>EHHOe N ZnN L L K]s 1 "O *K]qK]++K]pK]/K]qK]/K] J J H !~H GUdn#$*-:37N:?B9HHGU E'd;"O&*-:038; EIIE D P1!x *+.1m8%FlHH9 8 1dE $'Y+.48%; FlHH8 75'n ) 358=/EE75 5"U5 4 4 3-s Z!x#%**3-q3-++3-p3-.3-q3-.3- 1 1 0}s &)0}q0}**0}p0}.0}q0}.0} /% /% - ;#&%-:4:?B9DGCGC- ,uZ #%*2D8%8 CEJJ,u + PZ!x&(0,c38%:=/@CEE+ )) (m (m 's 1 %)05>DGCGC' %%q%%p%;%q%A% $e $e # # !r !   ys y ! 1"O% .!q!.!   q yn(0+38%:>CFlFlq ;n ) 347N;?EHH d#),c/4:>B9HH i PZ #&&,c/7N; DEHHi  Pn#& ,c.38>CGCGC Z"O%+3 ; a a   y!x) 2D6w: CC  %)+/2D5 HH  g q?`6necessarytoprintafileonanygivenprinter.Forfulldocumentation,seeAppendixA(HardcopyFacilities).*ImagestreamsallowprintingarbitrarytextandgraphicsonPressorInterpressprinters(2291)Previously,theonlydocumentedwayofprintingtextandgraphicsonPressorInterpressprinterswastouseoneofthesupportedtools,suchasTedit.Whilethesetoolsaresufficientformanyneeds,therewasaneedforfunctionsthatuserscouldcallfromtheirprogramstoprintarbitrarytextandgraphics.Aspartofalong-rangeefforttoprovideasimple,device-independentinterfacetothevariousgraphicsdisplayroutines,"imagestreams"werecreated.Animagestreamisanoutputstreamwhich"knows"howtoprocessgraphiccommands.ItcanbepassedastheFILE/STREAMargumenttotheordinarycharacter-outputfunctions(PRINT,etc.)andtothegraphicfunctionsaswell(DSPXPOSITION,DRAWCIRCLE,etc.).Someimagestreams,suchasdisplayandlocal-printerstreams,maysimplyexecutetheappropriateoperationstocausethedesiredimagetoappearimmediatelyontheoutputmedium.Otherimagestreams(PRESS,INTERPRESS,etc.)interpretthegraphiccommandsbysavinginformationinafileoftheappropriateformat.Ifthisfileisonthe{LPT}device,itwillautomaticallybetransmittedtoaprinterdevicewhenitisclosedbyCLOSEF.Non-LPTfilescanbetransmittedlaterbyexplicitcallstoLISTFILESandSEND.FILE.TO.PRINTER.Imagestreamsarecreatedbythefollowingfunction:(OPENIMAGESTREAMFILEIMAGETYPEOPTIONS)OpensandreturnsanoutputstreamoftypeIMAGETYPEonadestinationspecifiedbyFILE.IMAGETYPEcancurrentlybeeitherPRESS,INTERPRESS,orDISPLAY.Eventually,otherimagetypeswillbeimplementedforotherdevices.FILEcannameafileeitheronanormalstoragedeviceoronaprinterdevice.Inthelattercase,thefileissenttotheprinterwhenthestreamisclosed.FILE=NILisequivalenttoFILE={LPT}.Namesforprinterfilesareoftheform{LPT}PRINTERNAME.TYPE,wherePRINTERNAME,TYPE,orbothmaybeomitted.PRINTERNAMEisthenameoftheparticularprintertowhichthefilewillbetransmittedonclosing;itdefaultstothefirstprinteronDEFAULTPRINTINGHOSTthatcanprintIMAGETYPEfiles.TheTYPEextensionsuppliestheIMAGETYPEwhenitisdefaulted(seebelow).OPENIMAGESTREAMwillgenerateanerrorifthespecifiedprinterdoesnotacceptthekindoffilespecifiedbyIMAGETYPE.IfIMAGETYPEisNIL,theimagetypeisinferredfromtheextensionfieldofFILEandtheEXTENSIONSpropertiesinthelistPRINTFILETYPES.Thus,aPRESSextensiondenotesaPress-formatstream,whileIP,IPR,andINTERPRESSindicateInterpressformat.IfFILEisaprinterfilewithnoextension(oftheform{LPT}PRINTERNAME),thenIMAGETYPEwillbethetypethattheindicatedprintercanprint.IfFILEhasnoextensionbutisnotontheprinterdevice{LPT},thenIMAGETYPEwilldefaulttothetypeacceptedbythefirstprinteronDEFAULTPRINTINGHOST.Example:AssumingthatIP:isanInterpressprinter,PisaPressprinter,andDEFAULTPRINTINGHOSTis(IP:P):(OPENIMAGESTREAM)returnsanInterpressimagestreamonprinterIP:(OPENIMAGESTREAMNIL'PRESS)returnsaPressstreamonP(OPENIMAGESTREAM'{LPT}.INTERPRESS)returnsanInterpressstreamonIP:H g,q h h b5Z"O%*2D36w: GCJJb5 `1 %` _ _ ^-s dn#,c03;>CEE^- \ 1\q\\p\\q\\ [} [} Z% d $(0*2D6w9AbCHHZ% X y E #&&),c/8%>B9DJKvKvX Wun %)-:38%;=/AbDDWu VZ $).58%=/EIIV T PE!x *039;B9B9T Sm"O$(0.6w=/EESm Rd"UR P P Oe ydn"O(0-:37N9@GCGCOe N Z1!x#'Y 1m8;>FlFlN L; 'Y,c/2D5 GCIIJ HZ & 036wEHHGU E n"O$(0 2D89CFlFlCM A!x$6}A @ @ ?E"O%.5?E = = <;n$+< ;=Z!x'Y).6w8: DD;= 9Z#&&.1m7N=/ GCII9 8Z n!x&+/2D CGCGC/% -'Z !x)+358>DGCGC- ,u"O'Y/56w9>FlFl,u +E!x#&.39:HH+ )';E#&+2D6w9?CGCII) (m' !~(m ' ' % yd#(0*2D6w9B9GCII% $e'  'Y)-:1m>CEJJ$e # Z %,c1m48GCJJ! ] P!x%.2D48%AbCGCGC n )-:36w9>EHH U PZ-:..U   Z!x#& /7N8;=/B9II M P $'_M   A E' !d&n,O.58E   ;!~ =PZ";$%=   ;'_ 5' !d'E),U 5  q?`7(OPENIMAGESTREAM'{CORE}FOO.PRESS)returnsaPressstreamonthefile{CORE}FOO.PRESSIfIMAGETYPEisDISPLAY,thentheuserispromptedforawindowtoopen.Thefilenameinthiscasewillbeusedasthetitleofthewindow.OPTIONSisalistinpropertylistformatthatmaybeusedtospecifycertainattributesoftheimagestream;notallattributesaremeaningfulorinterpretedbyalltypesofstreams.Amongthepropertiesare:REGION--valueistheregiononthepage(instreamscaleunits,0,0beingthelower-leftcornerofthepage)thattextwillfillup.ItestablishestheinitialvaluesforDSPLEFTMARGIN,DSPRIGHTMARGIN,DSPBOTTOMMARGIN(thepointatwhichcarriagereturnscausepageadvancement)andDSPTOPMARGIN(wherethestreamispositionedatthebeginningofanewpage).FONTS--valueisalistoffontsthatareexpectedtobeusedinthestream.Somestreams(e.g.Interpress)aremoreefficientiftheexpectedfontsarecalledoutinadvance,butthisisnotnecessary.Thefirstfontinthislistwillbetheinitialfontofthestream,otherwisetheDEFAULTFONTforthatimagetypewillbeused.HEADING--theheadingtobeplacedautomaticallyoneachpage,NILmeansnoheading.Otherfunctionsthatarepartofthedevice-independentgraphicsinterface:(IMAGESTREAMPXIMAGETYPE)ReturnsX(possiblycoercedtoastream)ifitisanoutputimagestreamoftypeIMAGETYPE(orofanytypeifIMAGETYPE=NIL),otherwiseNIL.(IMAGESTREAMTYPESTREAM)ReturnstheimagetypeofSTREAM.(DSPSCALESCALESTREAM)ReturnsthescaleoftheimagestreamSTREAM,anumberindicatinghowmanyunitsinthestreamscoordinatesystemcorrespondtoonescreenpoint.Forexample,DSPSCALEreturns1fordisplaystreams,and35.27778forPressandInterpressstreams(thenumberofmicasperscreenpoint).Inordertobedevice-independent,usergraphicsprogramsmusteithernotspecifypositionvaluesabsolutely,ormustmultiplyabsolutescreen-pointquantitiesbytheDSPSCALEofthedestinationstream.(TheSCALEargumenttoDSPSCALEiscurrentlyignored;infuturereleasesitwillenablethescaleofthestreamtobechangedunderusercontrol,sothatthenecessarymultiplicationwillbedoneinternaltothestreaminterface).Note:Notallgraphicsoperationscanbeproperlyexecutedforallimagetypes.Currently,onlydisplaystreamssupportBITBLT,FILLCIRCLE,andthedashingargumenttoDRAWCURVE.Thisfunctionalityisstillbeingdeveloped,buteveninthelongrunsomeoperationsmaybebeyondthephysicalorlogicalcapabilitiesofsomedevicesorimagefileformats.Inthesecases,thestreamwillapproximatethespecifiedimageasbestitcan.*CanpreviewhardcopyondisplayusingMAKEHARDCOPYSTREAMThefontsusedintheprintersarenotexactlythesameasthedisplayfonts,becauselow-resolutionscreenfontsdon'tlookgoodwhenprintedonhigh-resolutionprinters.Inparticular,thecharacterwidthsarenotthesame(evenwhenscaledtotakeaccountoftheprinterresolution).Becauseofthis,itisdifficulttoformattextonthedisplaysothatitisEXACTLYwhereyouwantit,sinceitwillbeslightlydifferentwhenprinted.Inordertoallowusersto"preview"hardcopywithoutactuallyprintingit,thefollowingfunctionsareuseful:(MAKEHARDCOPYSTREAMDISPLAYSTREAMIMAGETYPE) g,qIhJjh b5;&b5 `PZ";$(,O8` _ _ ^- yd#&&*-:48%9?B9GCHH^- \ P;n $'Y+.1m6w8DDZ% X n$+.2D ;> HJJX Wu !x)).2D ;>Wu V V TZdE#&%)-:06w;AbDIIT Sm P n"O'Y+/38%; HHSm R PE )7NDHHR P$). 8AbDDL K]n!x +.3;>AbHHK] JZ;%)-:/3 B9B9H GU d $)+/GU E E D1E"O(0 36w:?CHJJD CMCM A A @d#&%)8@ H@ ?E ?E = d = <Z!x#%,c.1m36wAbFlII0} /% 1#&+.4;CFlHH/% -&.2D8%;B9II- ,u n (0/ : CFlII,u +d !x(0)-:2D9AbDJJ) (m y&)-:08 EII(m ' y;# -@' % % $e1 'Y*-:4 U U s E&+:   Mq PZn#'Y*1m48;>EEM  #&).37N;?FlHH d #& -:08>B9EHH E'1dE#*-:07N B9CIIE  y!x'Y+.1m8%:>AbCJJ Z!x%(0/8%CEHH_ ^- &*.39^- \ \ [}n (6[} Z%Z!x(0,c02D8?EZ% X X Wu(0.6w9>B9EIIWu V y1%&) 36w ?CGCGCV T"O$ .58@HHT Sm yd #+Sm R R Ps E"O)PqP))PpP-PqP-P Oe Oe N E$,c1m :=/?HHN L #&#&)/2D5:>AbFlFlL K]1E$'Y*.057N>DDK] J1tJ H H GUs "O&+.7N>GUqGU>>GUpGUBGUqGUBGU E E DZ .2D7N9;?DDD CMZE 'Y+. ;CFlFlCM AZd$ .1m ;CA @ @ ?Es  &)/8%=/Ab?Eq?EB9B9?Ep?EFAH?Eq?EH?E = = AbDD0} /% 1E./3:>@GCII/% -; %-:/ 8+- ,u ,u +s 1 "O&*. 7N:?+q+@@+p+C+q+C+ ) ) (m (m &r& %C%C #q # "s E $-: 5"q"6w6w"p"9"q"9" !) !)  n "O*/2D:II y.@@y !;#&(0*038%>CFlJJ! #(0,c37N8=/=/ qn# -@q   t i1d #+.2D6wFlFlY n &*.6w B9CC  1d$'Y 1m3 >DHII Q'Z #(0*.1m7N:?CGCJJ Q I q?`A9fileisfoundInterlisplooksinsideittodeterminewhatformatitisandhowtoreadit.Thefunction(FONTFILEFORMATFILELEAVEOPEN)returnstheformatofafontfile(AC,STRIKE,etc.).INTERPRESSFONTDIRECTORIESValueisalistofdirectoriessearchedtofindfontwidthsfilesforInterpressfonts.Thesefilesmusthavetheextension"WD".PRESSFONTWIDTHSFILESValueisalistoffiles(notdirectories)searchedtofindfontwidthsfilesforpressfonts.Pressfontwidthsarepackedintolarge"FONTS.WIDTHS"files.AllofthesevariablesmustbesetbeforeInterlispcanauto-loadfontfiles.Thesevariablesshouldbeinitializedinthesite-specificINITfile.*IncompatibleChange:FONTDESCRIPTORdatatypechanged;CannotloadfontsdumpedwithUGLYVARSinCarol(2183)BetweentheCarolandHarmonyreleases,thesystemdatatypeFONTDESCRIPTORwaschanged,toaddafewmorefields.Normally,changestosystemdatatypesdonotaffectusersverymuch:theyjusthavetorecompileoldfileswhichusethedatatypes.However,inthecasethatuserssavedCaroldisplayfontsonfilesusingtheUGLYVARSfilepackagecommand,morecareisrequiredtoupdatethesefilestoHarmony.TheproblemisthatdatatypeobjectsputonfileswithUGLYVARScontainthedefinitionofthedatatype.IfaCarolfilewasloadedintoHarmonywhichredefinedasystemdatatypesuchasFONTDESCRIPTOR,Interlispwouldalmostcertainlycrash.InordertopreventpeopleaccidentlyredefiningtheFONTDESCRIPTORdatatype,thefilepackagehasbeenchangedsothattryingtochangeadatatypedeclarationwhilereadinginanUGLYVARSobjectcausesanerror.IfusershavecreateddisplayfontsinCarolthattheywishtouseinHarmony,theupgradeprocedureisthefollowing:(1)WhilerunningtheCarolrelease,loadthelispuserspackageEDITFONT.DCOM.(2)Usethefunction(WRITESTRIKEFONTFILE)tosaveeachfontdescriptorasa"strike"formatfile.Notethatstrikefilesdonotcontaininformationaboutthefontfamily,size,etc,sogivethestrikefilesdescriptivenames:e.g.,GREEK10B.STRIKE.(3)WhilerunningtheHarmonyrelease,loadEDITFONT.DCOM(note:thesamepackagehasbeentestedtoworkwithbothCarolandHarmony).(4)Usethefunction(READSTRIKEFONTFILE)toreadinthestrikefile,andcreateafontdescriptorwiththespecifiedfamilyname,face,etc.Note:Itisrecommendedthatuser-createddisplayfontsbestoredasstrikefonts,ratherthanstoredasfontdescriptorsonlispfiles.IfthefilesarenamedsimilarlytostrikefilesdistributedwithInterlisp,andputonthesamedirectories,theycanbeusedlikeanyotherfont.*Fontclassesarefirst-classdataobjects(14161552)Fontclasseshavebeenintroducedasafirst-classdataobjectwhichcontainsasetofrelatedfontsfordifferentdevices.Thefontfunctionsacceptfontclasses,fromwhichtheyextracttheappropriatefontfortheirdevice.Thenormalfontclassvariables(DEFAULTFONT,CLISPFONT,etc.)areinitializedtofontclassobjects.Fontclassesarecreatedandmanipulatedwiththefollowingfunctions:(FONTCLASSNAMEFONTLISTCREATEFORDEVICES)ReturnsanewfontclassobjectwiththenameNAMEandthedevicefontcomponentsspecifiedbyFONTLIST,whichshouldbealistoftheform(...).shouldbealistoftheform().EachofJ Q g,qIhJjh b5'#&)+.6w:@CEHHb5 ` Pd;#&04 >DHH` _Z;n 'Y,i_ ^- ^- \\ [}1d #+.2D6wCHH;= 9Z; #&)/ 8 B9EE9 8 "O&-:04;>B9HJJ8 75 #&(0.1m3;AbGCII75 55 4 4 3- yn#&(0*/38%B9DD3- 1#&) 337N>B9EE0} /%#&1m ;>B9FlJJ/% - 1d$)*.38>@CJJ- ,u n 'Y,c037N8%;AbFlFl,u + -:.1m6w=/@GCGC+ ) !x"O(0+/6w9>CFlJJ) (m'Zd#&#'Y(0+.6wGCGC(m 'dE#&*-:06w;>DFlFl' % &,c1m6w9% $e $e # Z #& .49@CHH! ] PZE#&(0 2D6w ?CFlHH ]  P n #&*.2D7N;   Us  #&'Y-:UqU..UpU25uUqU5{U    ;n %(0) 38%>CJJ M ;E )01m48AbGCGCM  "O),c 6w:>CIJJ  P1dn$ 0 9>B9B9 E &'Y 1m4;> HHE ' "U   = 1d-@= Z#(0+/37N8%;AbEE 1&+1m359E\ [} [} Z%#&)-: 6}Z% X; #&& /36wB9DHHV TZ !x$ .38%>AbFrT Sm Sm R!x$'Y-: 7N9?CGCGCR P #&%'Y+048>B9FlIIP OeZOe N s N L ;n #&'Y+LqL+L K] K] J P"O),c05>@B9HHJ H y $,c 6w:>@GCIIH GU  #'Y,c2D6w8?CDHHGU E;"O&*2D4:?HJJE D PD CM CM As "O%+2DAqA2JA @ @ ?E P !x%-:/37N=/DHJJ?E = y;"O'Y,c-:/1m7N9?CHH= <'Z #(0.< ;= ;= 9s  &+ 39q939 8 8 75 Pn#(0/2D:>Ab JJ75 5; "O#&&+.1m6w>@CHH5 4 P ;#&'Y)2D36w>B9DD4 3-#&&,c2D5:> GCGC3- 1;"O'Y)/038;>CJJ1 0} y "O%),c.1m6w8 B9CC0} /%% ./38%:> GCGC/% -d!x&),c08>B9HH- ,u P1n #&).048%(m ' ' %'#&%.2D7N:CFlFl% $eZ$e # # !dE!x%-:3?! ]Z"O'Y*/ B9DHH  P1#&%*.2D8%:>CGCGC UZ&* 5=/DHHU '   M y #)/59@FlJJM  y d &)038% B9EHH Z;n'Y(0,c38%>AbHH E yE   Z; $'Y*036wB9FlFl 5 E$  q?`11(FONTSAVAILABLE'MODERN10'MRR0'DISPLAY)willreturn((MODERN10(MEDIUMREGULARREGULAR)0DISPLAY))ifModern10forthedisplayisinvirtualmemory;NILotherwise.(FONTSAVAILABLE'*14'*'*'INTERPRESST)willreturnalistofallthesize14interpressfontsavailableeitherloadedintovirtualmemoryorinthefontdirectories.*SEEstartsprintingincorrectfont(84)Previously,ifthedefaultfontoftheexecwindowwaschanged,thenSEEofanInterlispsourcefilewouldstartoutprintinginthatfont(untilthenextfontchange).Now,SEEresetsthefontatthebeginningofprintinganInterlispsourcefile.*EDITCHAR,etc.nowworkwithcharacter#256(thedummychar)(77)1108LocalFileSystem======================*IncompatibleChange:Localfilesystemformatchanged;MUSTreformat1108disksThe1108low-leveldiskformathasbeenchanged.TousetheHarmonyrelease,dothefollowing:(1)copyanyvaluablelocaldiskfilestofloppyorfileserver;(2)repartitionthewhole1108diskusingtheHarmonyInstallationUtilityfloppy(seethe1108Usersguide).NotethatthiserasesALLinformationonthedisk;and(3)useDFSCREATEDIRECTORYtorecreateanyLispdirectoriesonlocaldisklogicalvolumes.ImportantWarning:Becauseofthechangeindiskformat,youcannotrunaCarolsysoutonaHarmony-partitioned1108,noraHarmonysysoutonaCarol-partitioned1108.Attemptingtodosomaydestroyinformationonthelocaldisk.*IncompatibleChange:AccesslogicalvolumeFOOby{DSK},insteadof{FOO}Thereisnowasinglelocalharddiskfiledevice,{DSK}.EachlogicalvolumewithaLispdirectoryonitnowcountsasaseparatedirectoryofthedevice{DSK}.(InCarol,eachlogicalvolumewithaLispdirectorycountedasaseparatedevice.)*IncompatibleChange:ManylocalfilesystemfunctionsrenamedTheuserfunctionsforthelocalfilesystemhavebeenredesigned.Anumberoffunctionshavebeenrenamed,andothershavebeenaddedordeleted.Thefollowingfunctionshavebeenrenamed:MKDIR==>DFSCREATEDIRECTORYMAKEPILOT==>DFSPURGEDIRECTORYDFSVOLUMES==>VOLUMESFormoreinformation,seethe1108UsersGuide.*(DISKPARTITION)returnsthenameofvirtualmemorylogicalvolume(390)WhenInterlispisrunningonan1108,thefunctionDISKPARTITIONreturnsthenameofthe1108logicalvolumecontainingthecurrently-runningInterlisp$ g,qHhJjh b5 b5 `d $&.` _ _ ^-'$+34=/?GCJJ^- \ P&) 2J\ [} [} Z%dn!x +-@Z% X X Wu'n#&'Y) 38%@FlFlWu V #&%)-: 7TV T T Sms n%)SmqSm))SmpSm,SmqSm,Sm R R P  $'Y*.48%?CGCIIP Oe y#),c36w:>DHHOe N 'Z"O(0+/2D5>@HJJN LZ;tL K] K] Js ;#,c.1m5:>JqJ??JpJBdJqJBjJ H H GU GU Er  &E D+ &D+ Bs B Ai E"O&,c2D9>EIIAi @'@q@-@ > > =a P#'Y+336w9=/CC=a < d !x$),c38=/B9DJJ< : yd $(0-:1m5:>DD: 9Y !x%)-:2D89>B9FlFl9Y 81 E#&(0+.2DB9DD8 6 #&%*.5<^6 5Q 5Q 3Z!x#'Y-:/3:>CGCHH3 2d).2D3:@CDD2 1I (0*-:/39 CFlII1I /7/ .s . -A E#&)/35 ?FlHH-A +'+q+-+ * * )9n!x%).4:;?FlFl)9 '"O$'Y*034"q">" !) !)  PE %)/38% B9CDJJ y yE$(0.2D6w;>EFlIIy !Z#&)!   qZ!~q   Z$ i i  1t   a P n#&'Y,c1sa   s #&'Y)06w=/B9qCCpFlqFr Y Y '"O$)-:4 @GCJJ  ';$ .1m@HH  q?`12virtualmemory.Thisisanalogoustothebehaviorofthisfunctionon1100or1132s.ThefunctionCURRENTVOLUMEhasbeenremoved.*SCAVENGEVOLUMEnowpreservesfilenames(1789)Note:SCAVENGEVOLUMEisnolongerincludedinthestandardInterlisp-Dsystem.ItisavailablebyloadingthelibrarypackageDlionFSScavenge.DCOM.*Runninglocalfilesystemfunctionsonnon-1108swillfailgracefully(104917271761)Previously,callinglocalfilesystemfunctionsfromInterlisprunningonanon-1108wouldcausestrangelow-levelerrors.Now,allofthesefunctionscheckwhetherInterlispisrunningonan1108,andgenerateanappropriateerrormessageifnot.Oneexception:VOLUMEDISPLAYsimplyreturnsNILifnotonan1108,sothisfunctioncanbecalledfrominitfilesthatarerunondifferentmachines.*Localfilesystemdoesnotallocatelargefilesallatonce(2372)Previously,COPYFILEofalargefilefromanNSfileservertothelocalfilesystemwouldfail,becausethelocalfilesystemwouldtryallocatingtheentirefilefirst,andtheconnectionwouldtimeout.*Localdiskrenamesfilesfromcoredevice{DSK}to{PSEUDO-DSK}(1663)Ifacoredevice{DSK}existswhenthelocalfilesystemwantstocreateadeviceDSKforthelocalfilesystem,anewdevice{PSEUDO-DSK}iscreated,anyfilesarecopiedover,andthecoredevice{DSK}isdeleted.Awarningmessageisalsoprinted.IftherearenofilesonthecoredeviceDSK,itissimplydeletedwithnowarningmessage.*1108LocaldiskcoercesHOST/DEVICEnamestouppercase(808)Whenreturningfullfilenames,the1108localfilesystemcoercesthe"host/device"nametouppercase:{dsk}->{DSK}.*TheVOLUMEDISPLAYwindowcanbereshaped(1044)*KnownBug:Localfilesystemdoesnotpreservefiletypeinformation.(2701)1108Floppy===========*Knownbug:ShouldformatnewfloppiesbeforedoingSYSOUT[{FLOPPY}](823)TherehavebeensomecaseswhereSYSOUT[{FLOPPY}]producedanincompletesysout,whenfloppiesthathadneverbeenformatedbeforewereused.Workaround:do(FLOPPY.FORMATNILNILT)onnewfloppiesfirst.*FloppystateflushedoverLOGOUT(1461)Previously,ifafloppywasleftinadriveduringLOGOUTandanewfloppywasinsertedbeforeInterlispwasrestarted,itwaspossiblethatInterlispwouldusetheoldfloppydirectoryinformation,whichcoulddestroyinformationonthenewfloppy.Now,floppydirectoryinformationisrefetchedthefirsttimethefloppyisusedafterInterlispisrestarted.*TryingtoaccessFLOPPYonnon-1108nolongerhangs(1515)TryingtoaccessthefloppydrivewhenrunningInterlisponamachineotherthanthe1108willnowprint"Floppy:Nofloppydriveonthismachine"beforegeneratingthesystemerror"FILEWON'TOPEN".Otheroperations,H g,q h h b5d;n'Y)-:47N;CEIIb5 ` yZ1 )-:1m8+` _ _ ^-s ;#+^-q^-,c,c^-p^-0k^-q^-0q^- \ \ [} n!x'Y.1m4EHIIR P"O*1m2D6w9 HHOe N ;nE )* 6wCFlIIL K] ytK] J J Hs "O).37N9=/HqH>>HpHBHqHBH GU GU E $)-:/2D6wB9GCGCE D'$(0-:1m7NAbGCHH= <1#&)+.4 ?B9II< ;= PZ #'Y+1m6w8@AbCII;= 91d"O'Y*-:2D48%5q5> 5 4 4 3-'$(0,c1m5;B9EE3- 1 n!x&'Y,c.31 0} 0} /%s   #&-:/%q/%../%p/%2/%q/%2/% - - ,us #(0+37N; E,uq,uFlFl,u +p +q++ ) ) (m (m &r& %C %C #q # "s  #+1m6wC"q"DD"p"H"q"H " !) !) 1d %3;> GCGC yn #)-:4:>CDDy !  #&&),c.2D9>!   qs E!x&qqq'Y'Yqpq+aqqq+gq    ;!x%(0).4:>?CHH i P#&& /2D5=/AbIIi Z'Y 2D7N GIa   s "O),c2D6wq7N7Np;Vq;\ Y Y Z;!x&*1m9DII  'E"O),c2D7N9>EE Q n"O'Y,c1m7N8%=/ GCGC Q . q?`13suchasDIR{FLOPPY}*willnotgenerateanerror,butinsteadmake{FLOPPY}looklikeithasanemptydirectorysothatfilesearchesworkcorrectlywhen{FLOPPY}isonthesearchpath.*COPYFILEofSYSOUTfromnon-Interlispfloppiesworkscorrectly(1965)Previously,COPYFILEwouldnotcopyasysoutfilefromfloppiescorrectly,ifthesysoutwasnotoriginallyputtherebyInterlisp.*(OUTFILEP'{FLOPPY}xxx)works,insteadofreturningNIL(1108)*Newmessageswhencreatingmulti-floppyfile(1579)Whencopyingasysoutorotherlargefiletofloppies(withFLOPPY.MODE=SYSOUTorHUGEPILOT),amessageisprintedatthestartsayinghowmanyfloppieswillberequired.Betweenfloppies,themessagenowsays"InsertFloppy#n",ratherthan"Insertnextfloppy".*(INFILEP'{FLOPPY}xxx)returnsNILifnofloppyinthedrive(22552367)Usedtocauseanerror.*Floppyfileversionsondifferentfloppydirectoriesincrementedcorrectly(2389)Previously,thefloppysystemignoredfloppyfiledirectorieswhencomputingthenextversionnumberforanewfile.Forexample,itwouldcreatethefile{FLOPPY}NAME.;2iftherewasafile{FLOPPY}NAME.;1.*FLOPPY.MODEnolongerchangedtoSYSOUTafterasysout(207)(SYSOUT'{FLOPPY})willautomaticallychangethefloppymodetoSYSOUTduringthesysout.However,afterthesysoutiscompleted,itischangedbacktowhatitwasbeforethesysout.*FLOPPYnowsupportsfiletypes(628)*Floppyerrormsgsareprintedinthetypescriptwindow,ratherthanthepromptwindow(14951575)*(COPYFILExx'{FLOPPY})inPILOTmodegiveserrormessage(996)Previously,copyingto{FLOPPY}givinganullfilenamecoulddamagetheinformationonthefloppy.Nowitjustgivesanerrormessage.*Baderrormsg"ARGNOTLP:NIL"changed(217)ThisobscureerrormessageoccurredwhentryingtoreadaPilotfloppyfilewhenFLOPPY.MODEwassettoSYSOUT.Theappropriateworkaroundwastoexecute(FLOPPY.MODE'PILOT),andtryingagain.*FLOPPY.COMPACTaccepts"No"asanswertoconfirmation(1446)*Floppyerrorsarenowregularfilesystemerrors(8)*Sysouttowrite-protectedfloppyprintsreasonableerrormessage(452)RS232=====*1108optionalRS232Cportissupported;providesmorereliablecommunicationTheHarmonyreleasesupportstheoptionalRS232Cportonthe1108.ThisportisbufferedindependentlyofLispoperations,sothereislittle,ifGC Q g,qHhJjh b5'n #+.37N>B9IIb5 `'Z;(0*.3:>GCGC` _';#(6_ ^- ^- \s 1 +38%?\q\@@\p\D\q\D\ [} [} Z%  #(0)/38%? HHZ% X yn %).0 9X Wu Wu Vs  %,c.7N9VqV::VpV>VqV>V T T Sms "O -:0SmqSm1m1mSmpSm5uSmqSm5{Sm R R P'n#)-:/7NB9FlFlOe N ; !x(003:>B9HHN L$)/L K] K] Js 1 %)+.36w9>JqJ>>JpJBFAJqJFGJ H H GU';KGU E E Ds E(0. 8% B9IDqDJJD CMp CMqCMCM A A @ dE#&)/3 >B9JJ@ ?E P;!x#&&+,c/7N9>DHH?E ='"O'Y*,c0B?= < < ;=s ;$'Y-:2D38;=q;=99;=p;==/;=q;==5;= 9 9 8  )/38=/?EE8 751"O'Y*03 AbHH75 5'd #)5 4 4 3-s n $3-q3-%%3-p3-)3-q3-) 3- 1 1 0}s $'Y* 3:@DHH0} /%/%q/%/%p/%/%q/% /% - - ,us  "O'Y+05;,uq,uCGCGC) (m  !x$'Y+038%>(m ' ' %s d"O&,c%q%-:-:%p%0%q%0% $e $e # ' (0,c2D48:?EII# !' ;!x(0),c 6w:@CFlFl! ] #&&,c1s ]   s ;#&%+. 8%q88p=q=  U U s d$).3q44p6q6   Ms !x'Y-: 6w;AbMqMB9B9MpMEMqMEM     r ss  s   dE!x# -:48@@ Y YqYY    P"O%-:37N9=/B9CGCGC Q'; #&* 47NEHH Q q?`e14any,chanceofdroppingcharacters.UseofthisportrequirestheE30hardwareoption.*RS232documentationtotallyrevised;newfunctionsTheRS232documentationhasbeentotallyrevisedsoitdoesn'tfocusontheimplementationontheXerox1100.Afewoftheminoradditionsexplainedinthenewdocumentation:ThefunctionRS232SHUTDOWNisa"cleaner"wayofdoing(CLOSEF'{RS232})ThefunctionRS232INPUTSTRINGinsertscharactersintotheinputringbuffer.ThispermitsawaytosimulatethereceptionofcharactersthroughtheactualUARTThefunctionRS232FORCEOUTPUThasanewargumentwhichspecifieswhetherthefunctionshouldreturnbeforeallthecharactersaretransmitted(thedefault).RS232DEVICEERRORFNisanewglobalvariableusedwhenhandlinghardwareerrorsTheRS232LOGINfacilityisnowdocumented.Thisprovidesawayforautomatingtheloginprocedurewhenconnectingtovarioushosts.*IncompatibleChange:GlobalvariableRS232XON\XOFF?replacedbyfunctionRS232XON\XOFF?TheinterfacetotheXON/XOFFprotocolhasbeenchanged:ratherthansettingtheglobalvariableRS232XON\XOFF?,thenewfunction(RS232XON\XOFF?ON?)shouldbeusedtosetandunsetthisstate.InfuturereleaseoftheI/Oprocessorcode,enabling/disablingXON/XOFFprocessingbytheRS232Cportwillrequireafunctionalinterfacetowhatisnowmerelyaglobalvariable.*RS232nolongerbreaksoverLOGOUT/restart(132013932007)*RS232CHATcommand~LocalEchoworksasspecified(1652)NSFileServers===============*ManyNSfilingreliabilityproblemsfixed(1152010)TheNSfilingsystemhasbeenreworked,andmademuchmorerobust.Inparticular,anumberofproblemsassociatedwithopenfilestimingouthavebeensolved.*NSfilingdirectoryoperationsautomatic(21821986)NSfileserverssupportatruehierarchicalfilesystem,wheresubdirectoriesarejustanotherkindoffile.InpreviousreleasesofInterlisp-D,usershadtoexplicitlycreatesubdirectoriesusingthefunctionNSCREATEDIRECTORY.InHarmony,subdirectoriesarecreatedautomaticallyasneeded:AcalltoOPENFILEtocreateafileinanon-existentsubdirectoryautomaticallycreatesthesubdirectory;CONNtoanon-existentsubdirectoryaskstheuserwhethertocreatethedirectory.ThefunctionNSCREATEDIRECTORYhasthusbeenremoved.Note:RequiresServicesRelease8.0.*DIRfullyenumeratesNSfilesinsubdirectories(15042440)Inpreviousreleases,DIRenumeratedadirectoryonlytothefirstlevel;itdidnotrecursivelyenumeratethecontentsofsubdirectories.InHarmony,DIRcanenumerateadirectorytoarbitrarydepth;theexactdepthisH Q g,q h h b5' (0),c.37N>B9EEb5 `j` _s _ ^-  n#&*.5^- \ \ [}q PZ !x%,c358%>CFlII[} Z% n!x&'Y),c.2D7N?HJJZ% X P tX Wu Wu V P #&$-:038%>FrV T T Sm P#&) 37N:?CJKvKvSm R'n#'Y/2D ;B9EER P7P Oe Oe N  P#&&(0+38%@GCJJN LdE#&&) 36w @DDL K]K] J J Hn!x'Y.37N>FlFlH GUGU E E D P  # ..3:AbHH@ ?E ?Eq?E?E = = < P;#&*.2D9:@DD< ;=!x.2D5=/JJ;= 9'E #)-:336wAbGCGC8 75'Z #,c.358>@FlFl75 55 4 4 3-s 1#& //3-p3-37#:3-q3-:3- 1 1 0}s  #)+30}q0}330}p0}70}q0}80} /% /% - - ,Ar ,A ** )9q )9 's Z; "O).'q'..'p'2D5'q'5' & & %1 P#&+.37N;B9CEE%1 # % .37N>!  $)+01m3;CEE q E ). ;@CCq !x"O$,c 8 GCHH  P#'Y+/7N8%=/>EE a;a   s  E$'Y 3q33p7;Vq;\ Y Y  yn )*37N9=/B9HJJ   P #&&.0>>AbHH Q P#&%.37N'NEW)andOUTFILEPnowworkforNSfileservers.(608)UsedtoreturnNIL.NSPrintServers================*CangeneratehardcopyoffullscreenonXerox8044printer(1163)UsetheHARDCOPYWfunctionortheHARDCOPYcommandintheBackgroundmenu.*MultipleconcurrenttransmissionstoNSprintersnowpermitted(2401078)MultipleconcurrentNSPRINTsorHARDCOPYWsnolongerconfuseeachother.Nomorebreakswith"notanopenNSsocket".*ROTATATIONargumenttoHARDCOPYWworksto8044printers(1616)Previously,therotationargumentwasnotsupportedwhensendingbitmapstothe8044printer.Now,thisissupportedforROTATION=amultipleof90degrees.*CanprinttoNSprinterswithA4paper:variableNSPRINT.DEFAULT.MEDIUM(2023)ThevariableNSPRINT.DEFAULT.MEDIUMcanbeusedtosetthedefaultNSprintermedium.NIL(thedefault)meanstousetheprinter'sdefault;Tmeanstousethefirstmediumreportedavailablebytheprinter;anyotherC Q g,qHhJjh b5 1 6w;>?DDb5 `;E!x(0-:/2D8@FlII` _; $(0 39B9GCGC\ [}Zd&-:1m2D8@CJJ[} Z%'; #&8%9;Z% X X Wus 'Z !x$+WuqWu,c,cWupWu/2o58{WuqWu8Wu V V T'E"O&,c 5>CGCGCT Sm;#&&+.1m8>AbDGCGCSm R';E #,c4;>CEJJR P P;#$'Y*1m8AbDIK] J J Hs  #)-:1m9CHqHCCHpHGHqHGH GU GU E d !x$*.2D5> GCJJE D yZ1dE$)-:2D6wC@ ?E ?E =s  $=q=%%=p=)-=q=-= < < ;= 1;$'Y-:2D48?B9EE;= 9Z%&. 7N:AbDD9 8 #(0-:/2D6w=58 75 75 5  #*.37N;>B9EE5 41!x#),c347N;@CC4 3-  E ,c03- 1 1 0}s "O)-:1m47N;B90}q0}CC0}p0}Fl0}q0}Fr0} /% /% -'- ,u ,u + + )r ) '' &q & %1s  $*-:2D6wq>   i d&)-:59@GCIIi  P"O$-:08%9;CEHH  a a  s  $'Y-:4GC q HH p q Y Y  P(0+.2D48%;B9DD  d;'Y,c.2D5>EGCGC Q;E#&*358@CHH Q q?`16valuemustbeaCouriervalueoftypeMEDIUM.Theformatofthistypeisalist(PAPER(KNOWN.SIZE))or(PAPER(OTHER.SIZE())).ThepapertypeisoneoftheatomsUS.LETTER,US.LEGAL,A0throughA10,ISO.B0throughISO.B10,andJIS.B0throughJIS.B10.ForEuropeanuserswhouseA4paperexclusively,itshouldbesufficienttosetNSPRINT.DEFAULT.MEDIUMto(PAPER(KNOWN.SIZE"A4")).Note:Whenusingdifferentpapersizes,itmaybenecessarytoresetthevariableDEFAULTPAGEREGION,theregiononthepageusedforprinting(measuredinmicasfromthelower-leftcorner).EthernetProtocols==================*SPP,Courier,Clearinghousereimplemented:low-levelincompatibilities(2440)AspartoftheimprovementstoNSFilingandPrinting,theunderlyingimplementationsofSPP,CourierandClearinghousehavebeensubstantiallyrewritten,inseveralplacesincompatibly.UserswhoprogramapplicationsthatuseSPP,CourierorClearinghousedirectlyshouldreadAppendixD(NSProtocolSupport).*"SPPRetransmitQueueoutoforder"errorsfixed(141664)TheSPPretransmitstrategyhasbeencompletelyrevised,sothisintermittentproblemshoulddisappear.*SETTIMEnowbroadcastsforbothPUPandNStimeservers.(1283)SETTIMEusedtojusttryforaPUPtimeserver.*Superfluous"notresponding"messagesafterNSoperationsremoved(592721)Also,thefunctionCLOSE.NSFILING.CONNECTIONShasbeenremoved.*GETPUPSTRINGappliedtoablankpupnowreturnsthenullstringinsteadoferroring(772)*1108scan"hear"theirownEthernettransmissions(182)The1108hardwareisnotcapableofreceivingtheEthernetpacketsittransmits.Inpreviousreleases,thismeantthatifan1108sentapacketaddressedtoitself,itwouldneverreceiveit.InHarmony,the1108low-levelEthernetsoftwaretakescareofthisbyfakingreceiptofsuchapacket.TheimplicationofthisisthatprogrammerswritingLisp-basedEthernetserverscannowtestthemoutbyrunninguserandservercodeonthesamemachine.*Interlispnolongerhangsonan1100running3MHzethernetmicrocodewithouta3MHzethernetcard(485)WindowSystem=============*TheATTACHEDWINDOWpackagehasbeenaddedtothestandardInterlisploadup.(1767)TheATTACHEDWINDOWlibrarypackagehasbeenaddedtothestandardInterlisp-Dwindowsystem.Manysystemtools(inspector,breakpackage,etc.)nowuseattachedwindowsformanagingsetsofwindows.Anumberofchangeshavebeenmadetotheattachedwindowfacility:H Q g,q h h b51d#&%)01m4:=/AbEHIIb5 `' %(0. 8%? JKvKv` _ PZn"O$(0-: 6w>AbHH_ ^-'"O%+2D9^- \ \ [} PE #&(0 35;> GCII[} Z% P #&) 39Z% X X Wu!x&,c.2D4=/?DHHWu V!x$*-:048 HHEq D'n *2D8% > =a P !x$) 2D91I / / .s E!x&)-:37N;AbHJJ. -A-Aq-A-Ap-A-Aq-A-A + + *s "O) 4*q*55*p*8*q*9* )9 )9 ' P%(003;B9DD' & 1&*/36w8=/AbCHH& %1Z#&(0.2D35=/@DD%1 #Z!x&*-:1m39@CGCHH# " !x%(0,c 6w=/ FlFl" !);#&'Y*-:38%;AbEHH!)  PA y y !s n!x#&*1m5=/EE! Z!xq"O"Op%q% q q   r   q  -s  "O%).1m4?EHH u E#&*08+ j q?`17New"attachedpromptwindows"provideauniformwaytoaccessasmallpromptwindowattachedtoanotherwindow.AttachedwindowscanbeclosedwithoutclosingthemainwindowBURYnowburiesallattachedwindowscorrectlyNewfunction(DETACHALLWINDOWSMAINWINDOW)detachesandclosesallwindowsattachedtoMAINWINDOW.ATTACHMENUopensmenuwindowimmediately;newargNOOPENFLGNewfunctionMAINWINDOWforgettingthemainwindowfromanattachedwindowForcompletedocumentationoftheattachedwindowfacility,seeAppendixB(AttachedWindows).*CanmoveiconswithLEFTbutton,expandwithMIDDLEbutton(1746121)ButtoningtheLEFTbuttononaniconallowsyoutomoveit.PressingtheMIDDLEbuttonexpandsit.*ChangestoWFROMDSreduceemptyttywindows(1848)WFROMDShasanewarg,DONTCREATE.IfDONTCREATEisnon-NIL,WFROMDSwillnevercreateawindow,andreturnNILifDISPLAYSTREAMdoesnothaveanassociatedwindow.TTYDISPLAYSTREAMcallsWFROMDSwithDONTCREATE=T,soitwillnotcreateawindowunnecessarily.Also,ifWFROMDSdoescreateawindow,itcallsCREATEWwithNOOPENFLG=T.Thesechangesfixmanyoftheemptyttywindowsthatusedtoappear.*Manychangestocaretbehavior(5441164)Thereisnowonlyonecaretvisibleatanyonetime(exceptforTEditwhichmaintainsitsowncaret).Thisfixesproblemswithcaretsbeingleftonthescreenandwithwindowsbeingcreatedjusttotakethecaretdown.Thecaretinthecurrentprocessisalwaysvisible;ifitishiddenbyanotherwindow,itswindowisbroughttothetop.ThefunctionCAREThasbeenchanged,andthefunctionCARETRATE,whichchangesthecaretrateofthecurrentprocesshasbeenadded:(CARETNEWCARET)Setstheshapethatblinksatthelocationofthenextoutputtothecurrentprocess.NEWCARETiseither(1)NIL-nochanges,returnsaCURSORrepresentingthecurrentcaret,(2)OFF-turnsthecaretoff,(3)aCURSORwhichgivesthenewcaretshapeor(4)T-resetsthecarettothedefaultwhichisthevalueofthevariableDEFAULTCARET.DEFAULTCARETcanbesettochangetheinitialcaretfornewprocesses.ThehotspotofNEWCARETindicateswhichpointinthenewcaretbitmapshouldbelocatedatthecurrentoutputposition.Thepreviouscaretisreturned.Note:itisnowpermissibleforthecaretbitmaptobelargerthancursorbitmapdimensions(16x16).(CARETRATEONRATEOFFRATE)Setstherateatwhichthecaretforthecurrentprocesswillflash.ThecaretwillbevisibleforONRATEmilliseconds,thennotvisibleforOFFRATEmilliseconds.IfOFFRATE=NIL,thevalueofONRATEisused.IfONRATEisT,boththe"on"and"off"timesaresettothevalueofthevariableDEFAULTCARETRATE(initially333).ThepreviousvalueofCARETRATEisreturned.Ifthecaretisoff,CARETRATEreturnNIL.*Caretflashingdoesn'tbringwindowtotopduringbuttoningorshift-selecting(681)8+  g,qHhJjh b5 b5 ` P#&)+2D58%>?DJJ` _d &_ ^- ^- \;#*1m48> \ [} [} Z%'d"O)0Z% X X Wu P# .58>B9HHWu V KV T T Sm 1;n"O -:03;Sm R R P P !x(0+ 48;CH P Oe Oe N  P #&&.3DHH@ ?EE &),c 8%B9HII;= 9 nE"O$+/57N>@EE9 8E!x"O'Y.1m58%;@CJJ8 75'Z75 5 5 4s $4q4%%4p4),c4q4,i4 3- 3- 1n!x(0*.1m5AbEE,u +; ).48%=/AbCGCGC+ )d$) (m (m 'j' %' #&&.038%>@CJJ% $eZn"O%)*-:4;=/CC$e # ;$(0+-:2D5:>B9CII# !d$'Y*,c.37NB9HH! ]n'Y 33 >B9DHJJ ] 1"O% ./39CDHH E1n% 1m58?CIJJE  d $(0-:/58%=/>@FlHH  y; %),c.2D7N9=/DD =; !x&'Y*2D7N9B9DD= Z1 $-:36} 5s ;#),c/5>@@ 5  q dd p  q   y q?`18Thecaretcodehasbeenchangedsothatitdoesn'tbringtheflashingcaret'swindowtothetopiftheuserisbuttoningorhasashiftkeydown.Thispreventsthedestinationwindow(whichhasthettyandcaretflashing)frominterferingwiththewindowoneistryingtoselecttexttocopyfrom.*Cursorresetcorrectlyaftergoingthroughscrollbar(378)Previously,slowlydraggingthemouseoutoftheleftofaTeditwindowwouldchangethecursortoaright-facingarrow(intheleftmargin),changeittothescrollingcursor(inthescrollbar),and"restore"ittotheright-facingarrowuponleavingthescollbar.ThewindowsystemnowrestoresthecursorcorrectlytothevalueofDEFAULTCURSORuponleavingawindow.*NewBackgroundmenuwhenCopy-keypressed;allowscopy-insertingaSNAP(1808)Varioussystemutilities(TEdit,DEdit,TTYIN)allowinformationtobe"copy-inserted"atthecurrentcursorpositionbyselectingitwiththe"copy"keyhelddown.(Normallytheshiftkeysarethe"copy"key,thisactioncanbechangedinthekeyactiontable.)Itisnowpossibleto"copy-insert"thebitmapofasnapintoaTeditdocument.Iftherightmousebuttonispressedinthebackgroundwiththecopykeyhelddown,amenuwiththesingleitem"SNAP"appears.Ifthisitemisselected,theuserispromptedtoselectaregion,andabitmapcontainingthebitsinthatregionofthescreenisinsertedintothecurrentttyprocess,ifthatprocessisabletoacceptimageobjects(likeTedit).ThisisimplementedbythenewvariablesBackgroundCopyMenuandBackgroundCopyMenuCommands,whichareinterpretedsimilartoBackgroundMenuandBackgroundMenuCommands.Iftherightmousebuttonispressedinthebackgroundwhenthecopykeyisdown,themenustoredinthevariableBackgroundCopyMenuisenvoked.IfthisisNIL,anewmenuiscreatedfromthemenucommandsinBackgroundCopyMenuCommands.*RESHAPEBYREPAINTFNusesnewstrategytodeterminewindowcontentsafterreshape(1613)Previously,RESHAPEBYREPAINTFN(thedefaultreshapingfunction)alwayscopiedtheoldimagetothelower-leftcornerofthenewwindow,addinganynewimagetothetopandleft.Thisproducedunintuitiveresultsinthecasewherethelowerleftcornerwasgrabbedandmovedout.Thenewbehaviorwilldisplaythepartoftheobjectinthedirectionoftheexpansion(iftheoppositesideisnotmoved)andonlydisplaywhitespacebeyondtheextentiftheextentisfullyvisible.ThischangerequiredthatafourthargumentbepassedtotheRESHAPEFNofawindow:OLDSCREENREGION,theregionthatthewindowoccupiedbeforebeingreshaped.ThisallowsRESHAPEBYREPAINTFNtodeterminewhichedgesofthewindowhavebeenmoved.Note:insomesituations,RESHAPEBYREPAINTFNmaycallawindow'sREPAINTFNasmanyasfourtimesondifferentwindowregions.*NewBackgroundButtonEventFunctions(637682)ThevariablesBACKGROUNDBUTTONEVENTFN,BACKGROUNDCURSORINFN,BACKGROUNDCURSOROUTFNandBACKGROUNDCURSORMOVEDFNprovideawayoftakingactionwhenthereiscursoractionwhenthecursorisinthebackground.Ifsettothenameofafunction,thatfunctionwillbecalled,respectively,wheneverthecursorisinthebackgroundandabuttonchanges,whenthecursormovesintothebackgroundfromawindow,whenthecursormovedoutofthebackgroundintoawindow,andwhenthecursormovesfromoneplaceinthebackgroundtoanother.TheseareanalogoustothewindowpropertiesBUTTONEVENTFN,CURSORINFN,CURSOROUTFN,andCURSORMOVEDFN. g,q h h b5 b5 ` PZ$'Y+.49=/DD` _n"O%),c47N:@DH\ [} [} Z%s #)/588Z%qZ%99Z%pZ%=/Z%qZ%=5Z% X X Wu !x$)-:/37N9;@FlFlWu V; "O -:2D58=/DJJV T yZ #'Y-:2D5>@CFlFlT Sm $(0-:1m2D5;AbDDSm R#&%).0 CFlFlH GU1dnE%).2D58>CGCGCGU E1n"O%+2D358%;CEEE D !x#&'Y+-:2D:;>AbFlFlD CMd # -:1m48DHH5 4 P2J4 3- 3- 1s #&*-:5;CHH1 0}0}q0}0}p0}0}q0}0} /% /% - #(0.7N?EE- ,u1!x *036w9@FlII,u + PZ;#$)0 :AbCGCGC+ )'1%)/38%@CC(m 'Z $'Y*038%>CHH' %1$'Y,c3!% $e $e # '!x'Y.1m7N9=/EHII# !"O(0,c/5=/CHH! ]Z1dE-:/8%=/B9DHH ] ;#&* 4DHH 'd"O&)-:2D4=/CI U U s  ;#&*q++p.1q1   M P*=/=/M n3:CFlFl n %)+2D6w9?DHJJ = P n#&&*.38=/@EHH=  P  !x&)2D48%> GCGC  +. 9 : 5 5 q?`j19*NewBURYWbehavior--fasteralgorithm(741)BURYWhasbeenchangedtotakedownthewindowsoverlappingthewindowtobeburied,thenreopeningthemintherightorder.*1108backgroundborderpreservedoverLOGOUT/restart(8762277106)Thebackgoundborder(aroundthescreen)onthe1108canbechangedwiththefunctionCHANGEBACKGROUNDBORDER.DuringLOGOUT,theborderischangedbacktothedefaultshade.Now,theborderisrestoredtoitsnewpatternafterLOGOUT/restartonan1108.*Fixed:Caretdidn'tflashon1108afterLOGOUT/restart(511)Sometimes,thecaretwouldnotflashafterdoingLOGOUTandrestartingInterlisponan1108.Thiscouldbefixedbytyping(CARET),soitwasnotamajorproblem,butitwasannoying.*IfMENUiscalledwithRELEASECONTROLFLG=T,themenuwindowisbroughttothetop.(241)Previously,a"released"menucouldbehiddenbyotherwindows.Now,thereleasedmenuwillstayvisibleuntilitisclosedoranitemisselected.*Movinganoff-screenwindowontothescreenredisplaysitscontents(1945)*DRAWCURVEworkscorrectlyinINVERTmodeifBRUSH=1(1978)DRAWCURVE,DRAWCIRCLE,andDRAWELLIPSEtothedisplaywillworkifthebrushargumentis1,andthe"operation"ofthedisplaystreamisINVERT.Forbrusheslargerthan1,thesefunctionswillstillusetheERASEoperation.DRAWCURVEtootherimagestreamsgenerallyonlysupportsthePAINToperation.*Newwindowproperty:NOSCROLLBARS(1053)Ifawindow'sNOSCROLLBARSpropertyisnon-NIL,scrollbarswillnotbebroughtupforthewindow,evenifithasbothEXTENTandSCROLLFNproperties.ThisallowsthecreationofwindowsthatcanscrollONLYunderprogramcontrol.*Newwindowproperty:WINDOWTITLESHADEsetsshadeusedinwindowtitlebar.(105411481354)Ifawindow'sWINDOWTITLESHADEpropertyisnon-NIL,itshouldbeatexturewhichisusedasthe"backgoundtexture"forthetitlebaronthetopofthewindow.IfthispropertyisNIL,thenthevalueofthevariableWINDOWTITLESHADEisused,initiallyblack.Notethatblackisalwaysusedasthebackgroundofthetitleprintedinthetitlebar,sothattheletterscanberead--theremainingspaceispaintedwiththe"titleshade".*TexturescanbeBITMAPsupto16by16bits(449)TEXTUREP,BITBLT,DSPTEXTURE,DSPFILL,etc.acceptbitmapsupto16bitswideby16bitshighastextures.Whenaregionisbeingfilledwithabitmaptexture,thetextureistreatedasifitwere16bitswide(ifless,therestisfilledwithwhitespace).*NewfunctionsINVERTW,FLASHWINDOW(1153)(INVERTWWINSHADE)InvertsthewindowWIN,byXOR-ingitwiththeshadeSHADE.IfSHADE=NIL,thedefaultistoXORwiththeshadeBLACK,whichsimplyinvertsthebits.(FLASHWINDOWWIN?NFLASHINTERVALSHADE) 5 g,qHhJjh b5s #+b5qb5,c,cb5pb5/b5qb5/b5 ` ` _ZE#(0+2D A[}q[}A[} Z% Z% X P"O%,c.2D6w9EIIWu V ynE!x$*-:47N:>DIIV T T Sm Sm Rs n!x#(0-: 8RqR99RpR=/RqR=5R P P Oe 1 #).38@CFlIIN L ;!x) L K] K] Js 'Z038%>@GCIIJ H PHqHHpHHqHH GU GU E  #&(0*038%?@DHHE D$),c.47N9>@H D CM CM As  E#&'Y*0 9=/CAqADDApAHAqAHA @ @ ?Es !x#).06w?Eq?E7N7N?Ep?E;V?Eq?E;\?E = = < 1 E *-:07N;?B9EJJ< ;=E 'Y)-: 8;B9CFlFl;= 9E"O*.37N:? H 9 8 8 75Z%.2D9=/B9B975 5 `5 4 4 3-s E 'Y3-q3-(0(03-p3-,83-q3-,>3- 1 1 0} y' (0*2D8%@B9HH% $e; $,c/38%;>AbDGCJJ$e # ;"O&*.358@@# !;(0..37NDHH! ] y #*-:059C   Us 1"O$'Y),c/UqU00UpU3UqU3U   Z #&*.4;>@CGCGC M'1d&'Y+-:35:@DFlFlM d!x#*-:/2D6w8=/AbDII  P#&)  E E s d (0q))p-q-   ==  'Y).1m6wAbCIISm R RRRRZn#&#&.1m39GCHJJR P PZ;!x'Y+.7N7NPP;PP=/=/PPB9PPCGCGCP OeOeOe1dE$'Y.0 9>FlHHOe N N L L K] ydK]K]K]K]"O$,c.1m37N>B9HJJK] JZE#&&)1m8%:?CEGCGCJ HjH GU GU E y$(0034=/@FlFlE D; ).36w;>CIID CM yZn!x#'Y.2D8%:AhCM A A @ y$(0036w8%@DD@ ?E dE%)-:03;>?EII?E = y= < < ;= y#&'Y*.1m8 B9EHH;= 9999 8 8 75s %*06w=/B975q75CC75p75Fl75q75Fr75 5 5 4 44;4444#&44) 4 3- E%))3-3--:06w883-3- GCII1 0}1E (0.058%;@DGCGC0} /% ; "O$),c1m37N> II/% -'E!x--"O#&#&--0--1m8%> - ,u ,u +s Zn#&)/2D+q+33+p+7#+q+7)+ ) ) (m y"O$&-:08%?CC(m ';' % % $es ZE#) 2D5=/B9H$eq$eII$e # p P# q# V# ! ! ] ;#*-: 6w8:@ ]   s "O%*1m6wq7N7Np:q: U U  n# -:2D5 >CII  y#&#,c/38;>FlFl MZAM   s  #'Y/3q33p7Nq7T E E  A   =d $'Y+.3:=/EE= !x(0 39 5s ; "O(0 1m8% 5q 588 5p 5)nowgivesanerrorfornon-bitmaptextures(1315)*IfCHANGEOFFSETFLGmenupropertyisnon-NIL,popupmenuscomeupincorrectposition(1641)Previously,theywouldcomeuponepixelaboveandtotherightofwheretheywerelasttime(relativetothecursor).*Scrollingworkscorrectlyafterchangingwindowbordersize(1763)*IfLEFTbuttondown,GETREGIONcallsNEWREGIONFNwithMOVINGPOINT=NIL(1578)Previously,ifGETREGIONwascalledwhenoneofthemousebuttonsisalreadydown(LEFT),thefirstcalltoNEWREGIONFNdidnothaveMOVINGPOINT=NIL*EXPANDWnolongerfailsifcalledonexpandedwindow(1588)*(DSPCREATE)signals"ILLEGALARG"error,insteadofgoingintoRAID(302)*DRAWCURVEnolongergeneratesanerrorifdashingisnon-NIL(1614)*ADDMENU/DELETEMENUdonotmodifythemenuforsubsequentuse(522)Tedit=====*NewTeditpageformattingfacilitiesTeditnowincludesfacilitiesforspecifyingthepagelayouttobeusedwhenadocumentisformattedandprinted.Theusercannowcontrolpageformattingsuchaspagenumbers,headings,multiplecolumns,etc.*TedithasseparatemenusforParalooks,Charlooks,andPageLooks(581)Thissolvesanumberofproblems.Inparticular,itisnolongernecessarytoscrollasinglelongmenuupanddowntosetandapplycharacterandparagraphlooks.*Control-EcanbeusedtoabortGet,Put,etc.commands(642)AfterselectingtheTeditcommandsGet,Put,Include,etc.fromthetitlemenu,theuserisaskedtotypeinafilename.Theoperationcanbeabortedatthistimesimplybytypingcontrol-E.*CanshrinkanunsavedTeditdocument(1535) g,qHhJjh b5 P  #) 36w9B9GC\q\HH\ [}p P[}q[} V[} Z% Z% X E!x&+.7N>CMpCMBCMqCMBCM A A @s 'Z;E%* 48 CDGC@q@HH@ ?Ep ?Eq?E?E = = < "O(0,c/2D5:AbCJJ< ;=';E!x# .1m48 CDGI;= 9 9 8s Z"O(0*2D7N8q88%8%8p8<-8q8<38 75 75 5s  $,c06w=/?DHH5 4 P4q4''4p44q44 3- 3- 1s n$'Y,c.58%>1q1>>1p1B1q1B1 0} 0} /%s !x'Y*.2D ;>/%q/%>>/%p/%B9/%q/%B?/% - - ,u ,u *r* )K)K 's ' & ; !x )&q&)& %1 %1 #Z #&& /37N=/?B9FlJJ# " 1!x))-:1m48%>CC" !) 1d%.5=/@!)   ys  #(0.2D8%;?CyqyDDypyHyqyH y ! ! '&'Y) 36w8;AbII q yZ"O$(0,c.2D5:CFlFlq Zj   is d %).2D8iqi99ipi=/iqi=5i   d'Y+/7N;?CHH aZ $'Y)-:2D36w>B9DDa  1d!x#) 2J   Ys d#&)YqY**YpY.YqY.Y  # q?`=22Previously,Teditcausedanerror,whenittriedtoprintthefilenameofthedocumentintheicon.Now,itdetectsthissituationandcreatesanemptyicon.*Teditmorecarefulabouterasingcaretimagesonthescreen(933)*EOFPworkscorrectlyfortextstreams(1582)*Tedithardcopyuses{DSK}tostorelargefiles,solargerfilescanbeprinted(870)*Teditusesmorecompactrepresentationforbitmaps(1801)TheformatofbitmapsinTeditfileshasbeenchanged.Thisnewformatshouldtakeupabouthalfthespace,anditcanberead/writtenmanytimesasfastoftheoldformat.Itdoesnotdoanycompression.Theoldbitmap-readingfunctionshavenotbeenremoved,sooldbitmapswillbeconvertedastheyareencountered.Dedit=====*"BREAK"or"()"oftop-levelexpressionnolongercausesstackoverflow(850959)*ProcessswitchfromDEDITtoTEDITwon'tcauseittoignoretabs(636)*DEdit'sinternaldatastructuresrevisedtotake1/3lessspace(678)Thisshouldimproveswappingperformanceoverextendedprogrammingsessions.*(DF)createsblankfunctiontemplate.(678739961)IfDFiscalledonanamewithnofunctiondefinition,theuserispromptedwith"NoFNSdefnfor.Doyouwishtoeditadummydefn?".Iftheuserconfirms(byclickingleft-button),a"blank"definitionisdisplayedintheDeditwindow.Ifanychangesaremade,onexitfromtheeditor,thedefinitionwillbeinstalledasthename'sfunctiondefinition.ExitingtheeditorwiththeSTOPcommandwillpreventanychangestothefunctiondefinition.IfDFiscalledwithasecondargofNEW,asin(DFNEW),ablankdefinitionwillbeeditedwhetherthefunctionalreadyhasadefinitionornot.*Insertinghugepieceofcodenolongercausesbadscreenextent.(400)Previously,afterinsertingahugepieceofcodeintoafunction,Deditcouldlosetrackofthesizeofthefunction,sotheusercouldnotscrollupenoughtoseethelastpartoftheinsertedcode.*DEDITREPAINTFNredisplaysselectionhighlighting(254)*CommentsprintcorrectlywheninsertedorSWITCHed(431)*Deletingfirstdotted-pairfromlistofpairsreprintscorrectly(816)*ButtoningintheDeditEditBufferswitchesthecurrentprocess.(188)Previously,youhadtobuttoninthemainDeditwindow.*DeditmenuonlycomestothetopwhenDeditistheTTYprocess.(678)*"Shouldn'tHappen!DEDITDSPStangled"errorsreduced(849995)  g,q h h b5 !x'Y+.35:>B9FlHHb5 ` Pd $'Y.2D:>DGCGC` _7_ ^- ^- \s  'Y,c2D48%=/\q\>>\p\Ab\q\Ah\ [} [} Z%s E $*Z%qZ%++Z%pZ%/Z%qZ%/Z% X X Wus ;n!x#).36wCEEL K]Zn &K] J J H H G!rG! EE Dq D Bs Z# -:/5;@GCBqBHHB Aip PAiqAiAi @ @ >rs Z;n!x#).358%>Ab>rq>rB9B9>rp>rE>rq>rE>r < < ;{s Z 'Y.048%CIJJ2 0 y& 2D3: CFlFl0 /cZ;E#$'Y*1m49CHII( 'S ;n$+.6w=/@B9B9'S % 1% $ $ #Ks ;E#&,c2D5;Ab#Kq#KB9B9#Kp#KE#Kq#KE#K ! ! !x#&'Y,c.37N8AbFlFl C1;"O$(0036w:?CHHC  yZ;#&)1m5   ;s  "O* 4;q;55;p;8;q;9;   s 1; $,c.5q6w6wp9q9 3 3 s 1; "O&*-:2D9AbqB9B9pEqE   +s #&)03:Ab+q+B9B9+p+E+q+E+   { dE#&%)-:2D8+{ # # s  #'Y+036w9@ q AbAb p D q D s s s #+1m7N q 8%8% p ;>1 q >7  q?`23Previously,thiscouldhappenifyoucalledtheinspectorfromDedit(byEVAL-ing(INSPECT...)),andcalledDeditfromtheinspectorwindow.ThisparticularsymptomhasbeencuredinthecurrentDedit.However,exitingDEditprocessesoutofordercanstillcausethiserror.*DeditsupportstheCOPYkeyonthe1108keyboard(228)ShiftselectsupportsboththeCOPYandtherightshiftkeys.*EditOpsmenufollowswhenthemainDeditwindowismoved(359)*Editbufferdoesn'tattachtoincorrectwindow(745)Previously,after"TTYInForm"ofatom,theDeditTypeinwindowforDEDITsometimeswouldattachitselftothebottomofrandomwindowsonthescreen.*Deditdoesn'treprintfunctiononexit.(678)Previously,insomesituationsDeditwouldreprinttheentirefunctionafterexit,asasideeffectofchangingtheeditdatecomment.*!UNDOcommandisnowundoable(366)*Doubledeletesgivebettererrormessage(1877)Previously,ifonedeletedadeletedselection(inaseriousofcommandswiththecontrolkeydown),Deditwouldbreakwiththeerror"Shouldnt:NoMapEntry".Now,Deditdetectsthissituation,printsouttheerrormessage"Cant:Alreadydeleted!",anddoesn'tcauseabreak.*CAPcommandcapitalizesfirstletterofatom(945)ItusedtodothesameasRAISE,capitalizingallthelettersoftheitemselected.*"?="commandinDeditworksforfnsofnoarguments(15)Usedtogive"xxxnotafunction"errormessage.BreakPackage=============*Editorcalledfromdisplaybreakpackageinbrokenprocess(1621263)Inspectingafunctioninthedisplayframewindownowcallstheeditorinthebrokenprocess.Thusvariablesevaluatedintheeditorwillbeinthebrokenprocess.*CannowREVERTtoanyframeonthestack.(5125832074201349)Previously,therewererestrictionsonrevertingtointernal"DUMMY"frames,becauseitcouldcausethesystemtocrashorfreeze.Now,REVERThasbeenfixedsothatitissafetoreverttoanyframeonthestack.*Breakwindowsarenotopenedon"STORAGEFULL"errors.(1309)Thisissimilartothetreatmentof"ARRAYSFULL"errors.Ineithercase,allocatingstorageforabreakwindowwouldcausetheerrortooccurrepeatedly.*Typingcontrol-Binabreakwindownolongergives"BreakwithinBreak"error(520)>7  g,qHhJjh b5 b5 ` ;E#&%).2D:>CGCGC` _"O(0-:1m4=/CDHH_ ^- 1E!x&),c389AbHH^- \dE"O%*/39\ [} [} Z%s ;#&%)-:3Z%qZ%44Z%pZ%8%Z%qZ%8+Z% X X Wun #(0+.38=5Wu V V Ts ZE!x$).36w:TqT;;TpT>TqT>T Sm Sm Rs n"O$-:2DRqR33RpR6wRqR6}R P P Oe #&+.39?CHHOe N ZdE#&%).1m7N>@CIN L L K]s d%(0,cK]qK]-:-:K]pK]0K]qK]0K] J J H  #).48%>EJJH GU1dE'Y*.39GU E E Ds dE#DqD$$DpD(0DqD(6D CM CM As ;n"O'Y-:AqA..ApA2AqA2A @ @ ?E  "O)1m46w=/?GCGC?E =';!x&+048%=/ FlHH= < 1;E#(0 1m7N:>CII< ;= #&).05;= 9 9 8s  $*-:08q81m1m8p848q848 75 75 5 y1E% 037N>@CHH5 44 3- 3- 1s #&&),c.6w1q17N7N1p191q1:1 0} 0} /%'n&+2J/% - - ,u ,u *r* )K )K 'q ' &Bs d"O'Y.06wCHHr  1E#).37NCC  7 j j s n#&)+1m6wb5qb5>>b5pb5B9b5qb5B?b5 ` ` _ $(0/37N>@EHH_ ^- E$+.2D48>DGCGC^- \Z;!x"O$(0,c36w>>AbAb\ [};"O*-:58%>B9CEHH[} Z%;%)+/2D8CEEX Wud#&%),c36w7N9=/B9DDWu V; #'Y+.47TV T T Sms n#SmqSm$$SmpSm'SmqSm'Sm R R P y!x'Y*058% CGCGCP Oe$)/7N;>CFlFlOe N dn &).3 =/?B9JJN L !~L K] K] Js d"O'Y.58%>CJqJDDJpJHJqJH J H H GUZdE $*. 7N>@CFlHHGU E P;#'Y*.459?CHHE D D CM CM As 1!x).358;?AqA@@ApACAqACA @ @ ?E' (0*.6w;>FlFl?E =1n#)./39?GCGC= <'d!x$(0/56w>AbFlHH< ;=E#&(0/37ND1Iq1IEE1Ip1IHE1Iq1IHK1I / / . d#&).46w9?CFlJJ. -A yZdn #&&+,c03:>DHH-A + y"O%(0+2D8%:AbDHH+ ** )9 )9 's # . 9'q'::'p'>'q'> ' & & %1 P1 'Y-:03:=/DGCJJ%1 #'d!x$*036w;>AbHHH# " P E!x$,c.1m4:?HJJ" !)' ,c03;>@CJJ!) ;E$'Y*1m7T y y !s 1"O&)1m9>!q!??!p!C!q!C!   q'$+ 47NB9GCIIq "O$&)    is  #&%,c38%>iqi>>ipiB9iqiB?i     -r-  %q % s d'Y 05:B9EII u uq u up u1 uq u7 u   q?`25ThisallowstheusertoabortthecalltoChatbytypingcontrol-EwhilespecifyingtheChatwindowregion.*ReshapingChatwindowdoesnotchangeterminaltype(844)Previously,reshapingaChatwindowcausedChattoreasserttheterminaltypespecifiedwhentheconnectionwasfirstopened.Iftheuserinthemeantimehadtoldtheremotehostthattheterminaltypewasdifferent,thenthiswouldsetitback.*ChatgrabsTTYassoonasitstartstoreconnect(611)Previously,the"reconnect"menubuttondidn'tswitchthettytothechatprocessuntiltheconnectionwasreestablished.*ChatignoresthepaddingcharacterDEL(789)*Chatdisplaynolongeroffby1characterafterEMACSinsertoperation(34916291261)NewerversionsofEMACSperformcharacterinsertionbyanunusualsequencethatChatwasnotemulatingcorrectly.*ChatinEMACSmodeupdatescursorpositionpromptly(1256)Previouslytherewasabugthatdeferredthecursorupdatefollowingapositioningcommandwiththemouseuntilthenexttype-inoccurred.*ChatdisplaystheEMACSmodestateinthewindowtitle(1221)WhenChatEMACS-modeison,"EMACSON"isprintedintheChatwindowtitle.TTYIN=====*Incompatiblechange:EDITPREFIXCHARdefaultisNIL(51)ThevariableEDITPREFIXCHARisnowbydefaultNIL,meaningthereisinitiallynoTTYINprefixmeta-characterdefined.Thischangewasmadetoavoidconfusinguserswhodon'tuseTTYINeditingcommands.IfyouwanttobeabletoissueeditingcommandstoTTYIN,youshouldeithercall(TTYINMETAT)toenablebottom-blank(STOPon1108's)asatruemetakey,orsetEDITPREFIXCHARtothecharactercodeofyourpreferredmetaprefix(itusedtobe193,fortop-blank).*TTYINisenabledinbreakwindowscreatedbycontrol-Bduringtype-in(1929139991)*FIXcommandwithTTYINprettyprintshistoryevents(28)Theprogrammer'sassistantcommandFIXcallsTTYINtoeditthetextofthehistoryevent.TTYINnowprettyprintstheeventforeaseofediting.*Typingcontrol-EunderTTYINwon'tcause"NON-NUMERICARG"error(16)*Typeinlinesstartingwith";"nolongererased(1512)Previously,TTYINinterpretedalinestartingwiththecharacter";"asacomment,andwouldignoreit,erasingthelinefromthescreen.Although";"isdefinedonLISPXHISTORYMACROSasano-opanyway,TTYIN'sbehaviorwasinappropriateincaseswhereonewasnottypingtotheLispexec.Theoldbehaviorisstillavailableforthosedesiringit:ifthefirstcharacteronalineoftypeinisequaltothevariableTTYINCOMMENTCHAR(a  g,qHhJjh b5'd#&&*-:1m39B9GCGCb5 ` 1 &` _ _ ^-s ;"O%+36w^-q^-7N7N^-p^-:^-q^-:^- \ \ [} n"O(0.2D4@CHHR P "O% 1sP Oe Oe N s  )+N qN ,c,cN pN /N qN /N L L K]s "O$&.38>FlK]qK]GCGCK]pK]JJK] J PJqJJ H H GU$-:58%:AbHHGU E'Z!x )E D D CMs Zd"O(0/6wCMqCM7N7NCMpCM;VCMqCM;\CM A A @ 1;E $,c/5;CEE@ ?E "O'Y,c/3:B??E = = CH9 8 8 75 75 5r5 33 2q 2 0ts E )0350tq0t6w6w0tp0t9'0tq0t9-0t / / - P !x#'Y)04;@CC- ,lZ ,c348>B9FlHH,l +dn$(0-:3B9B9) (d 1; ).07N9;?CHJJ(d '  P n(0,c.3;?EHH' %'1d $% $\ $\ #s 1n!x(0.1m9?E#q#FlFl#p#JtJt# ! PT!q!Z! T T s  )06w6wq7N7Np9q:   L P ; 'Y*/47N;>CEHHL dn *.36w:=/DD   Ds #). 8=/AbDqDB9B9DpDDDqDDD   s "O%(0.3q33p7q8 < <   #&$)048%@CFlHH #&)-:1m58?@HH 4 P)+-:2D8?GCJJ4  ;E"O%),c2D48%AbFlFl , ZE#&%*-:08%FlHH b q?`26charactercodeorNIL),thenthelineiserased,andnoinputfunctionwillseeit.TTYINCOMMENTCHARisinitiallyNIL.Stack&Interpreter===================*KnownBug:Mustdo(HARDRESET)afterstackoverflow,orelsesecondstackoverflowgivesfatalerror(1927)Ifastackoverflowoccurs,ratherthantype"^"toescapefromthebreak,doahardreset.Otherwise,theNEXTstackoverflowmaycauseanunrecoverableerror.Eitherevaluate(HARDRESET)fromthebreakwindow,ortypecontrol-DfromTeleraid.*Newfunction:EVALHOOK(11681769777)(EVALHOOKFORMEVALHOOKFN)EVALHOOKevaluatestheexpressionFORM,andreturnsitsvalue.WhileevaluatingFORM,thefunctionEVALbehavesinaspecialway.WheneveralistotherthanFORMitselfistobeevaluated,whetherimplicitlyorviaanexplicitcalltoEVAL,EVALHOOKFNisinvoked(itshouldbeafunction),withtheformtobeevaluatedasitsargument.EVALHOOKFNisthenresponsibleforevaluatingtheform;whateverisreturnedisassumedtobetheresultofevaluatingtheform.DuringtheexecutionofEVALHOOKFN,thisspecialevaluationisturnedoff.(NotethatEVALHOOKdoesnoteffecttheevaluationsofvariables,onlyoflists).HereisanexampleofasimpletracingroutinethatusestheEVALHOOKfeature:_(DEFINEQ(PRINTHOOK(FORM)(printoutT"eval:"FORMT)(EVALHOOKFORM(FUNCTIONPRINTHOOK](PRINTHOOK)_(EVALHOOK'(LIST(CONS12)(CONS34))'PRINTHOOK)eval:(CONS12)eval:(CONS34)((1.2)(3.4))*Internalarithmeticfunctionschangedtohavethe"right"framename(18071886)Incompiledcode,acalltoaprimitivearithmeticfunction,suchasPLUS,turnsintoaLispopcode,whichnormallyexecutesentirelyinmicrocode.Inexceptionalcases,however,themicrocodeexecutesacallonaninternalarithmeticfunction,suchas\SLOWPLUS2.Previously,ifanerroroccurredinsuchafunction,thebacktracecontainedtheinternalfunctionname,ratherthanthenameyouwouldexpectfromlookingatthesourcecode.Thishasbeenchangedsothattheframenamesofinternalarithmeticfunctionsaretheappropriateuser-levelfunctions.*EVALVhasnewargumentRELFLG:release-stack-ptrflag(191)Mostofthestackevaluationfunctions(ENVEVAL,etc.)haveaflagargumentwhichdetermineswhetherthestackpointerwillbeautomaticallyreleased.Tobeconsistent,EVALVnowhasaRELFLGargument,eventhoughitdoesn'tstrictlyneedit(EVALVisguaranteedtoreturn,unliketheotherfunctions).*(APPLY*)nowgives"UNDEFINEDFUNCTION:NIL"error(1678)HistoryandExec================H g,q h h b5Z"O%),c36w8>EIIb5 ` P"O*.` _ _ ^- ^- \r  \ [ [ Yq Y XAs  %*/8%:>DIIXA VVqV VpV$VqV$V U U T9 y'1!x'Y+/35;?CHHT9 R y' d; !x$).58>@@R Q n"O) 38%;@GCIIQ P1'"UP1 N N Ms dMqMMpM"&W)MqM) M L) L) JZ J IyE &+.58>?DDIy H! 1;#&'Y.02D8=/>EGCGCH! F'1d!x#&) 2D8 B9DHJJF Eq;E &)/38;=/ FlJJEq D P!x$-:. 7N9> HHD B P &)039B9HJJB Ai 1n"O%.0 :>EEAi @ 1 %)1m58>B9B9@ >  #&,i> =a =a < '1n#*1m59=/DD< :: 9Y 9Y 8Z !x!~8 6P $'E'K6 5QP# ,U5Q 3 73 2 1"O'Y),c 52 1Ij1I /j/ . PA. -A -A +s 1 n$+.2D5 GCHJJ& %1 !x$-:46w:=/?GCGC%1 # 1"O ,c-: 7N9B9II  ;"O'Y.2D4 @HII i y !x$&,c48>AbHHi ; ),c38(FOOBAR),(NLAMBDA.ARGS'(FOO(QUOTEBAR)))->(FOO(QUOTEBAR)).*Errorcorrectionoffunctionnamedoesn'tloseargs(337)Previously,ifonehadanNLAMBDAnospreadfunctionFOO,onecouldtype"FOOALPHA"totheexecandFOOwouldberun,withALPHAasitsargument.Ifhowever,onemistypedFOO(asfoo,FOOX,etc.)andthespellingcorrectorsucessfullycorrectedittoFOO,theexecdidnotpasstheargumentsalong.Thishasbeenfixed.*PRINTLEVELUNDO-ablefromtoplevelexec(141)TypingPRINTLEVELtothetop-levelexecwillsubstituteacalltotheundoablefunction/PRINTLEVEL.FilePackage============*IncompatibleChange:Source/DCOMfilelocationalgorithmchanged(1006715091666)EachInterlispsourceandcompiledcodefilecontainsthefullfilenameofthefile,includingthehostanddirectorynames,inaFILECREATEDexpression.Thecompiledcodefilealsocontainsthefullfilenameofthesourcefileitwascreatedfrom.Previously,thefilepackageusedthisinformationtolocatetheappropriatesourcefilewhen"remaking"orrecompilingafile.Thishasturnedouttobeabadfeatureindistributedenvironments,whereusersfrequentlymovefilesfromoneplacetoanother,orwherefilesarestoredonremovablemedia.Forexample,supposeyouMAKEFILEtoafloppy,andthencopythefiletoafileserver.Ifyouloadandeditthefilefromafileserver,andtrytodoMAKEFILE,itwillbreak,tryingtolocatethesourcefileonafloppy,whichisprobablynolongerloaded.IntheHarmonyrelease,thefilepackagesearchesforthesourcefileontheconnecteddirectory,andonthedirectorysearchpath(onthevariableDIRECTORIES).Ifitisnotfound,thehost/directoryinformationfromtheFILECREATEDexpressionbeused.Warning:OnesituationwherethenewalgorithmdoesthewrongthingisifyouexplicitlyLOADFROMafilethatisnotonyourdirectorysearchpath.FutureMAKEFILEsandCLEANUPswillsearchtheconnecteddirectoryandDIRECTORIEStofindthesourcefile,ratherthanusingthefilethattheLOADFROMwasdonefrom.Evenifthecorrectfileisonthedirectorysearchpath,youcouldstillcreateabadfileifthereisanotherversionofthefileinanearlierdirectoryonthesearchpath.Ingeneral,youshouldeitherexplicitlyspecifytheSOURCEFILEargumenttoMAKEFILEtotellit / frHhqJjh b5 b5 `s d(0. 7N:B9B9` _ _q__p__q__ ^- ^- \ #&&.1m6w>@GCHH\ [} P#'Y,c/7N;AbEHH[} Z%d;E#&&.3:>CHHZ% X $)-:3  GCHJJSm R P1E!x%)+.38>AbIIR PE& 1m6w ?CGCGCP OeZd )) 39 EEOe N E!x& 2D7N=/CEIIN LL K] K] Js  n#(0.36wJqJ7N7NJpJ:JqJ:J H H GU E&.59=/B9FlJJGU EZE %(0,c058%;CDGCGCE Dn#&'Y 037N>GCGCD CM n!x%)-:038%;CIJJCM A'A @ @ ?Es E!x$)-:?Eq?E..?Ep?E1m?Eq?E1s?E = = < 'Y+/ 8:>AbDD< ;= #,;= 9 9 8 8 7r7 5c 5c 3q 3 2s E 'Y+3;Ab2q2B9B92p2EHEJJ2 1I P1Iq1I V1I / / .'n'Y+/7N:>FlHH. -A PZ"O%.36w8% B9B9-A + ;#(0,c37N;?CFlII+ * %& 038%>CGCGC* )9 n )/38% AbCC)9 ' ' & & %1'dE!x$+. 8% CHH%1 # ;n!x%).08%:?DHH# "Z !x$,c36w>@B9HH" !) PE!x%,c-:/37N:>B9FlJJ!)  E"O*-:1m7N=/?EHH y;#&.06w<^y ! !  y!x%,c37N:@DGCJJ qZ !x$-:37N:>EEq  !x'Y* 7N AbEHH   E$ i i Z#&&)2D6w9>CFlHH  P #(0*.04=/CHHH a;#&'Y-:08AbDDa  #).38%;?CGCGC #&%)/36w8AbGCGC   #& ,c36w>@DGCGC  b q?`28wheretogettheoldsource,orconnecttothedirectorywherethecorrectsourcefileis.*HPRINT,UGLYVARS,HORRIBLEVARSdon'tredeclaredatatypes(2251)ThefilepackagecommandsUGLYVARSandHORRIBLEVARScallthefunctionHPRINTtoprintoutloadablerepresentationsofarbitrarydatastructures.IfadatastructurecontainsaninstanceofanInterlispdatatype,thedatatypedeclarationisalsoprintedontothefile.Thishascausesproblemswhenasystemdatatypedeclarationdumpedintoafiledoesn'tmatchthecurrentdeclaration.RedefiningasystemdatatypewillalmostdefinitelycrashInterlisp.TheInterlispsystemdatatypesdonotchangeveryoften,butthereisalwaysapossibilitywhenloadinginoldfilescreatedunderanoldInterlisprelease.Topreventaccidentalsystemcrashes,HREADhasbeenchangedsothatloadinganHPRINTedstructurewillNOTredefinedatatypes.Instead,itwillcauseanerror"attempttoreadDATATYPEwithdifferentfieldspecificationthancurrentlydefined".Continuingfromthiserrorwillredefinethedatatype.*Incompatiblechange:UserINITfilesarenowloadednormally,andappearonFILELST(6381221822)Previously,theuserinitfileswereSYSLOAD-ed,andtheirfilecomswerenotsaved.Thiswasinconvenientwhenpeoplewantedtomodifytheirinitfiles.Now,theyareloadedwithLDFLG=NIL,sotheirfilecomsaresaved,andtheyappearonFILELST.Notethatthesystem"site"initfileisstillloadedwithSYSLOAD.ThefunctionGREEThasbeenchangedasfollows:Thesystemgreetfile(GREETFILENAMET)isloadedwiththeSYSLOADparameter.Theusergreetfile(GREETFILENAME)isloadedwithnormalfilepackagesettings,butalsoundererrorsetprotectionandwithPRETTYHEADERsettoNILtosuppressthe"FILECREATED"message.Note:Usersshouldtrytomakesurethattheirinitfileis"undoable".Iftheyusethefilepackagecommand"P"toputexpressionsonthefiletobeevaluated,theyshouldusethe"undoable"version,e.g./SETSYNTAXratherthanSETSYNTAX,etc.Thisissoanotherusercancomeup,doa(GREET)andhavethefirstuser'sinitializationundone.*MAKEFILE"remake"optionaskswhethertoloadDONTCOPYexpressions(1881832312)WhenaMAKEFILEisperformedwiththe"remake"optiontocopydefinitionsfromanoldfile,MAKEFILEcheckstoseeifallofthenecessarydefinitionshadbeenloadedfromtheoldfile.Inthepast,ifyouhadonlyloadedthecompiledversionofafilewith(DECLARE:..DONTCOPY..)expressions,MAKEFILEwouldautomaticallyandquietlyloadthedefinitionsfromtheoldfile.Insomecircumstancesthiscouldbedisastrous--iftheuserhadcircumventedthefilepackageinsomeway,andloadingtheolddefinitionsoverwrotenewones.MAKEFILEnowasksbeforeperformingtheseoperations,e.g."OnlythecompiledversionofFOOwasloaded,doyouwanttoLOADVARSthe(DECLARE:..DONTCOPY..)expressionsfrom{DSK}FOO.;3?"*HASDEFwithSOURCE=?callsWHEREISdatabasepackageifloaded(735)Accordingtothedocumentation,passingSOURCE=?tothefilepackagetypefunctionsshouldtry(amongotheroptions)callingthefunctionWHEREISwithFILES=T,whichwillsearchtheWHEREIShashfiledatabaseiftheWHEREISpackageisloaded.InthecaseofHASDEFcalledwithSOURCE=?,WHEREISwasGC g,q h h b5;"O$+.1m9>B9HHb5 `` _ _ ^-s Z %*3:^-q^-;;^-p^-?^-q^-?^- \ \ [} P;'Y* 59=/DJJ[} Z% yn),c48 CCFlHHZ% X' (0*-:5>AbHHX Wu !x%)-@Wu V V T'd#&$*2D FlHHR P P1dE %(0./ 9>DGCJJP OeE )/Oe N N L y1 n"O).2D6w=/?CJJL K] yn #+ 45=/?CHHK] J y'Y+38 DHHJ HZ $)-:2D6w>AbHH GU GU Es E!x%*.1m7N?CHHE D yZDqD11DpD=DqDD CM CM A d$) 36w;CGCJJA @; #&'Y-:35;@DJKvKv@ ?E'Z )+08%;AbDHH?E =Z#&&,c2D6w:=/B9HH= <'< ;= ;= 9 PE!x(0*1s9 8 8 75 P1;n )+.38%;B9B975 5 1d $ 1m ;>CHH5 4#&&*/7N @CHH4 3- ; (0+08%>3- 1 1 0} $)-:2D6w:=/ GCHJJ0} /%'&),c/ 9EHH,u +'n ).+ ) ) (ms 1 $+.2D9 C(mq(mCC(mp(mGII(m ' P'q' V' % % $e'd"O&)1m7N9> HH$e # ' &),c.2D48%@ JJ# ! Pd"O'Y(0*.358B9EHH Z "O&+. 7N9 HHU Z   M (0-: 7N:M   Z #&&)036w:=/DHH EZn ).>E   s E"O)07N9>q??pCqC = = Z; $+358=/CHH Z;!x&.48%?FlJJ 5 #*2D9)wouldloadandeditthefunction,butselectingthefunctioninaDeditwindowandbuttoning"Edit"wouldnot.*I.S.OPRSnowworksasafilepackage"type"forCOPYDEFandUNSAVEDEF(1734)*(**X...)nolongersignifiesthatXisafilevar(4171620)Whenaformsuchas(FNS*FOOFNS)appearsinthefilecomsofafile,thismeansthatthelistoffunctionsshouldbetakenfromthevariableFOOFNS.Inthiscase,FOOFNSisknownasafilevar.Previously,therewasabugwithcommentsoftheform(**thisisacomment),wherethefirstwordofthecomment("this")wasinterpretedasafilevar.Thishadsomestrangeconsequences,suchasthefirstwordsofsuchcommentsappearedin(FILECOMSLSTxxx'VARS),andtheseatomsweresettoNOBINDifthefilewasloadedwithLDFLG=SYSLOAD.*Commentsallowedinfilepackagecommands(1936)Thefilepackagenowallowscommentstoappearinmostplacesinthefilecoms.Forexample:(INITVARS(*thisisacomment)(FOO5)).*DefaultsettingofCLEANUPOPTIONSchangedto(RC)(1817)Previously,thedefaultvalueofCLEANUPOPTIONSwas(LISTRC),soCLEANUPwouldlistandrecompileallfiles.Ifyouwishtoretainthatbehavior,simplyresetCLEANUPOPTIONS.*(PF)printsmessageiffilenotfound,orfunctionnotfoundonfile(1832)Previously,PFjustreturnedNILifeitherthefunctionwasnotfoundorthefilewasnotfound.*DCFOOcanfindfileFOO.LSP(271)Previously,theuserhadtotypeDCFOO.LSPtoeditthecomsofafilewithanon-NILextension.*ADDTOFILEpromptchangedfrom"newfile?"to"createnewfileXXX?"(19421234)Compiler========*Incompatiblechange:DefaultRECOMPILEDEFAULTchangedfromEXPRStoCHANGES(16701786)Previously,thedefaultvalueofRECOMPILEDEFAULTwasEXPRS.Thismeantthatwhenrecompilingafile,thosefunctionscurrentlydefinedbyEXPRswouldberecompiled.Generally,thisisagoodindicationofwhichfunctionshadbeenedited.However,aproblemoccursiftheuserexplicitlycallsCOMPILEtocompileaparticularfunction.AlaterRECOMPILEorCLEANUPwouldnotrecompilethatfunction.BysettingthedefaultRECOMPILEDEFAULTtoCHANGES,RECOMPILEorCLEANUPwillrecompilethosefunctionswhichhavebeenchangedaccordingtotheFILECREATEDexpressioninthesourcefile.Undersomecircumstances,thismaycausefunctionstoberecompiledunnecessarily,butitissafer.BenefitsofRECOMPILEDEFAULT=CHANGES:I g,qHhJjh b5 "O$(0.58AbAb` _#&&*.6w9B9EE_ ^- #,c2D7N:^- \ \ [}s 1#*03:>E[}q[}FlFl[} Z%p Z%qZ%Z% X X Wus ';&*,c.06wWuqWu7N7NWupWu:>WuqWu> Wu V V T'; 'Y.03;>?DHHT Sm1E%+.37N:B9HIISm R y#&%'Y.R P P Oe n!x%-:/37N9;?B9CCOe N Zd#&)08%; EHIIN LZ$ 047N:?DGCGCL K]'E *.48%=/B9FlIIK] J yZ;n%) 5J H H GUs 1n 'Y.GUqGU..GUpGU2GUqGU2GU E E D P;!x)+1m38%>@CCD CMZ1KCM AZE$),iA @ @ ?Es Z (0.1m4?Eq?E55?Ep?E9?Eq?E9?E = = < d#&% 2D5:>AbHH< ;=1"O(0)+.35;?HH;= 9!~9 8 8 75s  ;$+.2D5;>EHH75 55q55p55q55 4 4 3- "O%(0.1m8B9GCGCq 'Z n#&(008?B9GCGC  n %),c.2D ;>CC iZ !x)*1m7N9=/Ab JJi ; )2D349B9DD !x%..1m8%;B9B9 a;"O*-:38%@EEa  Zd&.1m4 > HJJ  P1;"O .36w;CFlHH Y 1 #&%(0-@Y   ) Q Q q?`t30Ifyounormallyloadasourcefile,editafewfunctions,thenMAKEFILEandRECOMPILE,theeffectofthechangetoRECOMPILEDEFAULTisthatfewerfunctionsarerecompiled(onlytheonesyouchanged,notallthefunctionsonthefile).Ifyounormallyloadthecompiledfile,thenLOADFROMthesource,andarerunningwithDFNFLG=PROP,sothateditedfunctionsarenotunsaved,thentheeffectofthechangeisthattheeditedfunctionsdogetrecompiled,eventhoughtheyarenotdefinedbyEXPRs.DisadvantagesofRECOMPILEDEFAULT=CHANGES:Ifyougothruseveralroundsoftheedit-makefile-recompileloop,thenpossiblyMOREfunctionsarerecompiledthannecessary,sinceeachRECOMPILEwillcompileALLthefunctionsthathavechangedsinceyoufirstLOADFROMedthefile,notjusttheoneschangedsincethelastrecompile.WhenMasterscopeadvisesyoutoUNSAVEDEFasetoffunctionscontainingoccurrencesofrecordsormacrosthatchanged,theunsavingwillhaveNOeffectonwhichfunctionslatergetrecompiled.YouneedtosetRECOMPILEDEFAULT=EXPRSinorderforthistoworkright.*Incompatiblechange:Compilingwithmode=STorSTFredefinesfunctions,evenifDFNFLG=PROP(1673)Previously,whenthecompiler"redefined"afunction,itrespectedthevalueofDFNFLG.IfDFNFLG=PROP,thecompilerputthenewdefinitionontheCODEpropertyinsteadofinthedefinitioncellofthefunction.Thenewbehavioristhatasfunctionsarecompiled,theyreallyARE"storedandredefined";thenewcompileddefinitionisplacedinthedefinitioncell,eventhoughDFNFLG=PROP.Thenewbehaviorislessconfusing,butifyouareusedtotheoldbehavior,becareful.IfyourunwithDFNFLG=PROPtocompletelyavoidinadvertantlyredefiningsomethinginyourrunningsystem,youMUSTusecompilemodeF,notST.*Warning:Compilermodified,sodon'tloadHarmony-compiledfilesintooldsysouts.(1570)Anumberofmodificationshavebeenmadetothecompiler,whichmightcausebackwardincompatibility.Ingeneral,oldcompiledcodewillworkinnewreleasesofInterlisp-D,butcompilinginaNEWreleaseandloadingintoanOLDreleaseisnotguaranteedtowork.*STore-and-ForgetoptiontoCOMPILEnolongerleavesEXPRsonpropertylist(423)*LOADTIMECONSTANTworksininterpretedcode(8001176)*Compilerprintswarningifusercodeattemptstobindavariablepreviouslydeclaredasaconstant(277)Masterscope===========*MasterscopeCHECKcommandsmarteraboutCONSTANTS,blocks(303)TheCHECKcommandnowknowsaboutCONSTANTS.Previously,constantsweretreatedlikeanyothervariable,andCHECKprintedawarningiftheywereusedfreelywithoutbeingdeclared.Also,CHECKnowomitsthepreamble"innoblock"(followedbyalistoffunctions)whenafilehasnoblockdeclarations. Q g,q h h b5 ydE#&(0,c.1m :>FlIIb5 ` 1n"O(0*8;?DD` _Z #'Y+.6w9=/@HH_ ^- y^- \ \ [} yd&+/7N:AbDHH[} Z%n!x#(0.6w9=/DHHZ% X P1!x%).7N9=/ GCGCX Wu';%(0-@Wu V V T ;-@T Sm Sm R yZE#&%)=/B9FlFlR P!x *. 8%=/AbIIP Oe';#(0,c38%;@ IIOe N  PZE!x(0-:04 >> N L L K]' ;"O$-:.2D4=/ FlFlK] J E%)1m4 HHD CM' CMqCMCMpCMCMqCMCM A A @ ;#& -:.7N9B9EJJ@ ?E y1 !x$,c/36w ?B9EII?E =;E ).03;= < < ;= P;!x)-:59?CII;= 9 P d% .1m7N9=/ FlFl9 81 #$$8 75 75 5 P; (0+.1m48;>B9JJ5 4 yd"O ,c. 8%=/ HH4 3- 1"O)/37N:AbEHH3- 1 P1 0} 0} /%s 1#&%*.=/B9FlII/% --q--p--q-- ,u ,u +  #(0,c.2D:?DII+ ) #&*.59>B9DHH) (m "O*-:.2D8FlI$eq$eJJ$e # p P# q# V# ! ! ]s !x +. ]q ]// ]p ]36w ]q ]6} ]   s 1"O&*2D48:B9B9 U 1E%UqU&&UpU)UqU)U     r  { { q  rs !x(0-: 6w;rqrFlII , yZE#&% .348CC ,   @ q?`q31*ShowPathsbrowserproperlyupdatedwhenredisplayed(1110)WhenafunctioninaSHOWPATHSbrowsergraphisedited,thewindow"greysout",toindicatethat(possibly)someoftheinformationhaschanged.Previously,undersomecircumstances,whenagreyedoutbrowserwindowwasredisplayed,Masterscopewouldnotreanalyzethefunctionsthathadchanged.*".SHOWWHEREXCALLSY"nowfindslowest(nothighest)levelmacrocontainingcall(1878)*MasterscopeHELPcommandremoved(1872)Thisusedtoprintoutatwo-pagesummaryoftheMasterscopecommands,whichwasnotveryusefulinfindingouthowtouseMasterscope.DWIM&CLISP============*AdvanceWarning:Infuturereleases,(CLISPDEC'MIXED)willbedefault(2032)InpastreleasesofInterlisp,andintheHarmonyrelease,thedefaultclispdeclarationisFIXED,whichmeansthatallclispconstructsaretranslatedusingintegerarithmetic,unlesstheuserexplicitlychangesthedeclaration.Therefore,(A+B)translatesinto(IPLUSAB),and(forXfromAtoBdo...)istranslatedusingintegerarithmetictoincrementXandcompareittoB.InInterlisp-D,mixed(generic)arithmeticisnotappreciablyslowerthanintegerarithmetic,sowearetryingtoconvertthesystemtousegenericarithmeticasmuchaspossible.Therefore,startingwiththenextrelease,thedefaultclispdeclarationwillbeMIXED,sogenericarithmeticfunctionswillbeusedwhentranslatingclispconstructs.(A+B)willtranslateinto(PLUSAB),and(forXfromAtoBdo...)willbetranslatedusingPLUSandGREATERP.Ofcourse,theusercanchangethisdeclarationusingCLISPDEC.Wedonotexpectthatthischangewilleffectanyprograms:theonlyconceivableproblemscouldbeinconstructslike(forXfromAtoBdo...)wheretheprogrammerCOUNTEDonfloatingAandBbeingconvertedtofixedpointbeforetheloop.*Macro-expansionnowindependentofDWIM(1212)Previously,macro-expansionwashandledbytheMACROTRANentryonDWIMUSERFORMS.ThismeantthatmacroswouldonlybeinterpretedifDWIMwasturnedon.Themacro-expansionmachineryhasbeenmovedtoamuch'higher'level(closertothesource),beforeDWIMFLGistestedandalargeamountofotherwiseunnecessaryprocessingwasdone.ThismeansthatmacroexpansioncancontinueevenwhenusersturnoffDWIM.*NewvariableDWIMINMACROSFLGcontrolswhetherargstomacrosaredwimified(1074)IfthevariableDWIMINMACROSFLG=T(thedefault),DWIMwillrecursivelydwimifytheargumentstomacros(i.e.macroswillbetreatedlikeLAMBDAfunctions).IfDWIMINMACROSFLG=NIL,argumentstomacrosarenotdwimified.Toprovidefinercontrolovertheinterpretationofindividualmacros,DWIMusestheINFOpropertyofthemacroname:IftheINFOpropisorcontainstheatomEVAL,themacroargumentsaredwimified,evenif g,qHhJjh b5 b5 `s #&). 7N`q`8%8%`p`<-`q`<3` _ _ ^-'d$+039=/CHH^- \E &*-:0 :>EFlFl\ [} E )./58?EHH[} Z%  #'Y/3;?CIZ% X X Wus 'Zd #).3:?DDWu V 1VqVddVpVlVqVrV T T Sms  &SmqSm'Y'YSmpSm+aSmqSm+gSm R R P'ZE&-:/3 =/EJJP Oe PE#'Y*-:0 :Oe M M Ln Ln JrJ ID ID Gq G Fs Zn"O*39>@FlFqFGCGCF E*p E*qE*E* C C Bz y; #'Y)-:3;>EJJBz A" n!x&*.3 r  # -:1m7N8r = 'Z "O'Y. 7N9B9CGCGC= ;1j; :j :j 9 y dn$ .03 >CHH9 7 E#&)+2D5;>AbHH7 6b 1n$6b 5 5 3 1"O&.1m8%=/ GCGC3 2Z' )1m58%AbCEII*J (Z "O$,c.1m38%@CHH( ';t' &B &B $s n &),c$q$-:-:$p$1B$q$1H$ # # ": !x$+.1m9>AbAb": d $*/36w @CGCJJ 1d$-:049B9II 2;#&)/2D8%;=/B9HJJ2 Z n %)..38%B9IqJJ zp zqzz " "  yd$&(0,c48=/ GCGC rn$)/36w=/AbGCGCr  d$&*35;>B9B9  ` j j  y1;#&& 35 >EII 'E#&(0-:.038%AbHH b P'Y* 38%:: b ` q?`32DWIMINMACROSFLG=NIL.IftheINFOpropisorcontainstheatomNOEVAL,themacroargumentsarenotdwimified,evenifDWIMINMACROSFLG=T.*DWIMnolongertriestointerprettype-inaseditcommands(12111439)Previously,oneoftheactionsDWIMtookonunboundatomorundefinedfunctionerrorswas:"iftheatomisaneditcommand,envoketheeditoronthelastthingedited,passingtheatomasaneditcommand".DWIMisofnecessity'heuristic',attemptingtosecondguesswhattheusermeant.However,thiscorrectionisonethat,overtime,hasbecomewrongfarmoreoftenthanright.*IncompatibleChange:DWIMIFYENGLISH,CLISPENGpackagetotallyde-supported(1425)The"feature"oftranslatingEnglishintoLispdocumentedinthe1978InterlispReferenceManualisnolongersupportedinInterlisp-D.ThelispuserspackageCLISPENGisnolongersupported,either.*DWIMtriesupper-casingundefinedfunctionsandunboundatoms(2136)*DWIMnowgiveswarningoncoercionfromlowertouppercase(454395)Previously,DWIMwouldupper-caseatomsandfunctionswithoutwarningornotification,whichcausedagreatdealofconfusion.Now,thedefaultistoprintawarning"=XX"whencoercingfrom"xx"to"XX".ThisfeatureiscontrolledbythevariableFIXSPELL.UPPERCASE.QUIET(initiallyNIL).Ifnon-NIL,nowarningisgiven.*CLISPIFYdoesnottranslate(fetchA.BofX)toX:A.B(1057)Inthecasewherearecordfieldhasaperiodinit,itisinappropriateforCLISPIFYtotranslateafetchorreplacestatementintothemoreconciseformX:A.B,sinceDWIMinterprets"A.B"asthe"datapath"ratherthanthefieldname.*RUNONFLGinitializedtoNILinthedefaultenvironment(1669)IfthevariableRUNONFLG=T,DWIMwillattempt"run-on"spellingcorrections,breakingupunknownnames.Fromexperience,itseemsthatthishurtsmoreoftenthenithelps.Therefore,thedefaulthasbeenchangedsothisfeatureisinitiallydisabled.*FIXSPELLonlymoveswordson"real"spellinglists(867)Whenspelling-correctingwordsonthesystemspellinglistsSPELLINGS1,SPELLINGS2,etc,FIXSPELLmoveswordstothefrontofthelistwhenawordissuccessfullycorrected.However,thisisnotnecessarilythecorrectbehaviorforuser-suppliedspellinglists,whereitmaybewrongtoaltertheorderofthelist.IfFIXSPELLiscalledwithDONTMOVETOPFLG=non-NIL,wordsarenotmovedinthespellinglist.Asanadditionalcheck,FIXSPELLwon'tmovecorrectwordstothefrontofaspellinglistunlessthespellinglistcontainsthespecialmarkerusedtoseparatethetemporaryandpermanentsectionsofthesystemspellinglists(thevalueofSPELLSTR1).*I.S.OPRSworkevenifCLISPFLG=NIL(1802)Contrarytothedocumentation,someiterativestatementoperatorswouldnotbetranslatedcorrectlyisCLISPFLGwasNIL,becausetheirdefinitionincludedformssuchas$$VAL_T.Theseoperatorsnowworkevenif"_"isdisabled,eitherspeciallyorbecauseCLISPFLGisNIL.PerformanceTools: b g,q h h b5n"O&*-:/7N:>EHHb5 `d 'Y+.;=/>` _ _ ^-s Z;E(0.1m5B9DGCGCX WuZ E &).38%;?EFlFlWu V !x$).36wHfqHf??HfpHfCHfqHfCHf F F E(s 1;!x)-:2D49=/E(qE(>>E(pE(AbDE(qE(DE( C C A ;E &+.7N>DGCGCA @  "O'Y+. 7N8%CDGCGC= <E"U< ;2 ;2 9s 1d#&),c.1m38%9q9889p9=9q9= 9 8 8 7* y %)*036w8; GCJJ7* 5n#&%,c48CDHH# ! y d !x)-:/3 =/@GCGC! R (0.358;@CHH R  PZ;E (0*04 AbCJJ ZE (0-:.03  GI   s 1d (0q))p-q- K K d #(008AbFlII  y  (0+/6w; DD CE$%*36w:>AbDGCGCC Z; #&)1m37T   ; ; r    q?`33=================*DOSTATSremovedfromstandardLisploadup(1768)SincetheSPYpackageprovidesmostofthefunctionalityofDOSTATS,inadditiontobeingusableonXerox1108's,thefunctionDOSTATShasbeenremovedfromthestandardInterlispsystem.ThecodeforDOSTATSisavailablebyloadinginthelibraryfilesPCALLSTATSandAPS(automaticallyloadedbyPCALLSTATS).*DOSTATSnowresetsDFNFLGandcompileroptimizations(802)Previously,itwaspossiblethatDOSTATSwouldcollectstatsonthewrongformifDFNFLGwassetimproperly.Forexample,ifDFNFLG=PROP,theformwouldbeputonapropertylist,andstatswouldbecollectedforwhateverhappenedtobeinthedefinitioncellofSTATSDUMMYFUNCTION.Also,DOSTATSdidn'tresetcompileroptimizations,sothatitmight"optimize"formslike(IQUOTIENT1234567-1)intoaconstant.*Control-DoutofDOSTATSstopsstatistics-gathering(124)Previously,typingcontrol-DduringtheexecutionofDOSTATSwouldstopthecomputation,butwouldn'tstopthegatheringofstatistics.Thiswasaseriousproblem,becauseveryquicklythediskwouldfillupandInterlispwouldfallintoSWAT,losingeverything.Now,exitingDOSTATSwithcontrol-Dautomaticallyturnsoffstatistics-gathering.*TIMEALLnowcompilesformwithoptimizationsON(1780)IfTIMEALLiscalledwith#TIMES>1,adummyformiscreated,compiledandexecuted#TIMEStimes,toprovidemoreaccuratemeasurementofsmallcomputations.Previously,thiscompilationwasdonewithoptimizationsoffifrunningmultipletimes.Inthefaceofobjections,thishasbeenchanged:nowTIMEALLcompilesthedummyformwithcompileroptimizationsON.Warning:AnimportantresultofthischangeisthatitisnotmeaningfultouseTIMEALLwithverysimpleformsthatareoptimizedoutbythecompiler.Forexample,(TIMEALL'(IPLUS23)1000)willtimeacompiledfunctionwhichsimplyreturnsthenumber5,since(IPLUS23)isoptimizedtotheinteger5.*BREAKDOWNoverheadreduced(13531994)Theper-calloverheadtoBREAKDOWNhasbeensubstantiallyreduced,whichshouldgivemuchmoremeaningfulresults.Storage&DataTypes====================*IncompatibleChange:ARRAYdefaulttypeisPOINTER,FLOATPisstoredunboxed(138110611464)IfNILisgivenastheTYPEargumenttoARRAY,thedefaultarraytypeisPOINTER,notDOUBLEPOINTER.AnyoneusingtheDOUBLEPOINTERmechanismshouldchangeanyinstancesof(ARRAYx)to(ARRAYx'DOUBLEPOINTER).ArraysoftypeFLOATParenowstoredunboxed.ThisincreasesthespaceandtimeefficiencyofFLOATParrays.UserswhowanttouseboxedfloatingpointnumbersshoulduseanarrayoftypePOINTERinsteadofFLOATP. frHhqJjh brb `q ` _?s ZE$)._?q_?.._?p_?2_?q_?2_? ] ] \Zn#(0*. 9B9FlFl[7 Y;(0./37N:AbCCY XZ!x(0-: 6w9=/ IIX W/Z tW/ U U Ts Z!x$,c 7NTqT8%8%TpT;TqT;T S' S' Q !x%,c1m8%=/?CHHQ Pw'E 'Y(0+35 @CHHPw Od %).35>AbHHO Mn %),c=/>CIIM Lon )+/2D7N @EIILo K 1E!x#&*K I I H s d %6wH qH 7N7NH pH :H qH :H F F D "O(0+36w=/B9FlIID C ;#'Y/2D CC@ ?Z #&&8+? = = CC7 6V  $ .2D6w: FlII6V 4 y1 !x#'Y+. 8% HJJ/ - P;n"O'Y+.7N:=/@HII- ,` Pn#&$'Y,c046w>EJJ,` +"O'Y-:.1m3B9HH+ ) ) ( ( &s !x&q&"O"O&p&&W)&q&)& %a %a $  Pn'Y*. :B9GCGC$ ";n %,i" !Y !Y   ur"u " mq m s E"O)-:/7N=/?EE qplqr e e   yZdE!x)+1m4;@DGCGC  !x"O(0-:0 ]   Zn#&)01m5>AbFlII U' d&'Y,c/36w9>FlFlU !x&)-:3:=/C  q?`334*AdvanceWarning:CARorCDRofnon-listwillcauseerrorinfuturereleases;newvariableCAR/CDRERR(768685)AccordingtotheInterlispReferenceManual,thevalueofapplyingthefunctionsCARandCDRtoanon-list(otherthanNIL)isundefined.InInterlisp-D,theactualactiondependedonthedatatype:(CAR)returnedNIL,(CDR)returnedtheatom'spropertylist,(CAR)returnedthestring"{carofnon-list}",and(CDR)returnedthestring"{cdrofnon-list}".Thishasturnedouttobeabaddesign.ThisdesigntypicallycausedobscurebugsinprogramswhichCDRdownalist,andstoponNIL.IfthetailofthelistisnotNIL,thentheprogramloopsendlessly,takingCDRof"{cdrofnon-list}".Thisproblemalsooccurswithfunctionslike(FMEMBAB),whichloopendlesslyifBisnotalist.Becauseoftheseproblems,theInterlispmaintainersdecidedthatCARandCDRshouldcauseanerroronnon-lists.Placesinthesystemcodewhichusedtheoldconventionshavebeencleanedup.Infuturereleases,thedefaultwillbechangedsothatCARorCDRofnon-NILnon-listswillcauseerrors.Thiswillalsoeffectsystemfunctions,suchasFMEMB,whichuseCARandCDR.Userprogramswhichdependontheoldconventionswillhavetobemodified.TorootoutfunctionsinthesystemwhichrelyontheoldCAR/CDRconvention,theglobalvariableCAR/CDRERRhasbeencreated.IfCAR/CDRRERR=NIL(thecurrentdefault),thenCARandCDRactastheyalwayshave,returningastringfornon-lists.IfCAR/CDRERR=T,thenCARandCDRofanon-list(otherthanNIL)causesanerror.IfCAR/CDRRERR=ONCE,thenCARandCDRofastringcausesanerror,butCAR/CDRofanythingelsereturnsthestring"{c...rofnon-list}"asbefore.ThiscatchesloopswhichrepeatedlytakeCARorCDRofanobject,butitallowsone-timeerrorstopassundetected.IfCAR/CDRERR=CDR,thenCARofanon-listreturns"{carofnon-list}"asbefore,butCDRofanon-listcausesanerror.Thissettingisbasedontheobservationthatnearlyallinfiniteloopsinvolvingnon-listsoccurfromtakingCDRs,butafairamountofcarelesscodetakesCARofsomethingithasnottestedtobealist*MKATOMnolongerloopsforeverwhentheatomhashtableisfull(866)Previously,runningoutofatoms(thelimitiscurrently~32K)wouldcauseaninfiniteloop.Now,Interlispwillcauseastoragefullerrorwhenthereareabout7"pages"ofatomspaceleft,andwillcallRAID(MP9323onan1108)whentherearenomoreatomsleft.*Hasharrayshavebeentotallyreimplemented;betterperformance,interface(1096)Thehasharrayfacilityhasbeentotallyreimplemented,toimproveperformanceandprovideabetterinterfacetotheoverflowbehavior.Oldprogramsusinghasharrayswillstillwork,butnotasefficientlyasiftheywererecodedtotakeadvantageofthenewimplementation.Intheoldimplementation,thehasharrayfunctionsacceptedalistwhoseCARwasahasharraydatum.Ifthehasharrayoverflowedduringsomehasharrayoperation,theactiontaken(error,automaticallyenlargingthehasharray,etc.)wasdeterminedbytheCDRofthehasharraylist.Inthenewimplementation,the"overflowmethod"isstoredaspartofthehasharraydatatype.Thehashingfunctionswilloperatecorrectlyon"old-style"hasharraysoftheform(harrayp.overflow),butmoreslowlythanwith"new-style"hasharraysthatcontaintheiroverflowmethods. g,q h h b5s ZE#&%-:1m6w;>CCb5 `ZE %`q`&&`p`),`q`,` _ _ ^-Z; )/38%:B9EE^- \Zn (0.2D6w8 B9CEE\ [} ;$,c.2D6w;B9JJZ% Xd %(0 2D59B9HHX Wu"O +Wu V V T'dE!x$+,c06w>DDT Smd#'Y+-:2D59DHJJR P n 'Y+1m5>B9HIIP Oe PZ!x#&%)*.Oe N N L1; #,c 6w=/AbDHHL K] P1;"O +,c2D48%>B9GCGCK] J' #&'Y.1m2D4:CFlFlJ Hd $(0*.07N?CHHH GU#) 37N9?DHHGU E P!x&,c.2D5 ?CHJJE D yD CM CM A yn"O(0-:1m37N:AbAbA @ dE$ .1m5<^@ ?E ?E = y$-:1m48%;>AbEE= <E$(0 1m2D4 @DHH< ;= P1n"O&*038+;= 9 9 8 y#&&),c.39CHH/% -;#&.2D7N:=/EHH- ,u PE ,u + + )s %)-:1m5:=/@)q)AbAb)p)D)q)D) (m (m '  %).1m9>CHH' % y&*/1m8%CEHH$e # 1;"O'Y+# ! ! ]s $ 1m7N B9I ]q ]JJ ] p q   U P!x%,c 8;B9B9U  d%.03;CDHH  $).2D58% B9DGCGC M'Z(0*.1m> M    y1 #(0-:5=/>CHH E PZ!x"O$(0,c1m :@DHHE  ;!x&-: 8AbDHH ; !x#'Y*-:049>  = =  y1 #,c35;>B9DHH '1n&.39B9DD 5 ; #(0/1m :>B9HH 5 'Z n &*1m6w>D  Y q?`x35Newfunctions:(HASHARRAYMINKEYSOVERFLOW)CreatesahasharraycontainingatleastMINKEYShashkeys,withoverflowmethodOVERFLOW(ifNIL,thedefaultoverflowmethodistoexpandthesizeofthehasharrayandrehashalltheentries).ThefunctionHARRAYstillexistsforbackwardcompatibility,equivalentto(HASHARRAYMINKEYS'ERROR).(HARRAYPROPHARRAYPROPNEWVALUE)ReturnsthepropertyPROPofHARRAY;PROPcanhavethesystem-definedvaluesSIZE(returnsthemaximumoccupancyofHARRAY),NUMKEYS(numberofoccupiedslots),orOVERFLOW(overflowmethod).InthecaseofOVERFLOW,anewmethodmaybespecifiedasNEWVALUE.(HASHARRAYPX)ReturnsXifXiseitheranold-ornew-stylehasharray(i.eahasharraydatumoralistwhosecarisahasharraydatum).OtherwisereturnsNIL.(HARRAYPX)ReturnsXifitisahasharraydatum,asreturnedbythefunctionHARRAYorHASHARRAY.UnlikeHASHARRAYP,thisreturnsNILforlistswhoseCARisahasharraydatum.HASHARRAYPshouldprobablybeusedinsteadinmostcircumstances.*STORAGEchanges:newarguments;printsfreelistinfo(631815)ThefunctionSTORAGEinInterlisp-Dnowtakestwooptionalargumentsforfilteringtheamountofinformationpresented:(STORAGETYPESPAGETHRESHOLD)IfTYPESisgiven,STORAGEonlylistsstatisticsforthespecifiedtypes.TYPESisanatomorlistoftypes.IfPAGETHRESHOLDisgiven,thenSTORAGEonlylistsstatisticsfortypesthathaveatleastPAGETHRESHOLDpagesallocatedtothem.Note:TheseoptionalargumentsaredifferentfromtheoptionalargumentstoSTORAGEinInterlisp-10.STORAGEnowprintsoutmoreinformationaboutthesizeoftheentriesonthearrayfreelist,includingabreakdownofthefreeblocksizes.TheblocksizesarebrokendownbythevalueofthevariableSTORAGE.ARRAYSIZES,initially(41010010004000NIL),whichyieldsaprintoutoftheform:variable-datumfreelist:le411items;44cells.le1034items;240cells.le10039items;1619cells.le100025items;7856cells.le40002items;2449cells.others0items;0cells.Thisinformationcanbeusefulindeterminingifthevariable-lengthdataspaceisfragmented.Ifmostofthefreespaceiscomposedofsmallitems,thentheallocatormaynotbeabletofindroomforlargeitems,andwillextendthevariabledatumspace.Ifthisisextendedtoomuch,thiscouldcauseanARRAYSFULLerror,evenifthereislotsofspaceleftinlittlechunks.Thisinformationisprimarilyofusetosystemprogrammers.*NewCASEARRAYargforSTRPOS(900)STRPOShasbeenextendedtotakeanewargumentCASEARRAY.Ifnon-NIL,thisshouldbeacasearraylikethatgiventoFILEPOS.Thecasearrayisusedtomapthestringcharactersbeforecomparingthemtothesearchstring.SeethedocumentationforFILEPOS,CASEARRAY,etc.inthereferencemanual.D g,qHhJjh b5 b5 ` P ` _ _ ^- 1!~^- \Z $'Y,c37N?CHHL K]1dn"O#(0-:34=/CGIK] J J H7H GUZd$*-:47N:B9HJJGU E 1 #(0.2D5:?CEGCGCE D'1 #&)037N>@DDD CM CM A A @s ZE &,c048%@q@88@p@;?@q@?@ ?E ?E = P (0+03;CGCGC= <Z (0 0< ;= ;= 9 "U9 8 8 75 y $) 36w9B9HHH75 5;!x'Y(0* 6w8>CII5 4'1 n$)-:/4 @EE4 3-Z3- 1 1 0}n$(0048%?HJJ0} /%1 "/% - - ,uE!x +038%:>DGCJJ,u +1; "O*-:049?CHH+ )Z;n"O'Y)-:4EE) (mZd#&(0-:34B9Fr(m ' ' % d % $e y'Z1d !x"O#&#$'Y,i$e #  yZ1d !x"O#&#'Y,i# ! yZ1d !x"O#&'Y,i! ] yZ1d !x"O#&'Y,i ]  yZ1d; !x"O#&'Y,i Z1d; !x"O#&#$%'Y,i U U ' ;#& 036wCHH  n#&%)-:2D4CII M'E #&'Y).2D5:@CHHM 1%&)-:/7N:?CHH d!x%(0-:/36w;?B9HH E "O*-:038 CE   s d#&q##p'Yq'_ = = 1d!x%'Y*2D ;FlJJ Zn $),c348%@CGCII 5 P %.2D48%>DEHH 5  P n# -:1m37N?E  N q?`36*NewBACKWARDSFLGargforSTRPOS,STRPOSL(900)Ifnon-NIL,thisargumentspecifiesthatthesearchshouldbedonebackwardsfromtheendofthestring.*IncompatibleChange:LDIFFERENCEalwaysreturnscopyoflist:resolvesInterlisp-D/10difference(318)Previously,if(LDIFFERENCEFOOBAR)wasEQUALtoFOO(ie,FOOandBARsharednoelements),Interlisp-DwouldreturnaresultwhichisEQtoFOO,whileInterlisp-10wouldreturnacopyofFOO.Interlisp-DhasbeenchangedtomakeitcompatiblewiththeInterlisp-10behavior.*InterpretedREPLACEofadatawithaBITSfieldnowcorrect.(1502)Previously,theinterpretedversionofREPLACEFIELDwoulddothewrongthingifcalledtoreplaceadatatypedeclaredwithaBITSfield.ThisonlyaffectedinterpretedcallstoREPLACEandnotcompiledcalls.*(CREATE...SMASHING...)translatesintomoreefficientform(1343)Thetranslationof(CREATE...SMASHING...)formshasbeenchangedforRECORDandTYPERECORDrecords,toproduceformsthatexecutemoreefficientlywhencompiled.*TheatomsNILandTnowcanhavepropertylists(915916924)*(APPEND'(A.B))nowrunscorrectlywhencompiled(1411)Previously,(APPEND'(A.B))returned(A.B)wheninterpreted,(A)compiled.Now,itreturns(A.B)always.*ELT,SETAerrorchangedfrom"ILLEGALARG"to"ARGNOTARRAY"(36)Arithmetic==========*AdvanceWarning:Overflowdefaultwillbechangedfrom(OVERFLOW0)to(OVERFLOWT)(2617)InInterlisp-D,theactiontakenonarithmeticoverflowisgloballydeterminedbythefunctionOVERFLOW(describedbelow).Currently,thedefaultsettingis(OVERFLOW0),whichsignifiesthatarithmeticoverflowanddivisionbyzerowillnotcauseanerror.Inafuturerelease,thisdefaultwillbechangedto(OVERFLOWT)soarithmeticoverflowanddivisionbyzerowillcauseanerror.Usersareencouragedtoruntheirprogramswith(OVERFLOWT),andtochangeanycodewhichdependonoverflownotcausinganerror.(OVERFLOWFLG)Setsaflagthatdeterminesthesystemresponsetoarithmeticoverflowanddivisionbyzero;returnstheprevioussetting.Forintegerarithmetic:IfFLG=T,anerroroccursonintegeroverflowordivisionbyzero.IfFLG=NIL,thelargestintegerisreturnedastheresultoftheoverflowedcomputation.IfFLG=0,theresultisreturnedmodulo2^32(thedefaultaction).IfFLG=NILor0,integerdivisionbyzeroreturnszero.Forfloatingpointarithmetic:IfFLG=T,anerroroccursonfloatingoverfloworfloatingdivisionbyzero.IfFLG=NILor0,thelargestfloatingpointnumberisreturnedastheresultoftheoverflowedcomputationorfloatingdivisionbyzero.E g,q h h b5 b5 `s  E 'Y-:`q`..`p`1m`q`1s` _ _ ^- y;(0,c/5;>B9JJ^- \'d \ [} [} Z%s E 'Y-:38%:?GCGCZ% X  XqXXpX#&XqX#,X Wu Wu V  !x$),c1m37N;>B9EEV TZ  %*02D8%=/?B9DHHT Sm $&*-:1m2D OqO>>OpOBOqOBO M M K d !x(0* 5:=/@EJJK J yZE$,c02D6wEqE??EpECEqECE D D CB P d #+/48%4zq4z??4zp4zBd4zq4zBj4z 3" 3" 1 1 0>r 0> . . -6q -6 +s Z!x(0,c.59B9DGCGC+ *Z*q**p**q** ). ). ' y d %(0 1m8;CC' &~ 1 (0 1m8%8 B9EE&~ %&d"O%*37N @HH%& # Pd#&(0*01m35;CGCGC# "vd )+. 7N>B9II"v ! yn"O#&(0+ 47N:?GCGC! 'E%)-:2D8%:B9EE n1An   Z f'; !x$*2D4 >EHHf #&*1s   ^ P !x'Y).47N>EHH^ n#'Y.47N>AbDJJ  y  #$'Y-:06w8@FlJJ V'nE&)+2D9'SUSPENDT)wouldcreatea(non-suspended)processwiththenameSUSPEND.,i F g,qHhJjh b5 b5 `s Z"O#'Y),c03 CDFl`q`GCGC` _p P_q_ V_ ^- ^- \ y; 'Y-:/2D8;> GCII\ [} PZ1dn ).2D4 ?CHH[} Z%'#(0.1m7N;@FlFlZ% Xd ),c02D56w;>DGCGCX Wun%+047N:>?B?Wu V V Ts d#(0 1mTqT2D2DTpT4TqT4T Sm Sm R d$(0.38=/@@R P E!x$ .48%>EHHP Oe' Oe N N Ls 1!x#)/LqL00LpL3FLqL3LL K] K] J yZ'Y*2D8%;CGCHHJ H'#&(0+/7N8%5Qq5Q> 5Q 3 3 2 y 'Y)-:1m7N9>AbCC2 1I ;"O(0*38EHH. -A'!x'Y,c/ 8>@FlII-A ++ * * )9s  'Y)9q)9(0(0)9p)9+)9q)9+)9 ' ' & y (0*2D47N:>CEHH& %11#&%)049>pAbqAh a a  s E% /7N q 8%8% p ; q ;   Y ; #&%.0 :?B9B9Y   #&* 5;CEJJ  %)-:1m8+ Q Q[ q?`38*PROCESSPROPcanremovelastuser-definedpropertyfromaprocess(101)Previously,onlythelastpropertyvalue,notboththenameandvalue,wouldgetremovedfromthelist.*RESTART.PROCESSdoesnothang(193)Previously,ifRESTART.PROCESSwascalledonaprocesswhichhasbeencreatedwithSUSPEND=Tandneverstarted,thiswouldcauseInterlisptohang(hardresetrequired).1108Microcode==============*1108microcodeavailablein4K&12Kversions(1790293)The1108hardwareisnowavailablewitheitheroftwoprocessorboards:thestandardboardwitha4Kmicrostore,ortheExtendedProcessorOption(CPE)boardwitha12Kmicrostore.ThisdoesnotchangetheinstallationoroperationofInterlisp---theInterlispsysoutcontainsmicrocodeforboththemicrostoreoptions,andtheappropriateoneisautomaticallyloadedwhenInterlispisstarted.Toprovideavisualindicationofwhichsizemicrostoreisinstalled,the1108MPdisplaywillshow1109whenthe12Kmicrocodeisrunning(insteadof1108).The12KmicrocodecontainsanumberofoperationsinmicrocodewhichwereformallyimplementedinLisp,sothereisaperformanceimprovement.Forexample,DRAWLINE,BIN,andMAKENUMBERareimplementedinthe12Kmicrocode.Inthefuture,anyannouncementsof1108microcodechangesapplytoBOTHmicrocodes,unlessexplicitlystatedotherwise.*1108microcodefixes(17901473172320882266)Anumberofobscuremicrocodebugs,whichcouldcauseintermittentsystemfailures,havebeenfixed.*Pressing1108STOPkeyinRAIDwillnotcrashInterlisp(1482)Insomecircumstances,pressingtheSTOPkeywhenthe1108wasinRAIDcausedanunrecoverableerror,whereastypingcontrol-Dwouldsucceed.Thiswasduetoamicrocodebug.LibraryPackages================*BUSEXTENDER,BUSMASTER:new,prototypepackagesforusinghigh-speedparallelporton1108CPEboard(2290)Theextended1108CPEboardincludesahigh-speedparallelport.Currently,hardwareforusingthisparallelportisindevelopment.BUSEXTENDERandBUSMASTERaretheprototypeversionsofthesoftwareusedforcontrollingthisport.Theyarebeingmadeavailabletotheusercommunitytoprovideadvanceinformationtopotentialfutureusers.BUSEXTENDERcontainsthelow-levelInterlispfunctionsusedtoaccesstheparallelport.BUSMASTERisanapplicationwhichusesBUSEXTENDERandspecialhardware(currentlyunderdevelopment)tocommunicatetoIBMPC-orMultibus-compatibleperipheraldevices.*CMLARRAY:theCMLARRAYSfilepackagecommandnowworksasadvertised(1039) Q g,q h h b5s #& .59;Abb5qb5B9B9b5pb5Eb5qb5Eb5 ` ` _ ;'Y-:048%DIIIy H!1; "O#&'Y+.48% CEEH! FZE #,c2D9B9EIIF Eq P !x$ .2D4 @FlJJEq DZnE&(0. 7N9>CCD B 1 "O&)/38% P "O(0* 36w>CHH> =a #&%*-:. 8 CDHH=a < !x *. 8%:>Ab JKvKv< : y %(0,c4;@CGCGC: 9Y  #&) 1s9Y 8 8 6s ;n6q6EE6p6!M$(+a.6q6.6 5Q 5Q 3 #&(0-:2D7N B9HH3 2Z2 1I 1I /s 1d!x%)-:2D9/q/::/p/>/q/>/ . . -A y E$(0,c/37N;>AbEE-A +Z #*08>EFlJJ+ * P1E * )9 )9 ' ' &Ur&U $$ #Mq #M !s  #,c37N HH= '1; $-:/37N?B9HH  E%+0 5 5  'Y/8%DHH  - - Zd !x&* 48%>FlFl } 1; #&% /2D58;;} % #*% us d#*1m49systemsiftheuserdependsonnodefontsbeingdefaultedtotheDEFAULTFONTfontclass.  g,qHhJjh b5s !x).5b5qb56w6wb5pb5:b5qb5:b5 ` ` _s d&).46w_q_7N7N_p_:_q_:_ ^- ^- \s  E"O(0.2D9=/>D\q\EE\p\H\q\H\ [} [} Z%s E &* 4Z%qZ%55Z%pZ%8;?Z%qZ%?Z% X X Wu P "O%Wu V V T P;'Y*.2D8%;?EIIT Sm P #&$)+/ 8>AbEESm R )+.48@FlIIGU E P #(0.E D D CM P;"O(0.2D4:>AbAbCM A A @ @ ?E ydE#&)/38%; DD?E =n!x)-:1m8%>DGCJJ= < y1$-:/6w9?< ;= ;= 9 P;$'Y) 38%>CHH9 8&-@8 75 75 5 yZE #(0*/5 4 4 3-E #*-:048+3- 1 1 0}dE#&)/3 >B9FlJJ0} /% ynE!x$),c. ;>?C/% - - ,u P1E#& -:/>AbGCGC,u +E $,c2D6w9>B9FlH+ ) ) (m P;!x'Y 358=/@CGCII(m ' P E#&&-:357N;>CJJ' % "O%,c2D6}% $e $e # s  #&(0.4;CGCGC# !!q!dd!p!l!q!r! ] ] s n$).359>q>>pBqB   U&.3AbDHH ZE!x)-:1m38?@CC = 1#&(0-:/36w8=/?CFlFl= 1;36w9:?CC d #(0*.389>DHH 5 P1; )/2D59@CC 5 Zd"O% /39  < q?`40(HARDCOPYGRAPHGRAPH/WINDOWFILEIMAGETYPETRANS)Producesafilefromaformatedgraph(e.g.,likeSHOWGRAPH,onlyforfiles).IfGRAPH/WINDOWisawindow,HARDCOPYGRAPHwilloperateontheGRAPHpropertyofthewindow.IfthedevicefieldofthefilenameisLPT,thefilewillautomaticallygetsenttotheappropriateprinter.IMAGETYPEiseitherPRESSorINTERPRESS,anddefaultstoINTERPRESS.TRANSisapositioninscreenpointsofthelowerleftcornerofthegraphfromthelowerleftcornerofthepieceofpaper.(DISPLAYGRAPHGRAPHSTREAMCLIP/REGTRANS)PutthespecifiedgraphonSTREAM(whichcanbeanyimagestream)withcoordinatestranslatedtoTRANS.SomestreamsmightalsoimplementCLIP/REGasaclippingregion.Thisisprimarilyanefficiencyhackforthedisplay.GRAPHERnowallowsnodestobe"boxed"withbordersofarbitraryshadesandwidths.Bordersworkforregularlabelsandbitmaplabels,butnotforimageobjectlabels.TheoldgraphnodefieldBOXNODEFLGhasbeenrenamedNODEBORDER.Ittakesthefollowingvalues:NILnoborder,asbeforeTblackborder,1pixelwide,asbefore0noborder1,2,3...blackborderofthegivenwidth-1,-2...whiteborderofthegivenwidth(ws)wherewisafixpandsisatextureorashade;yieldsaborderwwidefilledwiththegivenshades.Anewgraphnodefield,NODELABELSHADE,containsthebackgroundshadeofthenode.ThisallowsGRAPHERtorememberwhenanodeisinverted.Whenanodeisdisplayed,thelabelareaforthenodeisfirstpaintedasspecifiedbyNODELABELSHADE,thenthelabelisprintedinINVERTmode.Thisdoesnotapplytolabelsthatarebitmapsorimageobjects.Thelegalvaluesforthefieldare:NIL(sameasWHITESHADE),T(sameasBLACKSHADE),atexture,orabitmap.(RESET/NODE/BORDER)(RESET/NODE/LABELSHADE)Thesefunctionsresettheappropriatefieldsinthenode.Ifisadisplaystreamorawindow,theoldnodewillbeerasedandthenewnodewillbedisplayed.BothfunctionstaketheatomINVERTasaspecialvalueforand.Itreadsthenode'scurrentborderorshade,calculateswhatwouldbeneededtoinvertit,anddoesso.LAYOUTGRAPHpreviouslyuseda1-pixelblackboxtomarkcertainnodesinordertoindicatewhereithadsnappedlinks.Thatisstillthedefaultaction.However,theappearanceofmarkednodescanbecontrolledbyadding(MARK....)totheFORMATargumentofLAYOUTGRAPH.Thetailof(MARK....)isapropertylist.IfthepropertylistisNIL,markingissuppressedaltogether.IfaBORDERpropertyisspecified,thevaluewillbeusedastheNODEBORDERofmarkednodes.IfaLABELSHADEpropertyisspecified,itsvaluewillbeusedonthemarkednodes.Ofcourse,youcanspecifybothaBORDERandNODELABELproperty.LAYOUTGRAPHwillread,butnotchange,thefieldsNODEBORDERandNODELABELSHADEofthenodesgivenit(exceptforthemarkednodes,ofcourse).Thus,ifoneisplanningoninstallingblackbordersaroundthenodesafterthenodeshavebeenlayedout,itsagoodideatogiveLAYOUTGRAPHnodesthathavewhiteborders.Thiswillcausethenodestobelayedoutfarenoughapartthatwhenyoublackentheborderslater,thelabelsofadjacentnodeswillnotbeoverwritten.Whenagraphnodeiscreatedbytherecordpackage,thedefaultvaluesarenowtakenfromthevalueofthefollowingvariables:DEFAULT.GRAPH.NODEBORDER,DEFAULT.GRAPH.NODELABELSHADE,andDEFAULT.GRAPH.NODEFONT.GRAPHERinitializesthesetoNIL.Togetthe9 g,q h h b5 b5 `  !x%.3!` _1dE$)/3 =/AbDD_ ^- !x#&) 59@CFlFl^- \n#&#&)/47N:>CEII\ [} P !x$)+. 8@AbII[} Z% yZd #'Y.1m ;CFlII= < #&*.047N?@DFlJJ< ;= y "O%)-:/4;>FlHH;= 9d#&-:/5:;?CGCGC9 8d%(0-:458>CGCJJ8 751 )*/2D =/>FlHJJ75 55 4 4 3-'Y.3- 1E#&)1s1 0}dn )/2D5:;>EHII0} /% ; #'Y+/2D8%;>B9FlJJ/% - y #&'Y*.47N8?DHH- ,unE$(0.4:=/CC,u + 1dn$'Y-:038%:+ ) ) (m  E!x#&).2D48?DGCGC(m ' #*01m58%=/@GCGC' %n %(0.36w8 B9DJJ% $e'Y) 456w9>@EJJ$e #  y'!x)-:/3:=/ FlFl# ! d&) 2D5:>AbEHH! ] P $%(0) 3:=/ FlII ] 1n%+,c.58DHHM dn $).1m37N;>B9B9  E!x&..37NDHH=  PZ!x$-: 6w6w 8B9EE 5 q?`41benefitsofthisnewfeature,theuserwillhavetorecompilefunctionsthatcreategraphnodesFLIPNODEnowinvertsaregionthatis1pixelbiggerallaroundthanthenode'sregion.Thismakesitpossibletoseeblackbordersafterthenodehasbeenflipped.LAYOUTGRAPHtakesanewformattoken.AddingREVERSE/DAUGHTERStothelistofformatitemswillreflecthorizontalgraphsvertically,andverticalgraphshorizontally.*LOGOCLOCKprocessrestartsafterHARDRESET(237)*SAMEDIR:MIGRATIONSmodified:cannowhavelistofdirectories(238)*SINGLEFILEINDEX:PrintingprocesspreventsLOGOUTuntilfinished(249)SINGLEFILEINDEXnowspawnsitsprocesswiththeprocesspropertyBEFOREEXIT=DON'T,sothatitwillnotbeinterruptedbyaLOGOUT.IfLOGOUTisexecutedbeforetheprocessfinishes,amessagewillappearsayingthatInterlispiswaitingfortheprocesstofinish.IfyouwanttheLOGOUTtoproceedwithoutwaiting,youmustusetheprocessstatuswindow(fromthebackgroundmenu)todeletetheprocess.*SINGLEFILEINDEX:newvariable\SINGLEFILEINDEX.DONTSPAWN(2941850)Iftheglobalvariable\SINGLEFILEINDEX.DONTSPAWN=NIL,SINGLEFILEINDEXwillspawnaprocesstoprocessandprintthefile.Ifthevariableisnon-NIL,theprocessingisdoneinthecurrentprocess.WhenSINGLEFILEINDEXisloaded,\SINGLEFILEINDEX.DONTSPAWNisinitializedtoNILifitisnotalreadyset.*SPY:"recursivemerging"reworked,newfunctions(23051968)TheSPYmergealgorithmsometimesproducedincorrectresultswhenviewingrecursivecalls,likefunctionsshowingupat200%.Thishasbeenfixed.ThemacroWITH.SPYhasbeenadded,identicaltotheinconsistently-namedWITH-SPY.(SPY.LEGEND)createsawindowdocumentingthemeaningofthedifferentSPYnodetypes.(SPY.BUTTON)createsabuttonwhich,whentouchedonceturnsonSPY,touchedagain,turnsitoffandcalls(SPY.TREE10).Thisisusefulforwatchingwhat'sgoingoninthesystemwithouttypingalot.*SYSEDIT:EXPORTS.ALL(loadedbySYSEDIT)doesnotresetDIRECTORIES(857)EXPORTS.ALLcontainsdefinitionsforsystemrecords,andisusedtoeditsystemcode.Previously,whenthisfilewasloaded,itwouldresetthevariablesDIRECTORIESandLISPUSERSDIRECTORIEStopointtothedirectoriesusedbytheInterlisp-Dmaintainancegroup.*WHEREIS:Severalchangestohelpuserscreateandmaintaintheirowndatabases(1261625)Previously,theWHEREISpackageinterpretedthevalueofthevariableWHEREIS.HASHasthefullfilenameofthesinglehashfiledatabasetosearch.Now,WHEREIS.HASHisinterpretedasalistofhashfilenames,tobesearchedinorder.ThisallowstheusertokeepanumberofseparateWHEREISdatabasesfordifferentprojects.Also,insteadofacceptingthehashfilefilenamesasfully-qualifiedfilenames,theyarefoundbysearchingthedirectoriesonDIRECTORIES.WHEREIS.HASHisinitializedtoNIL.E 5 g,qHhJjh b5;#&&*.35>FlJJb5 ` A` _ _ ^-E#&'Y)+06w9?CGCGC^- \d #&*-:05FlFlWu V V T T Sms "O'Y.SmqSm//SmpSm3SmqSm3!Sm R R Ps 1 n$(0+/36w ?PqP@@PpPCPqPCP Oe Oe N s !x(0/5:AbN qN B9B9N pN EN qN EN L L K]d #*.2D8@@K] J"O&),c 6w8:AbB9DJJJ H yE#,c.48>DHHH GUZ"O)+2D358=/@FlHHGU Ed"O&)-:39?DHHE D 1; #*D CM CM As E$:AqA;;ApA>B9AqAB?A @ @ ?E yE359GCGC?E ='1$(0-:056w8>< ;=d 7N9 CFlII;= 9 y9 8 8 75s   ),c375q754475p758<-75q75<375 5 5 4 P&.6w=/AbHH4 3-Z;n$+.056w:>B9HH 3- 1 1 0} PZE!x'Y/2D5GCGC0} /%/% - - ,u E#& -:07N9=/EHH,u +'7+ ) ) (m E#&)-:38%=/?CJJ(m 'd#&+/047N=/@HH' %dE#&)/1m4% $e $e # s 1 E#&.2D5: C# q# DD# p# H# q# H # ! ! ]  %).6w9CFlFl Z n1m38;> HH U'  ).U   s 1 #&'Y,c2D5=/B9EE MMqMZZMpMMqMM    d$ .2D7N9=/DD E d#&'Y)-:37N;CEEE  #& -:/1m58%?HHV T E"O$),c.3456w6}T Sm Sm R yZn &*.35>@EHHR P P !x#),c358?B9B9P Oe "O +.6w9=/EEOe N Z !x'Y)+2D59>B9DDN L"O#& ,c.35CHHL K]K] J J H H G!r G! E E Ds D B  # . 8%>BqB>B Ai Ai @ yE#'Y. 8;>AbDHH@ >Z#&'Y.358;>EE> =a=a < s < : E )*.:q:.: 9Y 9Y 8 d%+.2D =/CGCGC8 6Zn 'Y(0*08CFlHH/ . yZE!x#'Y*.58%=/@CHJJ. -AZdE#(0-:03-A + + * P  -:04;HH* )9 %&)-: 8?CGCGC)9 'Z&*-:06w8?B9FlII' & P $),c08%; FlFl& %1Z;#&(0*.3 >CGCJJ%1 # *.36w @GCII# " #&&,c2D48%>" !) !)  P (0 1m48? y y !;"O(0/6w:@FlJJ! d"O),c3 q q  'Y+.48%@CFlFl - i i s n%)2D > HH qpq a a  d"O% 1m37N;=/DD  ; $))-: 6w>AbDD Y;n"O&)-:048>@CGCJJY  y ,c.2D8%:?CFlFl  ZE#&+.1m47N:>AbCII QE!x&,c2D5;>@ JJ Q q?`43precedingthisday);\EndDSTisthedayonorbeforewhichDaylightSavingsTimeends.Daysarenumberedwith1beingJanuary1,andcountingthedaysasforaleapyear.IntheUSAwhereDaylightSavingsTimeisobserved,\BeginDST=121and\EndDST=305.InaregionwhereDaylightSavingsTimeisnotobservedatall,set\BeginDSTto367.*(TIMEREXPIRED?XY)documentationwrong(1226)IfXandYarevariableswhosevaluesaretimers,(TIMEREXPIREDXY)istrueifXissettoanEARLIERtimethanY.TheReferenceManualwaswrong:itsaidthatitreturnedtrueifXwaslaterthanY.*IDATEwaswronginMarchofleapyear--fixed(153)*GREETnowasksforinitfileintypescriptwindow(231)InGREET,ifthesystemcan'tfindthefile{DSK}INIT.LISP,theuserisaskedtotypethenameofthesiteinitializationfile.Previously,thispromptwasprintedinthepromptwindow.Now,thepromptisprintedinthetopleveltypescriptwindow.*NewfunctionNORMALCOMMENTSforsettingNORMALCOMMENTSFLG(20352046)Theinterfaceforsettingthe"remotecomment"facilityhaschanged.TherecommendedwaytoenableanddisablethisfacilityistocallthenewfunctionNORMALCOMMENTS,ratherthansettingthevariableNORMALCOMMENTSFLG.(NORMALCOMMENTSNIL)enablesthe"remotecomment"facility,and(NORMALCOMMENTST)disablesit(thedefault).J Q g,qHhJjh b5Z"O$(0+.06w;CIIb5 `'1;#&'Y).47N:B9EII` _ y!x$)1m8%GCGC_ ^-Zd!x#&'Y(0*,c2D7N>EII^- \ yd!x),c/\ [} [} Z%s ;n (0,cZ%qZ%-:-:Z%pZ%1BZ%qZ%1HZ% X X Wu y'1#)-:3 ?AbCFlJJWu V y'#(0*+.7N=/@FlHHV T'Zn #&$(0-:1m3!T Sm Sm Rs  #&'Y+.2DRqR33RpR6wRqR6}R P P Oes ;#& /4OeqOe55OepOe8OeqOe9Oe N N L yZ;#&'Y*.B9EEA @$)/3:I@ ?E ?E =d"O%,c3HARMONY>DOC>HARMONYRELEASESPECIFICS.TXTSANNELLA 4-Jan-85 10:47:57