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).*AdvanceWarning:(READ)willnolongerreadstringcharactersinfuturereleaseInthecurrentrelease,(READ)continuestoworkasbefore.However,insomefuturerelease,thisfeaturewillbedecommissioned,andOPENSTRINGSTREAMwillbetheONLYwaytotreatastringasafile.Userswhodependontheoldfeatureareencouragedtochangetheircodenow.*NewfunctionCOPYCHARSforcopyingwithEOLconvention(1511967)ManypartsofthesystemhavebeenchangedtoautomaticallyconvertbetweendifferentEOLconventions.COPYFILE,MAKEFILE,andTedithavebeensomodified,butwecan'tclaimthateverypossiblecasehasbeentakencareof.Foruserprograms,thefollowingfunctionisavailabletodothisconversionautomatically:(COPYCHARSSRCFILDSTFILSTARTEND)ThisislikeCOPYBYTES,exceptthatitperformstheproperconversioniftheEOLconventionsofSRCFILandDSTFILarenotthesame.STARTandENDareinterpretedasbytespecificationsinSRCFIL.ThenumberofbytesactuallyFl 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;#*-:06w8 GCII$e # # q# # ! ! ] y#&+36w:=/CDD ] ;%)047NDHH ;n"O&),c1m38;=/B9CHH U P1n#&& /2D8%=/AbDU   s "O)-:0 8q99p=/@q@ M M '1#&'Y.0 CEE EZ;E"O&+37N:>CHHE  P'!x)1m3AbEE  1  = =  1#'_ ' #(0*2D5; DGCJJ 5 P d#&),c/38%8>AbDHH 5  'Y)01m4:=/B9II  q?`3outputtoDSTFILmightbemoreorlessthanthenumberofbytesspecifiedbySTARTandEND,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.*COPYFILEnowusesFTPprotocolwheneverpossible(1302)Previously,COPYFILEusedtheLeafprotocolwhencopyingfromafileserverthatalsoimplementedLeaf.UsingtheFTPprotocolforsuchfiletransfersismuchmoreefficientforsomeservers.*COPYFILEinfersfiletypewhensourcefilehasnone(561)I g,qIhJjh b5Z;E#&*.2D8%:?HJJb5 `Z!x%),c 6w:;>AbEJJ` _ P  #&%).6w\ [} [} Z% P"O*.0 ?CGCGCX Wu'#),c.4EIK]qK]JJK] Jp PJqJ VJ H H GU'1 !x#'Y 1m8>CGCGCGU EZ;#&*37N:CGCJJE DE$'Y 047N>DHHD CME %.039?CM A A @s  #(0/ 8@q@99@p@=/@q@=5@ ?E ?E = P #'Y+1m38%>CEHH= <'1 $)1m8 B9DII< ;=n (0+ 58%;>B9FlFl;= 99 8 8 75s  'Y.75q75..75p7526L75q756R75 5 5 4Z#+.46w ?FlII4 3-n $,c-: 7N=/?CII3- 11#&+08;CFlFl1 0}1 'Y,c-:1m8%: DGCGC0} /% 1A/% - - ,u Pdn ,u + ' !j+ ) PA) (m '#%*.3 ;s(m ' P' % '%(-&1Y5 =% $e P$e #  '%( 1_# ! ! ]1 "O%,c. 8%?GCII ]  %.1m9   Us  E#&'Y.1m6wUqU7N7NUpU;V>AbUqUAhU    d )+-:2D48=/AbHJJ M1E &+.1m7N;>DM   s 1%-:3q44p8q8 E E  #&'Y.39>?CII 'Z n!x"O'Y*.58=/AbII = yE $+=   s 1E!x%+/36w q 7N7N p : q : 5 5 m q?`4COPYFILEalwaystriestocreatethenewfilewiththesamefiletypeastheoriginalfile.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)InsomeversionsoftheUnixleafservercode,forfileswithoutversionnumbersOPENFILEreturnsafilenamewithversionzero.IfthisfilenameisthenpassedtoOPENFILEagain,itfails.Now,Interlispexplicitelylooksforthatsituation,andstripsofftheversionnumberentirely.*KnownBug:UnixFTPserverreturnsfilenameslike"FOO;1."(2384)SomeversionsoftheUnixFtpServerhaveabugthatcausesDIRtoprintthenamesofextensionlessfilesas,say,"FOO;1."(withaperiodAFTERtheversionnumber). 5 g,q h h b5dn$(0+/37N;?CFlIIb5 `dE$*.35=/DHH` _1dn$'Y*-:05:>CHH_ ^- PZ n#(0+03@ II^- \;E %*-:03;?FlJJ\ [}[} Z% Z% Xs 1&.3:>XqX??XpXCXqXCX Wu Wu V (006w8%=/B9GCGCV T1;!x$-:07N?@DDT Sm;n */6w8:@GCJJSm R P KR P P Oes 1#&)-:48%OeqOe88OepOe=@`OeqOe@fOe N N L ; $'Y-:/5=/B9HHL K] P"O%,c2D5CGCGC9 8Z"O&*2D8% AbEE8 75 !x +75 5s 5 4 n!x$4q4$4 3- 3- 1Z$%).1m58%:>AbDHH1 0}Z%(0,c038;>AbII0} /% y !x#&) /% - - ,us 1; !x#+,uq,u,c,c,up,u0k,uq,u0q,u + + ) P;&)+.06w ?B9JJ) (m y%&+.48;> HH(m ''  'Y*.1m >B9HH' % Pt% $e $e # s ;E!x(0,c2D6w# q# 7N7N# p# :# q# :# ! ! ]'#&'Y.358?B9B9 ]  ;n 'Y+.04;> HH ' U U s 1;n"O'Y+.4   =s n"O)-:2D6w=/=q=>>=p=B=q=B=   ';#&)-:.2D6wCFlFl 5 j  q?`5*1100/1132{DSK}devicesupportsfiletypes(629)FilescreatedbyInterlisponthe1100/1132localfilesystemnowhaveTYPEinformationsaved,whereTYPE=TEXTorBINARY.FileswrittenoutsideofInterlisphaveTYPE=NIL.*ExpandeddocumentationforRENAMEFILE(2264)(RENAMEFILEOLDFILENEWFILE)RenamesOLDFILEtobeNEWFILE.Causesanerror,FILENOTFOUNDifOLDFILEdoesnotexist.Returnsthefullnameofthenewfile,ifsuccessful,elseNILiftherenamecannotbeperformed.Inthegeneralcase(e.g.,whenOLDFILEandNEWFILEareondifferentdevices),RENAMEFILEworksbycopyingOLDFILEtoNEWFILEandthendeletingOLDFILE.*Documentationcorrection:METASHIFTarghastobeT(227)ThereferencemanualisincorrectwhenitsaysthattheFLGargumenttoMETASHIFTcanbeanynon-NILvalue.Toworkcorrectly,FLGmustbeT:(METASHIFTT).Othernon-NILvaluesarepassedastheACTIONSargumenttoKEYACTION.ThereasonforthisisthatifsomeonehassetBlank-bottomtosomerandombehavior,then(RESETFORM(METASHIFTT)--)willcorrectlyrestorethatrandombehavior.*(CLOSEF)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,andthevariablesPRINTERTYPESandPRINTFILETYPEScontainthetheinformationnecessarytoprintafileonanygivenprinter.Forfulldocumentation,seeAppendixA(HardcopyFacilities).*ImagestreamsallowprintingarbitrarytextandgraphicsonPressorInterpressprinters(2291)Previously,theonlydocumentedwayofprintingtextandgraphicsonPressorInterpressprinterswastouseoneofthesupportedtools,suchasTedit.Whilethesetoolsaresufficientformanyneeds,therewasaneedforfunctionsthatuserscouldcallfromtheirprogramstoprintarbitrarytextandgraphics.Aspartofalong-rangeefforttoprovideasimple,j g,qIhJjh b5 b5 `s &*.`q`//`p`3`q`3!` _ _ ^-; #&&.38%>AbEII^- \ #&$)+2D38%>EHH\ [}Zn[} Z% Z% Xs 1 "O *XqX++XpX/XqX/X Wu Wu V !~V Tdn#$*-:37N:?B9HHT Sm'd;"O&*-:038; EIISm R P1!x *+.1m8%FlHHGU E 1dE $'Y+.48%; FlHHE D'n ) 358=/EED CM"UCM A A @s Z!x#%**@q@++@p@.@q@.@ ?E ?E =s &)=q=**=p=.=q=.= < < ;= ;#&%-:4:?B9DGCGC;= 9Z #%*2D8%8 CEJJ9 8 PZ!x&(0,c38%:=/@CEE8 7575 5 5 4s 1 %)05>DGCGC4 3-3-q3-3-p3-;3-q3-A3- 1 1 0} 0} .r . -S -S +s + * 1"O% .*q*.* )9 )9 ' yn(0+38%:>CFlFl' &;n ) 347N;?EHH& %1d#),c/4:>B9HH%1 # PZ #&&,c/7N; DEHH# " Pn#& ,c.38>CGCGC" !)Z"O%+3 ;!)   y y!x) 2D6w: CCy ! %)+/2D5 HH Z"O%*2D36w: GCJJ i1 %i   s dn#,c03;>CEE a 1aqaapaaqaa    d $(0*2D6w9AbCHH Y y E #&&),c/8%>B9DJKvKvY n %)-:38%;=/AbDD  Z $).58%=/EII Q PE!x *039;B9B9 Q q?`6consistantinterfacetothevariousgraphicsdisplaydevices,"imagestreams"werecreated.Animagestreamisanoutputstreamwhich"knows"howtoprocessgraphicscommands.Likeadisplaystream,itcanbepassedtotheordinarycharacter-outputfunctions(PRINT,etc.),ortothegraphicfunctions(DRAWCIRCLE,etc.).Whentheimagestreamisclosed,thecommandsareplacedinaPressorInterpressfile,orsentdirectlytoaprinter.Imagestreamsarecreatedusingthefollowingfunction:(OPENIMAGESTREAMFILEIMAGETYPE)OpensanoutputstreamoftypeIMAGETYPE(eitherPRESSorINTERPRESS)withfilenameFILE.FILEcaneitherbeanormalfileora"printerfile"(seebelow).Inthelattercase,thefileissenttotheprinterwhenthestreamisclosed.Ifnofilenameisgiven,thefirstprinteronthelistDEFAULTPRINTINGHOSTthatacceptsthefiletypeIMAGETYPEisused.IfIMAGETYPE=NIL,theimagetypeisinferredfromFILE:theextensionsPRESSandIPdenotePressandInterpressfiles,respectively.Namesforprinterfileslooklike{LPT}PRINTERNAME.PRINTERTYPE.InthecaseofPressprinters,PRINTERNAMEcanbeanarbitrarystring,andinthecaseofInterpressprinters,astringcontainingacolon.PRINTERTYPEisahintastothetypesoffiletheprintercanhandle,asabove.Forexample,{LPT}QUAKE.PRESSindicatestheprinternamedQUAKE,whichcanprintPRESSfiles.Nameslike{LPT}PAPERMATE:.PRESSwillnotwork,asthecolon-bearingprinternameimpliesInterpress,contradictingthe.PRESSextension.Note:Currently,someoutputfunctionsdonotworkcorrectlytoimagestreams.Also,BITBLTdoesnotacceptimagestreams.Thisfunctionalityisstillbeingdeveloped.*CanprintbitmapsonPRESSprinters(1206)BitmapscanbeprintedonpressprintersusingHARDCOPYW,orbyinsertingbitmapsintoTeditdocuments.Ifthebitmapistoolargeforthepressprintertohandle(forexample,ifyoutrytoprintacompletescreenimage),itisclipped.*HARDCOPYWsendsbitmapstobothPRESSandFULLPRESSprinters(1912)HARDCOPYWnowgoesthroughFULLPRESSBITMAPwhengoingtoafullpressprinter.ThefunctionPRESSBITMAPusestheCLIPPINGREGIONargumentforclipping,whileFULLPRESSBITMAPrecognizestheSCALEFACTORargument.*LISTFILESautomaticallydetectsandprintsformattedTeditfiles(1147225)*HARDCOPYWnotano-opifDEFAULTPRINTERTYPE=NIL(1084)*BettererrormessageprintedifDEFAULTPRINTINGHOSTisNIL(1408)Previously,attemptingahardcopyoperationwithDEFAULTPRINTINGHOST=NILwouldproduceanobscurelow-levelerror.*HARDCOPYWhasnewarg:PRINTERTYPE(456)Bydefault,HARDCOPYWwillcreateanInterpressfileifthereareanyInterpressprintersonDEFAULTPRINTINGHOST.ThisdefaultcanbechangedbypassingPRESSasthePRINTERTYPEargumenttoHARDCOPYW.*HARDCOPYinthebackgroundmenudoesnotrepositionthecursor(319)Fonts=====*IncompatibleChange:Newfontdirectoryvariables.(155)B9 Q g,q h h b5 1!x(0/6w>CCb5 `t` _ _ ^- ydn"O(0-:37N9@HH^- \Z1d&),c.47N:B9B9\ [}; 'Y-:/2D5CHHR PdE"O%),c036w=/AbDJJP Oe y1 #&),c1m8%:>B9B9Oe N %)-:1m9AbDHHGU E y % .06w7N AbCEIIE D yZd!x(0+2D4:;>FlFlD CM; #*/5:>CHHCM A,c038;> JJA @ % 1m4: C@ ?E ?E = E#&+.1m5>@EE= <ZdE!x$*/7N8%AbFlFl4 3-1E$'Y*.057N>DD3- 11t1 0} 0} /%s "O&+.7N>/%q/%>>/%p/%B/%q/%B/% - - ,uZ .2D7N9;?DD,u +ZE 'Y+. ;CFlFl+ )Zd$ .1m ;C) (m (m 's  &)/8%=/Ab'q'B9B9'p'FAH'q'H' % % $es d 3$eq$e33$ep$e7$eq$e8$e # # !s E#&7N9AbDDM  1E./3:>@GCII ; %-:/ 8+ E E s 1 "O&*. 7N:?q@@pCqC   = = r   q Qs E $-: 5 Qq Q6w6w Qp Q9 Qq Q9 Q q?`7Previously,Interlispusedaconfusinggroupofvariables(FONTDIRECTORIES,NSFONTDIRECTORIES,NSFONTWIDTHSDIRECTORIES,STARFONTDIRECTORIES,FONTWIDTHSFILES)todeterminewheretosearchforfontbitmapfilesandfontwidthsfiles.Thesevariableshavebeenremoved,andanew,rationally-named,sethasbeenintroduced:DISPLAYFONTDIRECTORIESValueisalistofdirectoriessearchedtofindfontbitmapfilesfordisplayfonts.DISPLAYFONTEXTENSIONSValueisalistoffileextensionsusedwhensearchingDISPLAYFONTDIRECTORIESfordisplayfonts.Currently,Interlispcanread"STRIKE"and"AC"displayfontfileformats.Eventually,allInterlispdisplayfontswillbedistributedwiththeextension.DISPLAYFONT.Therefore,thisvariableshouldbeinitializedto(DISPLAYFONTSTRIKEAC).Notethattheextensiononthefileisusedtolocatethefile,butoncethefileisfoundInterlisplooksinsideittodeterminewhatformatitisandhowtoreadit.INTERPRESSFONTDIRECTORIESValueisalistofdirectoriessearchedtofindfontwidthsfilesforInterpressfonts.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.Ifthefiles9 Q g,qIhJjh b5 b5 ` n "O*/2D:II` _.@@_ ^-;#&(0*038%>CFlJJ^- \#(0,c37N8=/=/\ [}n# -@[} Z% Z% XtX Wu1d #+.2D6wFlFlOe N n &*.6w B9CCN L 1d$'Y 1m3 >DHIIL K]'Z #(0*.1m7N:?CGCJJK] J'#&)+.6w:@CEHHJ H PH GU GU EE D1d #+.2D6wCHH$e # Z; #&)/ 8 B9EE# ! "O&-:04;>B9HJJ! ] #&(0.1m3;AbGCII ]    U yn#&(0*/38%B9DDU #&) 337N>B9EE M#&1m ;>B9FlJJM  1d$)*.38>@CJJ  n 'Y,c037N8%;AbFlFl E -:.1m6w=/@GCGCE  !x"O(0+/6w9>CFlJJ 'Zd#&#'Y(0+.6wGCGC =dE#&*-:06w;>DFlFl=  &,c1m6w9 5Z #& .49@CHH  q?`8arenamedsimilarlytostrikefilesdistributedwithInterlisp,andputonthesamedirectories,theycanbeusedlikeanyotherfont.*Fontclassesarefirst-classdataobjects(14161552)Fontclasseshavebeenintroducedasafirst-classdataobject.Thenormalfontclassvariables(LAMBDAFONT.CLISPFONT,etc.)areinitializedtofontclassobjects.*FontfunctionstakefontinmanyformsThefontfunctionshavebeenextendedtotakefontsspecifiedinavarietyofdifferentways.CHANGEFONT,DSPFONT,FONTCREATE,etc.canbeappliedtofontclasses,fontdescriptors,and"fontlists"suchas'(GACHA10).Theprintoutcommand".FONT"hasalsobeenextendedtoacceptfontsspecifiedinanyoftheseforms.*Newfontfunction:FONTSAVAILABLE(2274)Thisfunctionallowsprogramstodeterminewhatfontsareavailablefordifferentdevices.(FONTSAVAILABLEFAMILYSIZEFACEROTATIONDEVICECHECKFILESTOO?)Returnsalistoffontsthatmatchthegivenspecification.FAMILY,SIZE,FACEandDEVICEarethesameasforFONTCREATE.Additionally,anyofthemcanbethewildcardatom"*",inwhichcaseallvaluesofthatfieldarematched.Insystemswithseveralfontdirectories,wildcardsearchesmaytakeawhile.IfCHECKFILESTOO?isNIL,onlyfontsalreadyloadedintovirtualmemorywillbeconsidered.IfCHECKFILESTOO?isnon-NIL,thefontdirectoriesforthespecifieddevicewillbesearched.Whencheckingfontfiles,theROTATIONisignored.Note:Thesearchisconditionalonthestatusoftheserverwhichholdsthefont.ThusafileservercrashmaypreventFONTCREATEfromfindingafilethatanearlierFONTSAVAILABLEreturned.Eachelementofthelistreturnedwillbeoftheform(FamilySizeFaceRotationDevice).Forexample:(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:LocalfilesystemupgradedtoKlamathfilesystem;MUSTreformat1108disksH g,q h h b5 PZE#&(0 2D6w ?CFlHHb5 ` P n #&*.2D7N;` _ _ ^-s  #&'Y-:^-q^-..^-p^-25u^-q^-5{^- \ \ [} ;n %(0) 38%>?CHH[} Z%'1 & /48% B9DDZ% XZX Wus Wu V ;n #&'Y+VqV+V T T Sm P"O),c05>@B9HHSm R y $,c 6w:>@GCIIR P  #'Y,c2D6w8?CDHHP Oe;"O&*2D4:?HJJOe N  PN L L K]s 1 'YK]qK](0(0K]pK],8K]qK],>K] J J H'#&%.2D7N:CFlFlH GUZGU E E DdE!x%-:3?D CMZ"O'Y*/ B9DHHA @ P1#&%*.2D8%:>CGCGC@ ?EZ&* 5=/DHH?E ='= < < ;= y #)/59@FlJJ;= 9 y d &)038% B9EHH9 8Z;n'Y(0,c38%>AbHH8 75 y75 5 5 4Z; $'Y*036wB9FlFl/% -E$- ,u ,u +d $&.+ ) ) (m'$+34=/?GCJJ(m ' P&) 2J' % % $edn!x +-@$e # # !'n#&'Y) 38%@FlFl! ] #&%)-: 7T ]   s n%)q))p,q, U U   $'Y*.48%?CGCII  y#),c36w:>DHH M'Z"O(0+/2D5>@HJJM Z;t   Es ;#,c.1m5:>EqE??EpEBdEqEBjE      r  & k &k s  E"O&,c36w=/AbHH Q' Qq Q" Q q?`%9The1108diskformathasbeenchangedtotracktheKlamathreleaseofPilot,the1108'slow-leveldiskoperatingsystem.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-runningInterlispvirtualmemory.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)" Q g,qIhJjh b5 b5 ` P#&),c1m4;B9DJJ` _ P1(0./2D58?GCII_ ^- P d"O).38%:@CGCGC^- \ !x&*.37N> HH\ [}"O'Y..37N;AbDD[} Z% "O%)8;CFlJJZ% X &-@X Wu Wu VZ!x#'Y-:/3:>CGCHHV Td).2D3:@CDDT Sm (0*-:/39 CFlIISm R7R Ps P Oe E#&)/35 ?FlHHOe N 'N qN -N L L K]n!x%).4:;?FlFlK] J"O$'Y*034DqD>D CM CM A PE %)/38% B9CDJJA @ yE$(0.2D6w;>EFlII@ ?EZ#&)?E = = <Z!~< ;= ;= 9Z$9 8 8 75 1t75 5 5 4 P n#&'Y,c1s4 3- 3- 1s #&'Y)06w=/B91q1CC1p1Fl1q1Fr1 0} 0} /%'"O$)-:4 @GCJJ/% -';$ .1m@HH- ,ud;n'Y)-:47N;CEII,u + yZ1 )-:1m8++ ) ) (ms ;#+(mq(m,c,c(mp(m0k(mq(m0q(m ' ' % n!x'Y.1m4EHIIU "O*1m2D6w9 HH M;nE )* 6wCFlII  yt E E s "O).37N9=/q>>pBqB   = $)-:/2D6wB9GCGC= '$(0-:1m7N{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,suchasDIR{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)Ep g,q h h b5 b5 ` y'Z;E#&'Y*/39>AbGCHH` _1#&)+.4 ?B9II_ ^- PZ #'Y+1m6w8@AbCII^- \1d"O'Y*-:2D48%XqX> X Wu Wu V'$(0,c1m5;B9EEV T n!x&'Y,c.3T Sm Sm Rs   #&-:RqR..RpR2RqR2R P P Oes #(0+37N; EOeqOeFlFlOe N p N qN N L L K] K] IrI H3 H3 Fq F Eqs  #+1m6wCEqqEqDDEqpEqHEqqEqH Eq D D B1d %3;> GCGCB Ain #)-:4:>CDDAi @  #&&),c.2D9>@ > > =as E!x&=aq=a'Y'Y=ap=a+a=aq=a+g=a < < : ;!x%(0).4:>?CHH: 9Y P#&& /2D5=/AbII9Y 8Z'Y 2D7N GI5Q 3 3 2s "O),c2D6w2q27N7N2p2;V2q2;\2 1I 1I /Z;!x&*1m9DII/ .'E"O),c2D7N9>EE. -A n"O'Y,c1m7N8%=/ GCGC-A +'n #+.37N>B9II+ *'Z;(0*.3:>GCGC* )9';#(6)9 ' ' &s 1 +38%?&q&@@&p&D&q&D& %1 %1 #  #(0)/38%? HH# " yn %).0 9" !) !) s  %,c.7N9q::p>q> y y !s "O -:0!q!1m1m!p!5u!q!5{!   q'n#)-:/7NB9FlFl ; !x(003:>B9HH i$)/i   s 1 %)+.36w9>q>>pBFAqFG a a  ';K   Ys E(0. 8% B9IYqYJJY p q    q?`11Previously,thefloppysystemignoredfloppyfiledirectorieswhencomputingthenextversionnumberforanewfile.Forexample,itwouldcreatethefile{FLOPPY}NAME.;2iftherewasafile{FLOPPY}NAME.;1.*FLOPPY.MODEnolongerchangedtoSYSOUTafterasysout(207)*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,ifany,chanceofdroppingcharacters.UseofthisportrequirestheE30hardwareoption.*IncompatibleChange:GlobalvariableRS232XON\XOFF?replacedbyfunctionRS232XON\XOFF?TheinterfacetotheXON/XOFFprotocolhasbeenchanged:ratherthansettingtheglobalvariableRS232XON\XOFF?,thenewfunction(RS232XON\XOFF?ON?)shouldbeusedtosetandunsetthisstate.InfuturereleaseoftheI/Oprocessorcode,enabling/disablingXON/XOFFprocessingbytheRS232Cportwillrequireafunctionalinterfacetowhatisnowmerelyaglobalvariable.*RS232CHATnowreinitializestheUARTcorrectlyafterLOGOUT,power-off(1320)Previously,turningthemachineoffandonagainwhile"loggedout"resettheUART.There-entryfunctionhasbeenmodifiedtoalwayre-dotheinitialization.Thisusedtocausetheerror"Shouldn'thappen!Over20consecutiveinterrupts"*RS232nowignorestimeoutswhentryingtologout.(1393)Previously,onecouldgetintoasituationwhereyoucouldnotlogoutbecauseRS232MODEMCONTROLwouldbreakunderLOGOUT,waitingfortheTTYPorttotimeout.*MakingsysoutwithRS232loadedwillnotcausebreakwhensysoutisloaded.(2007) g,qHhJjh b5 dE#&)/3 >B9JJb5 ` P;!x#&&+,c/7N9>DHH` _'"O'Y*,c0B?_ ^- ^- \s ;$'Y-:2D38\q\99\p\=/\q\=5\ [} [} Z%s n $Z%qZ%%%Z%pZ%)Z%qZ%) Z% X X Wus $'Y* 3:@DHHWu VVqVVpVVqV V T T Sms  "O'Y+05;SmqSmCGCGCP Oe  !x$'Y+038%>Oe N N Ls d"O&,cLqL-:-:LpL0LqL0L K] K] J' (0,c2D48:?EIIJ H' ;!x(0),c 6w:@CFlFlH GU #&&,c1sGU E E Ds ;#&%+. 8%DqD88DpD=DqD= D CM CM As d$).3AqA44ApA6AqA6A @ @ ?Es !x'Y-: 6w;Ab?Eq?EB9B9?Ep?EE?Eq?EE?E = = < < ; r; 9k9k 8s 8 6 dE!x# -:48@@6 5Q 5Qq5Q5Q 3 3 2 P"O%-:37N9=/B9CGCGC2 1I'; #&* 47NEHH1I /' (0),c.37N>B9EE/ .j. -As -A + E#&* 7N>AbHH+ * *q** )9 )9 ' P;#&*.2D9:@DD' &!x.2D5=/JJ& %1'E #)-:336wAbGCGC# "'Z #,c.358>@FlFl" !)!)   ys d #&&*38%>FlyqyGCGCy !p !q!!   q $(0+.38%>CHHq  PZ1%)-:47NDD $).5>H! F $)+01m3;CEEF Eq E ). ;@CCEq D!x"O$,c 8 GCHH@ > P#'Y+/7N8%=/>EE> =a;=a < < :s  E$'Y 3:q:33:p:7;V:q:;\: 9Y 9Y 8 yn )*37N9=/B9HJJ8 6 P #&&.0>>AbHH6 5Q P#&%.37N?DD3 2;E!x(0-:/2D8@FlII2 1I; $(0 39B9GCGC. -AZd&-:1m2D8@CJJ-A +'; #&8%9;+ * * )9s 'Z !x$+)9q)9,c,c)9p)9/2o58{)9q)98)9 ' ' &'E"O&,c 5>CGCGC& %1;#&&+.1m8>AbDGCGC%1 #';E #,c4;>CEJJ# " P;#$'Y*1m8AbDI!   qs n#,c.1m5qqq6w6wqpq:qqq:q    d !x$*.2D5> GCJJ i yZ1dE$)-:2D6w'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;anyothervaluemustbeaCouriervalueoftypeMEDIUM.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")).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)=5 Q g,qHhJjh b5 b5 `  #*.37N;>B9EE` _1!x#),c347N;@CC_ ^-  E ,c0^- \ \ [}s "O)-:1m47N;B9[}q[}CC[}p[}Fl[}q[}Fr[} Z% Z% X'X Wu Wu V V Tr T RR Qq Q P1s  $*-:2D6wDqD>D B B Ai d&)-:59@GCIIAi @ P"O$-:08%9;CEHH@ >> =a =a < s  $'Y-:4GC< q< HH< :p :q:: 9Y 9Y 8 P(0+.2D48%;B9DD8 6d;'Y,c.2D5>EGCGC6 5Q;E#&*358@CHH5Q 31d#&%)01m4:=/AbEHII3 2' %(0. 8%? JKvKv2 1I PZn"O$(0-: 6w>AbHH1I /'"O%+2D9/ . . -A PE #&(0 35;> GCII-A + P #&) 39+ * * )9 )9 'r' && $q $ #Ms d #& /8%Fl#Mq#MGCGC#M !p !q!! E y1 !x#&,c/8%; DDE d$(0 38% HH ='n *2D8%` _ _ ^-s E!x&)-:37N;AbHJJ^- \\q\\p\\q\\ [} [} Z%s "O) 4Z%qZ%55Z%pZ%8Z%qZ%9Z% X X Wu P%(003;B9DDWu V 1&*/36w8=/AbCHHV TZ#&(0.2D35=/@DDT SmZ!x&*-:1m39@CGCHHSm R !x%(0,c 6w=/ FlFlR P;#&'Y*-:38%;AbEHHP Oe PAOe N N Ls n!x#&*1m5=/EEL K]Z!xK]qK]"O"OK]pK]%K]qK]%K] J J H H G!rG! E E Dq D Bs  "O%).1m4 P  'Y*.36w9AbAb> =a  !x%+0 :?GCGC=a < ZE#'Y.35=/>?EHH< :E#&*08+: 9Y 9Y 8 P#&)+2D58%>?DJJ8 6d &6 5Q 5Q 3;#*1m48> 3 2 2 1I'd"O)01I / / . P# .58>B9HH. -A K-A + + * 1;n"O -:03;* )9 )9 ' P !x(0+ 48;CH ' & & %1 P #&&.3DHH iE &),c 8%B9HIIa   nE"O$+/57N>@EE E!x"O'Y.1m58%;@CJJ Y'ZY   s $ q %% p ),c q ,i Q Q q?`15Thereisnowonecaretperprocess.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.*Cursorresetcorrectlyaftergoingthroughscrollbar(378)Previously,slowlydraggingthemouseoutoftheleftofaTeditwindowwouldchangethecursortoaright-facingarrow(intheleftmargin),changeittothescrollingcursor(inthescrollbar),and"restore"ittotheright-facingarrowuponleavingthescollbar.ThewindowsystemnowrestoresthecursorcorrectlytothevalueofDEFAULTCURSORuponleavingawindow.*NewBackgroundmenuwhenCopy-keypressed;allowscopy-insertingaSNAP(1808)Varioussystemutilities(TEdit,DEdit,TTYIN)allowtexttobe"copy-inserted"atthecurrentcursorpositionbyselectingitwiththe"copy"keyhelddown.(Normallytheshiftkeysarethe"copy"key,thisactioncanbechangedinthekeyactiontable.)Itisnowpossibleto"copy-insert"thebitmapofasnapintoaTeditdocument.Iftherightmousebuttonispressedinthebackgroundwiththecontrolkeyhelddown,amenuwiththesingleitem"SNAP"appears.Ifthisitemisselected,theuserispromptedtoselectaregion,andabitmapcontainingthebitsinthatregionofthescreenisinsertedintothecurrentttyprocess.Currently,onlyTeditunderstandshowtoinsertabitmap.ThisisimplementedbythenewvariablesBackgroundCopyMenuandBackgroundCopyMenuCommands,whichareinterpretedsimilartoBackgroundMenuandBackgroundMenuCommands.Iftherightmousebuttonispressedinthebackgroundwhenthecopykeyisdown,themenustoredinthevariableBackgroundCopyMenuisenvoked.IfthisisNIL,anewmenuiscreatedfromthemenucommandsinBackgroundCopyMenuCommands.*RESHAPEBYREPAINTFNusesnewstrategytodeterminewindowcontentsafterreshape(1613)Previously,RESHAPEBYREPAINTFN(thedefaultreshapingfunction)alwayscopiedtheoldimagetothelower-leftcornerofthenewwindow,addinganynewimagetothetopandleft.Thisproducedunintuitiveresultsinthecasewherethelowerleftcornerwasgrabbedandmovedout.Thenewbehaviorwilldisplaythepartoftheobjectinthedirectionofthe Q g,qHhJjh b5;E (0)-:2D9>CHHb5 `'E!x(0-:38%:>B9GCGC` _1;$+.3;>@CHH_ ^- y1E#&%,c.2D6w7N:B9GCJJ^- \'n# -:2D8@CJJWu VZn"O%)*-:4;=/CCV T ;$(0+-:2D5:>B9CIIT Smd$'Y*,c.37NB9HHSm Rn'Y 33 >B9DHJJR P1"O% ./39CDHHGU E1n% 1m58?CIJJE D d $(0-:/58%=/>@FlHHD CM y; %),c.2D7N9=/DDCM A; !x&'Y*2D7N9B9DDA @Z1 $-:36}@ ?E ?E =s #)/588=q=99=p==/=q==5= < < ;= !x$)-:/37N9;@FlFl;= 9; "O -:2D58=/DJJ9 8 yZ #'Y-:2D5>@CFlFl8 75 $(0-:1m2D5;AbDD75 5#&%).0 CFlFl,u +1dnE%).2D58>CGCGC+ )1n"O%+2D358%;CEE) (m !x#&'Y+-:2D:;>AbFlFl(m 'd # -:1m4;>CHII' %'Z%-:.048;CGCGC% $e'; "O),c.3 =/@DGCGC$e # '"O).1m8%;CCC# ! 1dn &),c2D39! ] ] ' E #,cDHH M P2JM   s #&*-:5;CHH EEqEEpEEqEE    #(0.7N?EE =1!x *036w9@FlII=  PZ;#$)0 :AbCGCGC '1%)/38%@CC 5 q?`16expansion(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.*Caretflashingdoesn'tbringwindowtotopduringbuttoningorshift-selecting(681)Thecaretcodehasbeenchangedsothatitdoesn'tbringtheflashingcaret'swindowtothetopiftheuserisbuttoningorhasashiftkeydown.Thispreventsthedestinationwindow(whichhasthettyandcaretflashing)frominterferingwiththewindowoneistryingtoselecttexttocopyfrom.*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,andDRAWELLIPSEwillworkifthebrushargumentis1,andthe"operation"ofthedisplaystreamisINVERT.Forbrusheslargerthan1,thesefunctionswillstillusetheERASEoperation.*Newwindowproperty:NOSCROLLBARS(1053)Ifawindow'sNOSCROLLBARSpropertyisnon-NIL,scrollbarswillnotbebroughtupforthewindow,evenifithasbothEXTENTandSCROLLFNC 5 g,q h h b5Z $'Y*038%>CHHb5 `1$'Y,c3!` _ _ ^-'!x'Y.1m7N9=/EHII^- \"O(0,c/5=/CHH\ [}Z1dE-:/8%=/B9DHH[} Z%;#&* 4DHHZ% X'd"O&)-:2D4=/CIX Wu Wu Vs  ;#&*VqV++VpV.1VqV1V T T Sm P*=/=/Sm Rn3:CFlFlN Ln %)+2D6w9?DHJJL K] P n#&&*.38=/@EHHK] J P  !x&)2D48%> GCGCJ H  +. 9HH:H GU GU Es ;#),c/5>@@E DDqDddDpDDqDD CM CM A PZ$'Y+.49=/DDA @n"O%),c47N:@DH= < < ;=s #+;=q;=,c,c;=p;=/;=q;=/;= 9 9 8ZE#(0+2D A4q4A4 3- 3- 1 P"O%,c.2D6w9EII0} /% ynE!x$*-:47N:>DII/% - - ,u ,u +s n!x#(0-: 8+q+99+p+=/+q+=5+ ) ) (m 1 #).38@CFlII' % ;!x) % $e $e # s 'Z038%>@GCII# ! P!q!!p!!q!! ] ]   #&(0*038%?@DHH $),c.47N9>@H  U U s  E#&'Y*0 9=/CqDDpHqH   Ms !x#).06wMqM7N7NMpM;VMqM;\M    1 E *.358>EHJJ E P E ,c.56w9@FlJJE  y#&&). 7T   =s E 'Y=q=(0(0=p=,8=q=,>=    y' (0*2D8%@B9HHZ% X; $,c/38%;>AbDGCJJX Wu;"O&*.358@@Wu V;(0..37NDHHV T y #*-:059CSm R R Ps 1"O$'Y),c/PqP00PpP3PqP3P Oe Oe N Z #&*.4;>@CGCGCN L'1d&'Y+-:35:@DFlFlL K]d!x#*-:/2D6w8=/AbDIIK] J P#&) J H H GUs d (0GUqGU))GUpGU-GUqGU-GU E E DD CM 'Y).1m6wAbCII/% - ----Zn#&#&.1m39GCHJJ- ,u PZ;!x'Y+.7N7N,u,u;,u,u=/=/,u,uB9,u,uCGCGC,u +++1dE$'Y.0 9>FlHH+ )) (m (m ' yd''''"O$,c.1m37N>B9HJJ' %ZE#&&)1m8%:?CEGCGC% $ej$e # # ! y$(0034=/@FlFl! ]; ).36w;>CII ]  yZn!x#'Y.2D8%:Ah   U y$(0036w8%@DDU  dE%)-:03;>?EII  y M M  y#&'Y*.1m8 B9EHH  E E s %*06w=/B9qCCpFlqFr   = ==;====#&==) =  E%))-:06w88 GCII 51E (0.058%;@DGCGC 5 q?`Z18LIMITREGION.IfLIMITREGIONisNIL,thevalueofthevariableWHOLEDISPLAY(thescreenregion)isused.MAKEWITHINREGIONreturnsREGION.*INSIDEPnowacceptsawindowasitsREGIONarg(1151)IftheREGIONargtoINSIDEPisawindow,thewindow'sinterior(itsclippingregion)isused.*REGIONPnowtrueforregionswhosecomponentsarefloatingpointnumbers.(893)Previously,onlyintegerswereallowedascomponentsofaregion.*EXPANDBITMAPworkswithoutthecolorpackageloaded(674)EXPANDBITMAPusesthefunction\FAST4BIT,whichwaspreviouslyonlydefinedinthecolorlibrarypackage.\FAST4BIThasbeenaddedtothestandardInterlisploadup.*READBITMAP,PRINTBITMAPhavenewargument:FILE(538)(READBITMAPFILE)(PRINTBITMAPBITMAPFILE)Thesefunctionscannowbeusedtoreadandprintbitmapstoarbitraryfiles,withoutchangingtheprimaryinput/outputstream.*CURSORINFNandCURSOROUTFNwindowpropertiesextended(242)TheCURSORINFNandCURSOROUTFNwindowpropertiescannowbelistsoffunctionsaswellassinglefunctions.Allfunctionsonthelistarecalled.*Scrollbarprovidesbetterindicationwhencontentsareabovethewindow(698)Previously,thereweresomecaseswherethescrollbarwouldnothitthebottomunlessthebottomoftheextentwasasmalldistanceabovethetopofthewindow.*EDITBMdoesnotrepositionthecursortothecenterofthescreen(769)*control-DduringEDITSHADEnowclosesthewindow(854)*(BITMAPHEIGHT)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)GC 5 g,q h h b5 ; "O$),c1m37N> IIb5 `'E!x``"O#&#&``0``1m8%> ` _ _ ^-s Zn#&)/2D^-q^-33^-p^-7#^-q^-7)^- \ \ [} y"O$&-:08%?CC[} Z%;Z% X X Wus ZE#) 2D5=/B9HWuqWuIIWu Vp PVqV VV T T Sm ;#*-: 6w8:@Sm R R Ps "O%*1m6wPqP7N7NPpP:PqP:P Oe Oe N n# -:2D5 >CIIN L y#&#,c/38;>FlFlL K]ZAK] J J Hs  #'Y/3HqH33HpH7NHqH7TH GU GU E AE D D CMd $'Y+.3:=/EECM A!x(0 39A @ @ ?Es ; "O(0 1m8%?Eq?E88?Ep?EB9GC75q75HH75 5p P5q5 V5 4 4 3- E!x&+.7N>pBqB U U s 'Z;E%* 48 CDGCqHH p q M M  "O(0,c/2D5:AbCJJ ';E!x# .1m48 CDGI E E s Z"O(0*2D7Nq8%8%p<-q<3   =s  $,c06w=/?DHH=  Pq''pq 5s n$'Y,c.58%> 5q 5>> 5p 5B 5q 5B 5 { q?`H19*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)Previously,Teditcausedanerror,whenittriedtoprintthefilenameofthedocumentintheicon.Now,itdetectsthissituationandcreatesanemptyicon.*Teditmorecarefulabouterasingcaretimagesonthescreen(933)*EOFPworkscorrectlyforteststreams(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. g,qHhJjh b5s !x'Y*.2D ;>b5qb5>>b5pb5B9b5qb5B?b5 ` ` _ _ ]r] \[\[ Zs Z Y ; !x )YqY)Y XA XA VZ #&& /37N=/?B9FlJJV U 1!x))-:1m48%>CCU T9 1d%.5=/@T9 R R Qs  #(0.2D8%;?CQqQDDQpQHQqQH Q P1 P1 N'&'Y) 36w8;AbIIN M yZ"O$(0,c.2D5:CFlFlM L)ZjL) J J Iys d %).2D8IyqIy99IypIy=/IyqIy=5Iy H! H! Fd'Y+/7N;?CHHF EqZ $'Y)-:2D36w>B9DDEq D1d!x#) 2JD B B Ais d#&)AiqAi**AipAi.AiqAi.Ai @ @ > !x'Y+.35:>B9FlHH> =a Pd $'Y.2D:>DGCGC=a < 7< : : 9Ys  'Y,c2D48%=/9Yq9Y>>9Yp9YAb9Yq9YAh9Y 8 8 6s E $*6q6++6p6/6q6/6 5Q 5Q 3s ;n!x#).36wCEE)9 'Zn &' & & %1 %1 #r# "" q Es Z# -:/5;@GCEqEHHE p Pq   s Z;n!x#).358%>AbqB9B9pEqE W W s Z 'Y.048%CIJJ ? y& 2D3: CFlFl ? Z;E#$'Y*1m49NEW),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)Previously,thiscouldhappenifyoucalledtheinspectorfromDedit(byEVAL-ing(INSPECT...)),andcalledDeditfromtheinspectorwindow.ThisparticularsymptomhasbeencuredinthecurrentDedit.However,exitingDEditprocessesoutofordercanstillcausethiserror.*DeditsupportstheCOPYkeyonthe1108keyboard(228)ShiftselectsupportsboththeCOPYandtherightshiftkeys.*EditOpsmenufollowswhenthemainDeditwindowismoved(359)*Editbufferwon'tattachtoincorrectwindow(745)Previously,after"TTYInForm"ofatom,theDeditTypeinwindowforDEDITsometimeswouldattachitselftothebottomofrandomwindowsonthescreen.*Deditwon'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.J g,q h h b5!x%,c07N:AbCGCGCb5 ` ` _ _ ^- ydE#&&)-:/2D5>CHII^- \ ;n$+.6w=/@B9B9\ [} 1[} Z% Z% Xs ;E#&,c2D5;AbXqXB9B9XpXEXqXEX Wu Wu V !x#&'Y,c.37N8AbFlFlV T1;"O$(0036w:?CHHT Sm yZ;#&)1m5Sm R R Ps  "O* 4PqP55PpP8PqP9P Oe Oe N s 1; $,c.5N qN 6w6wN pN 9N qN 9N L L K]s 1; "O&*-:2D9AbK]qK]B9B9K]pK]EK]qK]EK] J J Hs #&)03:AbHqHB9B9HpHEHqHEH GU GU E dE#&%)-:2D8+E D D CMs  #'Y+036w9@CMqCMAbAbCMpCMDCMqCMDCM A A @s #+1m7N@q@8%8%@p@;>1@q@>7@ ?E ?E = ;E#&%).2D:>CGCGC= <"O(0-:1m4=/CDHH< ;= 1E!x&),c389AbHH;= 9dE"O%*/399 8 8 75s ;#&%)-:375q754475p758%75q758+75 5 5 4n #(0+.38=54 3- 3- 1s ZE!x$).36w:1q1;;1p1>1q1>1 0} 0} /%s  #&+0/%q/%1m1m/%p/%4/%q/%4/% - - ,u #&+.39?CHH,u +ZdE#&%).1m7N>@CI+ ) ) (ms n#&*(mq(m++(mp(m.(mq(m.(m ' ' %  #).48%>EJJ% $e1dE'Y*.39$e # # !s dE#!q!$$!p!(0!q!(6! ] ] s ;n"O'Y-:q..p2q2   U  "O)1m46w=/?GCGCU ';!x&+048%=/ FlHH  1;E#(0 1m7N:>CII M #&).05M   s  $*-:0q1m1mp4q4 E E  y1E% 037N>@CHH  = = s #&&),c.6wq7N7Np9q: 5'n&+2J 5  q?`21BreakPackage=============*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)*AUTOBACKTRACEFLGextended:cancauseBTforNON-errorbreaks(734)Previously,ifAUTOBACKTRACEFLGwasnon-NIL,thenthecommandBTwouldbeexecutedautomaticallyonerrorbreaks,butnotonuserbreaks(callstofunctionsbrokenbyBREAK).Ithasbeenextendedasfollows:IfAUTOBACKTRACEFLGisNIL(thedefault),nobacktraceisbroughtup.IfitsvalueisT,thenonerrorbreakstheBTmenuisbroughtup.IfitsvalueisBT!,thenonerrorbreakstheBT!menuisbroughtup.IfitsvalueisALWAYS,thenonanybreaktheBTmenuisbroughtup.IfitsvalueisALWAYS!,thenonanybreaktheBT!menuisbroughtup.*ERRORTYPELSTisnowaSPECVAR(11)ItmakessenseforuserstochangetheglobalvalueofERRORTYPELST,butprogramsthatrebinditclearlywantchangedbehavioronlyintheirownstackcontext.Itisonlylookedupundererrorconditions,soitshouldn'tcauseaperformanceproblem.*Breakpackagemorecarefulaboutabortingprocessonclosingwindow(162)Closingabreakwindownowonlyabortstheassociatedprocessifitwasinttywaitandtheclosedwindowwasthettywindow.Thisshouldstopsomeinadvertantaborts.*Warning:Typed-inBT,BTVcommandsdon'tstartattopofstack(990)Whenastackframenameisselectedinthebacktracemenu,thevariableLASTPOSissettotheselectedstackframe.ThisallowsbreakscommandssuchasREVERT,?=,etc.tousetheselectedframe.However,thevalueofLASTPOSalsoindicatestothebreakcommandsBT,BTV,BTV!,etc.wheretostartlistingthestack.Inspector=========*UsingSETtosetinspectorvaluesnolongercreatesmanyTTYwindows(31)Previously,theinspectorSETcommandwouldcreateanewwindowfortheusertotypeavalueeverytimeitwasused.Now,thedefaultSETroutineuses g,qHhJjh b5 b5 `r` _ _ ]q ] \s d"O'Y.06wCHHI2 G 1E#).37NCCG F 7F E* E* Cs n#&)+1m6w?q?>>?p?B9?q?B?? >r >r = $(0/37N>@EHH= ; E$+.2D48>DGCGC; :jZ;!x"O$(0,c36w>>AbAb:j 9;"O*-:58%>B9CEHH9 7;%)+/2D8CEE6b 5 d#&%),c36w7N9=/B9DD5 3; #'Y+.47T3 2Z 2Z 1s n#1q1$$1p1'1q1'1 / / .R y!x'Y*058% CGCGC.R ,$)/7N;>CFlFl, +dn &).3 =/?B9JJ+ *J !~*J ( ( 's d"O'Y.58%>C'q'DD'p'H'q'H ' &B &B $ZdE $*. 7N>@CFlHH$ # P;#'Y*.459?CHH# ": ": s 1!x).358;?q@@pCqC 2 2 ' (0*.6w;>FlFl 1n#)./39?GCGC *'d!x$(0/56w>AbFlHH* E#&(0/37Nr >   6q 6 s "O(0*07N;>DqEEpHEqHK . d#&).46w9?CFlJJ .  yZdn #&&+,c03:>DHH  q?`22anattachedpromptwindowontopoftheinspectwindowtoreceivethenewvalue.*Newinspectwindowcommands:"IT_datum","IT_selection"(142)ThevaluesdisplayedinaninspectwindowcanbeaccessedbycommandsonthemenubroughtupbypressingtheMIDDLEbuttoninthetitleofthewindow.Thecommand"IT_datum"setsthevariableITtotheobjectbeinginspectedinthiswindow.Thecommand"IT_selection"setsthevariableITtothecurrentpropertynameorvalueselectedintheinspectwindow.*VariableINSPECTPRINTLEVELusedforprintinginspectorvalues(435)Whentheinspectorprintsfieldvalues,PRINTLEVELisresettothevalueofINSPECTPRINTLEVEL,initially(2.5).*InspectorcallsINSPECTCODEtoinspectcompiledcodeobjects(640)CHAT====*ChatdoesnotturnoffinterruptcharactersuntilAFTERcreatingtheChatwindow(799)ThisallowstheusertoabortthecalltoChatbytypingcontrol-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.ThischangewasmadetoH g,q h h b5 y"O%(0+2D8%:AbDHHb5 `` _ _ ^-s # . 9^-q^-::^-p^->^-q^-> ^- \ \ [} P1 'Y-:03:=/DGCJJ[} Z%'d!x$*036w;>AbHHHZ% X P E!x$,c.1m4:?HJJX Wu' ,c03;>@CJJWu V;E$'Y*1m7TV T T Sms 1"O&)1m9>SmqSm??SmpSmCSmqSmCSm R R P'$+ 47NB9GCIIP Oe"O$&) Oe N N Ls  #&%,c38%>LqL>>LpLB9LqLB?L K] K] J J HyrHy FF Eqq Eq Ds d'Y 05:B9EIID BBqBBpB1BqB7B Ai Ai @'d#&&*-:1m39B9GCGC@ > 1 &> =a =a < s ;"O%+36w< q< 7N7N< p< :< q< :< : : 9Y n"O(0.2D4@CHH/ . "O% 1s. -A -A +s  )++q+,c,c+p+/+q+/+ * * )9s "O$&.38>Fl)9q)9GCGC)9p)9JJ)9 ' P'q'' & & %1$-:58%:AbHH%1 #'Z!x )# " " !)s Zd"O(0/6w!)q!)7N7N!)p!);V!)q!);\!)   y 1;E $,c/5;CEEy ! "O'Y,c/3:B?!   qs d#)+.48qqq99qpq=qqq=q   'Z !x'Y*-:36w9>CH i i   r  q  Ps E )035PqP6w6wPpP9'PqP9-P  P !x#'Y)04;@CC HZ ,c348>B9FlHH HZ q?`23avoidconfusinguserswhodon'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(acharactercodeorNIL),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))H H g,qHhJjh b5dn$(0-:3B9B9` _ 1; ).07N9;?CHJJ_ ^- P n(0,c.3;?EHH^- \'1d $\ [} [} Z%s 1n!x(0.1m9?EZ%qZ%FlFlZ%pZ%JtJtZ% X PTXqXZX Wu Wu Vs  )06w6wVqV7N7NVpV9VqV:V T T Sm P ; 'Y*/47N;>CEHHSm Rdn *.36w:=/DDR P P Oes #). 8=/AbOeqOeB9B9OepOeDOeqOeDOe N N Ls "O%(0.3LqL33LpL7LqL8L K] K] J  #&$)048%@CFlHHJ H#&)-:1m58?@HHH GU P)+-:2D8?GCJJGU E ;E"O%),c2D48%AbFlFlCM AZE#&%*-:08%FlHHA @Z"O%),c36w8>EII@ ?E P"O*.?E = = < < ; r  ; 9k 9k 8q 8 6s  %*/8%:>DII6 5Q5Qq5Q 5Qp5Q$5Qq5Q$5Q 3 3 2 y'1!x'Y+/35;?CHH2 1I y' d; !x$).58>@@1I / n"O) 38%;@GCII/ .'"U. -A -A +s d+q++p+"&W)+q+) + * * )9Z )9 'E &+.58>?DD' & 1;#&'Y.02D8=/>EGCGC& %1'1d!x#&) 2D8 B9DHJJ%1 #;E &)/38;=/ FlJJ# " P!x$-:. 7N9> HH" !) P &)039B9HJJ!)  1n"O%.0 :>EE y 1 %)1m58>B9B9y !  #&,i!   q'1n#*1m59=/DDq    iZ !x!~i P $'E'K P# ,U a 7a  1"O'Y),c 5 j YjY  PA   q?`k24*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.Tobeconsistant,EVALVnowhasaRELFLGargument,eventhoughitdoesn'tstrictlyneedit(EVALVisguaranteedtoreturn,unliketheotherfunctions).*(APPLY*)nowgives"UNDEFINEDFUNCTION:NIL"error(1678)HistoryandExec================*BREAK,TRACE,SEE,etc.recognizequotedarguments:newfunctionNLAMBDA.ARGS(1722593)AnumberofNLAMBDAfunctionsnowrecognizeiftheirargumentisquoted.Forexample,(BREAK'FOO)willnowbreakthefunctionFOO,ratherthanthefunctionQUOTE.LISPXmacrosandcommandswhichnormallytaketheirargsunquoted(DIR,CONN,etc.)alsoworkwithquotedarguments.Forexample,typingDIR'FOO*isnowthesameasDIRFOO*.Thischangewasaccomplishedbydefininganewfunction(NLAMBDA.ARGSX).Thisinterpretsitsargumentasalistofunevaluatednlambdaarguments.Ifanyoftheelementsinthislistareoftheform(QUOTE...),theenclosingQUOTEisstrippedoff.Actually,NLAMBDA.ARGSstopsprocessingthelistafterthefirstnon-quotedargument.Therefore,whereas(NLAMBDA.ARGS'((QUOTEFOO)BAR))->(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/DCOMfilelocationalgorithmimproved(1006715091666)EachInterlispsourceandcompiledcodefilecontainsthefullfilenameofthefile,includingthehostanddirectorynames,inaFILECREATED g,q h h b5s 1 n$+.2D5 GCHJJ\ [} !x$-:46w:=/?GCGC[} Z% 1"O ,c-: 7N9B9IIOe N  ;"O'Y.2D4 @HIIN L y !x$&,c48>AbHHL K]; ),c38s d(0. 7N:B9B9> =a =aq=a=ap=a=aq=a=a < < : #&&.1m6w>@GCHH: 9Y P#'Y,c/7N;AbEHH9Y 8d;E#&&.3:>CHH8 6 $)-:3  GCHJJ1I / P1E!x%)+.38>AbII/ .E& 1m6w ?CGCGC. -AZd )) 39 EE-A +E!x& 2D7N=/CEII+ ** )9 )9 's  n#(0.36w'q'7N7N'p':'q':' & & %1 E&.59=/B9FlJJ%1 #ZE %(0,c058%;CDGCGC# "n#&'Y 037N>GCGC" !) n!x%)-:038%;CIJJ!) ' y y !s E!x$)-:!q!..!p!1m!q!1s!   q 'Y+/ 8:>AbDDq  #,   i i r ? ? q  }s E 'Y+3;B9}q}CC}p}FlII} % %q%% u'n'Y+/7N:>FlHH u  PZ"O%.36w8% B9B9  & q?`u25expression.Thecompiledcodefilealsocontainsthefullfilenameofthesourcefileitwascreatedfrom.Previously,thefilepackageusedthisinformationtolocatetheappropriatesourcefilewhen"remaking"orrecompilingafile.Thishasturnedouttobeabadfeatureindistributedenvironments,whereusersfrequentlymovefilesfromoneplacetoanother,orwherefilesarestoredonremovablemedia.Forexample,supposeyouMAKEFILEtoafloppy,andthencopythefiletoafileserver.Ifyouloadandeditthefilefromafileserver,andtrytodoMAKEFILE,itwillbreak,tryingtolocatethesourcefileonafloppy,whichisprobablynolongerloaded.IntheHarmonyrelease,thefilepackagesearchesforthesourcefileontheconnecteddirectory,andonthedirectorysearchpath(onthevariableDIRECTORIES).Ifitisnotfound,thehost/directoryinformationfromtheFILECREATEDexpressionbeused.*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--iftheuserhadB9  g,qHhJjh b5 ;#(0,c37N;?CFlIIb5 ` %& 038%>CGCGC` _ n )/38% AbCC_ ^- ^- \ \ [}'dE!x$+. 8% CHH[} Z% ;n!x%).08%:?DHHZ% XZ !x$,c36w>@B9HHX Wu PE!x%,c-:/37N:>B9FlJJWu V E"O*-:1m7N=/?EHHV T;#&.06w<^T Sm Sm R y!x%,c37N:@DGCJJR PZ !x$-:37N:>EEP Oe !x'Y* 7N AbEHHOe N  E$N L L K]s Z %*3:K]qK];;K]pK]?K]qK]?K] J J H P;'Y* 59=/DJJH GU yn),c48 CCFlHHGU E' (0*-:5>AbHHE D !x%)-@D CM CM A'd#&$*2D FlHH?E = P1dE %(0./ 9>DGCJJ= <E )/< ;= ;= 9 y1 n"O).2D6w=/?CJJ9 8 yn #+ 45=/?CHH8 75 y'Y+38 DHH75 5Z $)-:2D6w>AbH5 4 4 3-s E!x%*.1m7N?CHH3- 1 yZ1q1111p1=1q11 0} 0} /% d$) 36w;CGCJJ/% -; #&'Y-:35;@DJKvKv- ,u'Z )+08%;AbDHH,u +Z#&&,c2D6w:=/B9HH+ )') (m (m ' PE!x(0*1s' % % $e P1;n )+.38%;B9B9$e # 1d $ 1m ;>CHH# !#&&*/7N @CHH! ] ; (0+08%> ]    $)-:2D6w:=/ GCHJJ U'&),c/ 9EHH M'n ).M   s 1 $+.2D9 CqCCpGII E PEqE VE   'd"O&)1m7N9> HH =' &),c.2D48%@ JJ=  Pd"O'Y(0*.358B9EHH 5 Z "O&+. 7N9FOO.;3?"*HASDEFwithSOURCE=?callsWHEREISdatabasepackageifloaded(735)Accordingtothedocumentation,passingSOURCE=?tothefilepackagetypefunctionsshouldtry(amongotheroptions)callingthefunctionWHEREISwithFILES=T,whichwillsearchtheWHEREIShashfiledatabaseiftheWHEREISpackageisloaded.InthecaseofHASDEFcalledwithSOURCE=?,WHEREISwasbeingcalledwithFILES=NIL,sotheWHEREISpackagewasnotbeingused.ThisproducedstrangebehaviorinDedit,suchthatevaluating(DF)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)GC g,q h h b5 ;n#&%).1m8%;> HHb5 `Z` _ _ ^- (0-: 7N:^- \ \ [}Z #&&)036w:=/DHH[} Z%Zn ).>Z% X X Wus E"O)07N9>WuqWu??WupWuCWuqWuCWu V V TZ; $+358=/CHHT SmZ;!x&.48%?FlJJSm R #*2D9AbAbN L#&&*.6w9B9EEL K] #,c2D7N:K] J J Hs 1#*03:>EHqHFlFlH GUp GUqGUGU E E Ds ';&*,c.06wDqD7N7NDpD:>DqD> D CM CM A'; 'Y.03;>?DHHA @1E%+.37N:B9HII@ ?E y#&%'Y.?E = = < n!x%-:/37N9;?B9CC< ;=Zd#&)08%; EHII;= 9Z$ 047N:?DGCGC9 8'E *.48%=/B9FlII8 75 yZ;n%) 575 5 5 4s 1n 'Y.4q4..4p424q424 3- 3- 1 P;!x)+1m38%>@CC1 0}Z1K0} /%ZE$),i/% - - ,us Z (0.1m4,uq,u55,up,u9,uq,u9,u + + ) d#&% 2D5:>AbHH) (m1"O(0)+.35;?HH(m '!~' % % $es  ;$+.2D5;>EHH$e # # q# # p# # q# # ! ! ] "O%(0.1m8B9GCGC` _'Z n#&(008?B9GCGC_ ^- n %),c.2D ;>CC^- \Z !x)*1m7N9=/Ab JJ\ [}; )2D349B9DD[} Z%!x%..1m8%;B9B9Z% X;"O*-:38%@EEX WuZd&.1m4 > HJJWu V P1;"O .36w;CFlHHV T 1 #&%(0-@T Sm Sm R) R P P Oe ydE#&(0,c.1m :>FlIIOe N 1n"O(0*8;?DDN LZ #'Y+.6w9=/@HHL K] yK] J J H yd&+/7N:AbDHHH GUn!x#(0.6w9=/DHHGU E P1!x%).7N9=/ GCGCE D';%(0-@D CM CM A ;-@A @ @ ?E yZE#&%)=/B9FlFl?E =!x *. 8%=/AbII= <';#(0,c38%;@ II< ;= PZE!x(0-:04 >> ;= 9 9 8' ;"O$-:.2D4=/ FlFl8 75 E%)1m4 HH1 0}' 0}q0}0}p0}0}q0}0} /% /% - ;#& -:.7N9B9EJJ- ,u y1 !x$,c/36w ?B9EII,u +;E ).03;+ ) ) (m P;!x)-:59?CII(m ' P d% .1m7N9=/ FlFl' %1 #$$% $e $e #  P; (0+.1m48;>B9JJ# ! yd"O ,c. 8%=/ HH! ] 1"O)/37N:AbEHH ]  P   Us 1#&%*.=/B9FlIIU qpq   M  #(0,c.2D:?DIIM  #&*.59>B9DHH  "O*-:.2D8FlIqJJ =p P=q= V=   s !x +. q // p 36w q 6} 5 5  q?`28*Compilerprintswarningifusercodeattemptstobindavariablepreviouslydeclaredasaconstant(277)Masterscope===========*MasterscopeCHECKcommandsmarteraboutCONSTANTS,blocks(303)TheCHECKcommandnowknowsaboutCONSTANTS.Previously,constantsweretreatedlikeanyothervariable,andCHECKprintedawarningiftheywereusedfreelywithoutbeingdeclared.Also,CHECKnowomitsthepreamble"innoblock"(followedbyalistoffunctions)whenafilehasnoblockdeclarations.*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' 5 g,q h h b5s 1"O&*2D48:B9B9b5 ` 1E%`q`&&`p`)`q`)` _ _ ^- ^- \r \ [ [ Yq Y Ws !x(0-: 6w;WqWFlIIR P yZE#&% .348CCP O\ O\ N N Ls #&). 7NLqL8%8%LpL<-LqL<3L KT KT I'd$+039=/CHHI HE &*-:0 :>EFlFlH GL E )./58?EHHGL E  #'Y/3;?CIE D D CDs 'Zd #).3:?DDCD A 1AqAddApAlAqArA @ @ ?@Fl2Qq2QGCGC2Q 0p 0q00 / / .I y; #'Y)-:3;>EJJ.I , n!x&*.3 CHH$ # E#&)+2D5;>AbHH# "1 1n$"1  1"O&.1m8%=/ GCGC )' )1m58%AbCEII Z "O$,c.1m38%@CHH i;ti   s n &),cq-:-:p1Bq1H a a  !x$+.1m9>AbAb d $*/36w @CGCJJ Y1d$-:049B9II Y q?`P29level(closertothesource),beforeDWIMFLGistestedandalargeamountofotherwiseunnecessaryprocessingwasdone.ThismeansthatmacroexpansioncancontinueevenwhenusersturnoffDWIM.*NewvariableDWIMINMACROSFLGcontrolswhetherargstomacrosaredwimified(1074)IfthevariableDWIMINMACROSFLG=T(thedefault),DWIMwillrecursivelydwimifytheargumentstomacros(i.e.macroswillbetreatedlikeLAMBDAfunctions).IfDWIMINMACROSFLG=NIL,argumentstomacrosarenotdwimified.Toprovidefinercontrolovertheinterpretationofindividualmacros,DWIMusestheINFOpropertyofthemacroname:IftheINFOpropisorcontainstheatomEVAL,themacroargumentsaredwimified,evenifDWIMINMACROSFLG=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,I Y g,qHhJjh b5;#&)/2D8%;=/B9HJJb5 `Z n %)..38%B9I\q\JJ\ [}p [}q[}[} Z% Z% X yd$&(0,c48=/ GCGCX Wun$)/36w=/AbGCGCWu V d$&*35;>B9B9V T `T Sm Sm R y1;#&& 35 >EIIR P'E#&(0-:.038%AbHHP Oe P'Y* 38%::Oe N n"O&*-:/7N:>EHHN Ld 'Y+.;=/>L K] K] Js Z;E(0.1m5B9DGCGCD CMZ E &).38%;?EFlFlCM A !x$).36ws  (003:>4>q4>??4>p4>C4>q4>C4> 2 2 1s 1;!x)-:2D49=/1q1>>1p1AbD1q1D1 /a /a - ;E &+.7N>DGCGC- ,j  "O'Y+. 7N8%CDGCGC) (bE"U(b ' ' %s 1d#&),c.1m38%%q%88%p%=%q%= % $Z $Z # y %)*036w8; GCJJ# !n#&%,c48CDHH  y d !x)-:/3 =/@GCGC * (0.358;@CHH *  PZ;E (0*04 AbCJJ  ( q?`30wordsarenotmovedinthespellinglist.Asanadditionalcheck,FIXSPELLwon'tmovecorrectwordstothefrontofaspellinglistunlessthespellinglistcontainsthespecialmarkerusedtoseparatethetemporaryandpermanentsectionsofthesystemspellinglists(thevalueofSPELLSTR1).*I.S.OPRSworkevenifCLISPFLG=NIL(1802)Contrarytothedocumentation,someiterativestatementoperatorswouldnotbetranslatedcorrectlyisCLISPFLGwasNIL,becausetheirdefinitionincludedformssuchas$$VAL_T.Theseoperatorsnowworkevenif"_"isdisabled,eitherspeciallyorbecauseCLISPFLGisNIL.PerformanceTools=================*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&DataTypesJ g,q h h b5ZE (0-:.03  GI^- \ \ [6s 1d (0[6q[6))[6p[6-[6q[6-[6 Y Y Xd #(008AbFlIIX W. y  (0+/6w; DDW. UE$%*36w:>AbDGCGCU T~Z; #&)1m37TT~ S& S& Q Q PBr  PB NN M:q M: Ks ZE$).KqK..KpK2KqK2K J J I2Zn#(0*. 9B9FlFlG F;(0./37N:AbCCF E*Z!x(0-: 6w9=/ IIE* CZ tC Bz Bz A"s Z!x$,c 7NA"qA"8%8%A"pA";A"qA";A" ? ? >r !x%,c1m8%=/?CHH>r ='E 'Y(0+35 @CHH= ;d %).35>AbHH; :jn %),c=/>CII:j 9n )+/2D7N @EII9 7 1E!x#&*7 6b 6b 4s d %6w4q47N7N4p4:4q4:4 3$ 3$ 1 "O(0+36w=/B9FlII1 0- ;#'Y/2D CC-} ,%Z #&&8+,% * * (s ZE!x% 1m3(q(33(p(7(q(8( 'H 'H % y1(0).35=/DHH% $QdE&*2D CC$Q "  $ .2D6w: FlII" ! y1 !x#'Y+. 8% HJJ [ P;n"O'Y+.7N:=/@HII[  Pn#&$'Y,c046w>EJJ "O'Y-:.1m3B9HH S S   \s !x\q\"O"O\p\&W)\q\)\    Pn'Y*. :B9GCGC T;n %,iT r"  7 q?`N31====================*IncompatibleChange:ARRAYdefaulttypeisPOINTER,FLOATPisstoredunboxed(138110611464)IfNILisgivenastheTYPEargumenttoARRAY,thedefaultarraytypeisPOINTER,notDOUBLEPOINTER.AnyoneusingtheDOUBLEPOINTERmechanismshouldchangeanyinstancesof(ARRAYx)to(ARRAYx'DOUBLEPOINTER).ArraysoftypeFLOATParenowstoredunboxed.ThisincreasesthespaceandtimeefficiencyofFLOATParrays.UserswhowanttouseboxedfloatingpointnumbersshoulduseanarrayoftypePOINTERinsteadofFLOATP.*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/CDRofenythingelsereturnsthestring"{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--betterinterface(1096)Thehasharrayfacilityhasbeentotallyreimplemented,toprovidemorerationaluserfunctions.Oldprogramsusinghasharrayswillstillwork,"  frHhqJjh br"b `q ` _?s E"O)-:/7N=/?EE_? ]]q]]p]l]q]r] \ \ [7 yZdE!x)+1m4;@DGCGC[7 Y !x"O(0-:0 X W/ W/ UZn#&)01m5>AbFlIIU T' d&'Y,c/36w9>FlFlT S'!x&)-:3:=/CS' Q Q Pws ZE#&%-:1m6w;>CCPw OZE %OqO&&OpO),OqO,O M M LoZ; )/38%:B9EELo KZn (0.2D6w8 B9CEEK I ;$,c.2D6w;B9JJHg Gd %(0 2D59B9HHG E"O +E D_ D_ C'dE!x$+,c06w>DDC Ad#'Y+-:2D59DHJJ@W > n 'Y+1m5>B9HII> = PZ!x#&%)*.= B9GCGC9 8G' #&'Y.1m2D4:CFlFl8G 6d $(0*.07N?CHH6 5#) 37N9?DHH5 4? P!x&,c.2D5 ?CHJJ4? 2 y2 1 1 07 yn"O(0-:1m37N:AbAb07 . dE$ .1m5<^. - - ,/ y$-:1m48%;>AbEE,/ *E$(0 1m2D4 @DHH* ) P1n"O&*038+) (' (' & y#&&),c.39CHHg ;#&.2D7N:=/EHH  PE  _ _ s %)-:1m5:=/@qAbAbpDqD   W  %).1m9>CHHW  y&*/1m8%CEHH O1;"O'Y+O   s $ 038@qAbAbpEjqEp G G  P!x%,c 8;B9FlFl  #&*/39>CHH  q?`U32butnotasefficientlyasiftheywererecodedtotakeadvantageofthenewimplementation.Intheoldimplementation,thehasharrayfunctionsacceptedalistwhoseCARwasahasharraydatum.Ifthehasharrayoverflowedduringsomehasharrayoperation,theactiontaken(error,automaticallyenlargingthehasharray,etc.)wasdeterminedbytheCDRofthehasharraylist.Inthenewimplementation,the"overflowmethod"isstoredaspartofthehasharraydatatype.Thehashingfunctionswilloperatecorrectlyon"old-style"hasharraysoftheform(harrayp.overflow),butmoreslowlythanwith"new-style"hasharraysthatcontaintheiroverflowmethods.Newfunctions:(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.H g,q h h b5 P1 E"O&*1m38%@CFlIIb5 `` _ _ ^- y1 #(0-:5=/>CHH^- \ PZ!x"O$(0,c1m :@DHH\ [} ;!x&-: 8AbDHH[} Z%; !x#'Y*-:049> Z% X X Wu y1 #,c35;>B9DHHWu V'1n&.39B9DDV T ; #(0/1m :>B9HHT Sm'Z n &*1m6w>DSm R R P P P Oe Oe N 1!~N LZ $'Y,c37N?CHH< ;=1dn"O#(0-:34=/CGI;= 9 9 878 75Zd$*-:47N:B9HJJ75 5 1 #(0.2D5:?CEGCGC5 4'1 #&)037N>@DD4 3- 3- 1 1 0}s ZE &,c048%0}q0}880}p0};?0}q0}?0} /% /% - P (0+03;CGCGC- ,uZ (0 0,u + + ) "U) (m (m ' y $) 36w9B9HHH' %;!x'Y(0* 6w8>CII% $e'1 n$)-:/4 @EE$e # Z# ! ! ]n$(0048%?HJJ ] 1 "   UE!x +038%:>DGCJJU 1; "O*-:049?CHH Z;n"O'Y)-:4EE MZd#&(0-:34B9FrM    d  E y'Z1d !x"O#&#$'Y,iE  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 5 5 q?`33Thisinformationcanbeusefulindeterminingifthevariable-lengthdataspaceisfragmented.Ifmostofthefreespaceiscomposedofsmallitems,thentheallocatormaynotbeabletofindroomforlargeitems,andwillextendthevariabledatumspace.Ifthisisextendedtoomuch,thiscouldcauseanARRAYSFULLerror,evenifthereislotsofspaceleftinlittlechunks.Thisinformationisprimarilyofusetosystemprogrammers.*NewCASEARRAYargforSTRPOS(900)STRPOShasbeenextendedtotakeanewargumentCASEARRAY.Ifnon-NIL,thisshouldbeacasearraylikethatgiventoFILEPOS.Thecasearrayisusedtomapthestringcharactersbeforecomparingthemtothesearchstring.SeethedocumentationforFILEPOS,CASEARRAY,etc.inthereferencemanual.*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...)formshasbeenchanged,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) 5 g,qHhJjh b5' ;#& 036wCHHb5 ` n#&%)-:2D4CII` _'E #&'Y).2D5:@CHH_ ^-1%&)-:/7N:?CHH^- \d!x%(0-:/36w;?B9HH\ [} "O*-:038 C[} Z% Z% Xs d#&XqX##XpX'YXqX'_X Wu Wu V1d!x%'Y*2D ;FlJJV TZn $),c348%@CGCIIT Sm P %.2D48%>DEHHSm R P n# -:1m37N?ER P P Oes  E 'Y-:OeqOe..OepOe1mOeqOe1sOe N N L y;(0,c/5;>B9JJL K]'d K] J J Hs E 'Y-:38%:?GCGCH GU  GUqGUGUpGU#&GUqGU#,GU E E D  !x$),c1m37N;>B9EED CMZ  %*02D8%=/?B9DHHCM A $&*-:1m2D =q=>>=p=B=q=B= < < :h d !x(0* 5:=/@EJJ:h 9 yZE$,c02D6w4zq4z??4zp4zC4zq4zC4z 3" 3" 1 P d #+/48%$Zq$Z??$Zp$ZBd$Zq$ZBj$Z # # ! ! r     q  s Z!x(0,c.59B9DGCGC fZfqffpffqff    y d %(0 1m8;CC ^ 1 (0 1m8%8 B9EE^ d"O%*37N @HH  Pd#&(0*01m35;CGCGC Vd )+. 7N>B9IIV  yn"O#&(0+ 47N:?GCGC 'E%)-:2D8%:B9EE N1AN Z  q?`34Setsaflagthatdeterminesthesystemresponsetoarithmeticoverflowanddivisionbyzero;returnstheprevioussetting.Forintegerarithmetic:IfFLG=T,anerroroccursonintegeroverflowordivisionbyzero.IfFLG=NIL,thelargestintegerisreturnedastheresultoftheoverflowedcomputation.IfFLG=0,theresultisreturnedmodulo2^32(thedefaultaction).IfFLG=NILor0,integerdivisionbyzeroreturnszero.Forfloatingpointarithmetic:IfFLG=T,anerroroccursonfloatingoverfloworfloatingdivisionbyzero.IfFLG=NILor0,thelargestfloatingpointnumberisreturnedastheresultoftheoverflowedcomputationorfloatingdivisionbyzero.*AdvanceWarning:(ZEROPX)=(EQX0);willbechangedto(EQPX0)(317)IntheInterlispReferenceManual,(ZEROPX)isdefinedtobethesameas(EQX0).Someusershavecomplainedthatthisisinconsistantwithotherlispdialects,andthat(ZEROP0.0)shouldnotreturnNIL.Inafuturerelease,(ZEROPX)willbechangedtobethesameas(EQPX0).Userswhodependon(ZEROP0.0)->NILshouldchangetheircodetouse(EQX0).*FPLUS,FTIMEScallmicrocodewheninterpreted(56)Previously,thefunctionsFPLUSandFTIMES,whencalledfromtheinterpreter,didn'tgothruthemicrocodedopcodesbutalwaysexecutedthelispmacrocode.*InternalfunctionFTIMES2nolongerdefined(56)Inanoldversionofthecompiler,thefunctionFTIMESwascompiledintoacalltothefunctionFTIMES2,whichhasbeenremoved.Someprogramscompiledin1982apparentlyneedrecompilationbeforetheywillrun;ifyougetUNDEFINEDFUNCTION,FTIMES2,youshouldrecompiletheoffendingfunction.*(EXPT3-1)returns.333333333insteadof0(1581)Themanualstatesthat(EXPTXY)returnsanintegerifandonlyifXisanintegerandYisanon-negativeinteger.Processes=========*Newprocessproperty:BEFOREEXITusedtopreventLOGOUT(249)IftheprocesspropertyBEFOREEXITistheatomDON'T,itwillnotbeinterruptedbyaLOGOUT.IfLOGOUTisattemptedbeforetheprocessfinishes,amessagewillappearsayingthatInterlispiswaitingfortheprocesstofinish.IfyouwanttheLOGOUTtoproceedwithoutwaiting,youmustusetheprocessstatuswindow(fromthebackgroundmenu)todeletetheprocess.*Newprocessproperty:RESTARTFORM(566)IftheprocesspropertyRESTARTFORMisnon-NIL,itistheformusediftheprocessisrestarted(insteadoftheoriginalformgiventoADD.PROCESS).Ofcourse,theprocessmustalsohaveanon-nilRESTARTABLEpropforthistohaveanyeffect.*ChangestoDISMISS:newargNOBLOCK(2208)(DISMISSMSECSWAITTIMERNOBLOCK) g,q h h b5'; !x$*2D4 >EHHb5 `#&*1s` _ _ ^- P !x'Y).47N>EHH^- \n#'Y.47N>AbDJJ\ [} y  #$'Y-:06w8@FlJJ[} Z%'nE&)+2D9AbEHHL K] PZ1dn ).2D4 ?CHHK] J'#(0.1m7N;@FlFlJ Hd 'Y),c/36w:EHH@ ?E' ?E = = %1q%1> %1 # # " y 'Y)-:1m7N9>AbCC" !) ;"O(0*38EHHy !'!x'Y,c/ 8>@FlII!  q q s  'Yq(0(0p+q+   i y (0*2D47N:>CEHHi 1#&%)049'SUSPENDT)wouldcreatea(non-suspended)processwiththenameSUSPEND.*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)%  g,qHhJjh b5 y;E $)-:/ 8;CCFlFlb5 `1n #).6w8=/@DD` _Zd #&'Y,c/6}_ ^- ^- \s ; "O&-:/4\q\55\p\9\q\9\ [} [} Z%s n!x#).2D7N=/Z%qZ%>>Z%pZ%AbZ%qZ%AhZ% X X Wus E% /7NWuqWu8%8%WupWu;WuqWu;Wu V V T ; #&%.0 :?B9B9T Sm  #&* 5;CEJJSm R%)-:1m8+R P P Oes #& .59;AbOeqOeB9B9OepOeEOeqOeEOe N N L ;'Y-:048%DII6 5Q1; "O#&'Y+.48% CEE5Q 3ZE #,c2D9B9EII3 2 P !x$ .2D4 @FlJJ2 1IZnE&(0. 7N9>CC1I / 1 "O&)/38%CHH+ * #&%*-:. 8 CDHH* )9!x *. 8%:>Ab JKvKv)9 ' y %(0,c4;@CGCGC' &  #&) 1s& %1 %1 #s ;n#q#EE#p#!M$(+a.#q#.# " " !) #&(0-:2D7N B9HH!) Z y y !s 1d!x%)-:2D9!q!::!p!>!q!>!   q y E$(0,c/37N;>AbEEq Z #*08>EFlJJ  P1E  i i   r  }q } %s  #,c37N HH_ ^-'1; $-:/37N?B9HH^- \ E%+0\ [} [} Z% 'Y/8%DHHZ% XX Wu Wu VZd !x&* 48%>FlFlV T 1; #&% /2D58;;T Sm #*Sm R R Ps dn#) 2D9PqP::PpP>PqP>P Oe Oe N !x)+-:1m7N:CGCGCN L#&'Y,c1m39:>B9FlFlL K]K] J J Hs !x).5HqH6w6wHpH:HqH:H GU GU Es d&).46wEqE7N7NEpE:EqE:E D D CMs  E"O(0.2D9=/>DCMqCMEECMpCMHCMqCMHCM A A @s E &* 4@q@55@p@8;?@q@?@ ?E ?E = P "O%= < < ;= P;'Y*.2D8%;?EII;= 9 P #&$)+/ 8>AbEE9 8 )+.48@FlII- ,u P #(0.,u + + ) P;"O(0.2D4:>AbAb) (m (m ' ' % ydE#&)/38%; DD% $en!x)-:1m8%>DGCJJ$e #  y1$-:/6w9?# ! ! ] P;$'Y) 38%>CHH ] &-@   U yZE #(0*/U   E #*-:048+ M M dE#&)/3 >B9FlJJ  ynE!x$),c. ;>?C E E  P1E#& -:/>AbGCGC E $,c2D6w9>B9FlH = =  P;!x'Y 358=/@CGCII  P E#&&-:357N;>CJJ 5 "O%,c2D6} 5  q?`K37*FTPSERVER:EnumeratingfilesonaremotemachinerunningFTPSERVERnowworkscorrectly(1658)*FTPSERVER:COPYFILEtoremote1108won'tcauseMP9318error(2163)COPYFILEtoaremote1108runningFTPSERVERwouldsometimescauseaseriouserror.FTPSERVERhasbeenfixedsothiswillnothappen.*GRAPHER:Revisedversion,cangeneratehardcopyofgraph(13922034)GRAPHERhasbeenextensivelyrevised,sothatitusesmuchlessmemoryspacepernode.WhereastheoldGraphercreatedabitmappernode,thenewonedoesn't.Thepriceisthatscrollingmaytakealittlelonger.ToREDISPLAYWaverylargegraphtakestwiceaslongasitusedto(ifyoudon'tlikethis,setCACHE/NODE/LABEL/BITMAPS/FLGtoT).Also,theGRAPHRECORDwaschangedtousehalfasmanyconscells.Fortunately,youdonothavetorecompile,sincealltheoldfieldsthatareadvertisedforpublicusewereleftintheiroldpositions.LAYOUTGRAPHtakesanewformattoken.AddingREVERSE/DAUGHTERStothelistofformatitemswillreflecthorizontalgraphsvertically,andverticalgraphshorizontally.(HARDCOPYGRAPHGRAPH/WINDOWFILEIMAGETYPETRANS)Producesafilefromaformatedgraph(e.g.,likeSHOWGRAPH,onlyforfiles).IfthedevicefieldofthefilenameisLPT,thefilewillautomaticallygetsenttotheappropriateprinter.IMAGETYPEiseitherPRESSorINTERPRESS,anddefaultstoINTERPRESS.TRANSisapositioninscreenpointsofthelowerleftcornerofthegraphfromthelowerleftcornerofthepieceofpaper.(DISPLAYGRAPHGRAPHSTREAMCLIP/REGTRANS)PutthespecifiedgraphonSTREAM(whichcanbeanyimagestream)withcoordinatestranslatedtoTRANS.SomestreamsmightalsoimplementCLIP/REGasaclippingregion.Thisisprimarilyanefficiencyhackforthedisplay.*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,identicaltotheinconsistantly-namedWITH-SPY. g,qHhJjh b5s  #&(0.4;CGCGCb5 ``q`dd`p`l`q`r` _ _ ^-s n$).359>^-q^->>^-p^-B^-q^-B^- \ \ [}&.3AbDHHSm RZE!x)-:1m38?@CCR P 1#&(0-:/36w8=/?CFlFlP Oe1;36w9:?CCOe N d #(0*.389 DHJJN L P E"O%),c2D6w9 CFlFlL K]1d#&& .K] J J H #)*0?B9EIIH GU yZd"O +1m ;>FlFlGU E E D D CM  !x%.3!CM A1dE$)/3 =/AbDDA @dE"O$(0,c037N:>CC@ ?E E#& -:45>@FlFl?E = &) 338;=/DGCGC= <; $*-:059=/B9FlFl< ;=ZE#&#$;= 9 9 8  (0-@8 75 P &,c/2D5:AbEE75 5  E%&*1m6w:CJJ5 4 y'nE!x#,c. 8%DHH' %Z"O)+2D358=/@FlHH% $ed"O&)-:39?DHH$e # 1; #*# ! ! ]s E$: ]q ];; ]p ]>B9 ]q ]B? ]    yE359GCGC U'1$(0-:056w8> d 7N9 CFlII M yM   s   ),c3q44p8<-q<3 E E  P&.6w=/AbHH Z;n$+.056w:>B9HH  = =  PZE!x'Y/2D5GCGC  5 5  q?`38(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.ThefunctionWHEREISNOTICEhasalsobeenextended,tohelpuserscreateandmaintainWHEREISdatabases:(WHEREISNOTICEFILEGROUPNEWFLGDATABASEFILE)InsertstheinformationaboutallofthefunctionsonthefilesinFILEGROUPintotheWHEREISdatabasecontainedonDATABASEFILE.IfDATABASEFILEisNIL,thefirstentryonWHEREIS.HASHisused.FILEGROUPmaybesimplyalistoffiles,inwhichcaseeachfilethereonishandleddirectly;butitmayalsobeapatterntobegivenasafilegroupargumenttoDIRECTORY,so&,$,etc.maybeused.IfNEWFLGisnon-NIL,anewversionofDATABASEFILEwillbecreatedcontainingthedatabaseforthefunctionsspecifiedinFILEGROUP.IfNEWFLGisanumber,thehashfilewillbecreatedwithNEWFLGentries.Otherwise,itwillbecreatedtoallow20000entries.Miscellaneous=============*NewvariableMAKESYSNAMEforidentifyingInterlisp-DreleasesIntheHarmonyreleasesysout,thevariableMAKESYSNAMEissettotheatomHARMONY.Infuturereleases,thisvariablewillbesettothecurrentreleasename.*ForHarmonyRelease,(LISPVERSION)=37376Previously,thebuilt-inversionnumberwasnotconsistantlychangedfordifferentreleasesofInterlisp-D.Infuturereleases,theInterlispversionnumberwillbeincremented,andannouncedinthereleasemessage.*PROMPTFORWORDextensivelyrevised.(8915531842)PROMPTFORWORDhasbeentotallyrewrittentobemuchsimpler,andeasiertouse.Someofthechanges:PROMPTFORWORDnolongergrabsthettystream.ItbehavesexactlylikeREADinthisregard:Ifitiscalledinaprocessthatisnotthettyprocess, 5 g,q h h b5 E#& -:07N9=/EHHb5 `'7` _ _ ^- E#&)-:38%=/?CJJ^- \d#&+/047N=/@HH\ [}dE#&)/1m4[} Z% Z% Xs 1 E#&.2D5: CXqXDDXpXHXqXH X Wu Wu V  %).6w9CFlFlT SmZ n1m38;> HHSm R'  ).R P P Oes 1 #&'Y,c2D5=/B9EEOe N N qN ZZN pN N qN N L L K] d$ .2D7N9=/DDK] J d#&'Y)-:37N;CEEJ H #& -:/1m58%?HH3- 1 E"O$),c.3456w6}1 0} 0} /% yZn!x(0* 59"q">" !) !)  yE#'Y. 8;>AbDHH yZ#&'Y.358;>EEy !! s  q E )*.qqq.q    d%+.2D =/CGCGC iZn 'Y(0*08AbHH Q ] q?`h39itwaitsfortheusertoclickthemouseinitswindow,thengrabsthettyandspawnsanewmouseprocess.ThePROMPTFORWORDargumentTIMELIMIT.secshasbeenrenamedURGENCY.OPTION,whichcanbeanumberofsecondstowaitforaresponse(asbefore),orT,meaningwaitforever,butperiodicallyflashthewindowtoalerttheuserifaresponseisnotforthcoming.CurrentlytheonlycallerwithURGENCY.OPTION=Tisthepasswordcode,butothercallersofPROMPTFORWORDmightwanttoconsiderwhethertheywanttheoption.Thedefault(ifURGENCY.OPTION=NIL)istoquietlywaitforinput,asREADdoes.ThelastargumenttoPROMPTFORWORD,OLDSTRING,hasbeendeleted.Typingcontrol-Wnowhasthenormalbehavior(deletelastword),ratherthanbeingasynonymofcontrol-Q(deletealltype-in).PROMPTFORWORDwillnotlongercallRINGBELLStoattracttheattentionoftheuser.*Time-zonevariablestocontroldateprintout:\TimeZoneComp,\BeginDST,\EndDST(1077)Thesevariablesarenormallysetautomaticallyifyouhaveaproperlyfunctioningtimeserveronyournet.Forstandalonemachines,oroldsysouts,youmayneedtosetthembyhand(inyourinitfile)ifyouarenotinthePacifictimezone.\TimeZoneCompisthenumberofhourswestofGreenwich(negativeifeast);\BeginDSTisthedayoftheyearonorbeforewhichDaylightSavingsTimetakeseffect(i.e.,theSundayonorimmediatelyprecedingthisday);\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).H Q g,qHhJjh b5 y;n#'Y,c.2D8=/B9EHHb5 ` P1;E$` _ _ ^- P  -:04;HH^- \Zn%(0,c/1m8>Z% X ;n'Y,c/4;> IIX Wu1E#(0,c/6w7N:AbDDWu V ;n!x(0,c/58% HHH GUGUqGUGUpGUGUqGUGU E E Dd"O% 1m37N;=/DDD CM ; $))-: 6w>AbDDCM A;n"O&)-:048>@CGCJJA @ y ,c.2D8%:?CFlFl@ ?EZE#&+.1m47N:>AbCII?E =E!x&,c2D5;>@ JJ= <Z"O$(0+.06w;CII< ;='1;#&'Y).47N:B9EII;= 9 y!x$)1m8%GCGC9 8Zd!x#&'Y(0*,c2D7N>EII8 75 yd!x),c/75 5 5 4s ;n (0,c4q4-:-:4p41B4q41H4 3- 3- 1 y'1#)-:3 ?AbCFlJJ1 0} y'#(0*+.7N=/@FlHH0} /%'Zn #&$(0-:1m3!/% - - ,us  #&'Y+.2D,uq,u33,up,u6w,uq,u6},u + + )s ;#& /4)q)55)p)8)q)9) (m (m ' yZ;#&'Y*.B9EEU $)/3:I   Md"O%,c3 8  k j V* 6 @ EL W b +l v E   j/( 3{ERIS}HARMONY>DOC>HARMONYRELEASESPECIFICS.TXT SANNELLA.PA 4-Dec-84 13:22:06