1IntermezzoReleaseNotesInput/OutputTYPEattributeoffilesextendedtoincludearbitraryfiletypesTheTYPEattributeoffileshasbeenextendedtoincludearbitraryfiletypes.Formerly,thevalueofthisattributewaseitherTEXTorBINARY.Now,othervaluesarepermittedforthosedevices/hoststhatunderstandmorespecificTYPEs.ThenewvaluescanbepassedtoOPENSTREAMandSETFILEINFO,andretrievedviaGETFILEINFO.Forexample,whencreatinganInterpressfile,LispcallsOPENSTREAMwithaPARAMETERSargumentthatincludes(TYPEINTERPRESS).Devicesthatdonot``understand''arbitraryvaluesforTYPEtreatunknowntypesasBINARY.Thus,GETFILEINFOmayreturnthemoregeneralvalueBINARYinsteadoftheoriginaltypethatyoupassedtoSETFILEINFOorOPENSTREAM.Thefollowingdevicesrecognizegeneraltypes:CORE,theDoradoDSK,NSFileServers.Currently,nonon-Xeroxserverssupportotherthanthedefaulttypes.ThevariableFILING.TYPESisusedtoassociatesymbolictypeswithnumbersforXeroxproductsthatactuallystoretheTYPEattributeasanumber(suchasNSfileservers).Forexample,supposethereexistedanNSfiletypeMAZEFILEwithnumericvalue5678.Youcouldaddtheelement(MAZEFILE5678)toFILING.TYPESandthenuseMAZEFILEasavaluefortheTYPEattributetoSETFILEINFOorOPENSTREAM.Otherdevicesare,ofcourse,freetostoreTYPEattributesinwhatevermannertheywish,beitnumericorsymbolic.Fileoperationstofilesprotectedagainstownerproduces"PROTECTIONVIOLATION"errorinsteadofhangingIfInterlispispreventedfromexecutingafileoperationbecauseoffileprotection,ittriestoconnecttotheappropriatedirectory.Ifapasswordisneededtoconnecttothedirectory,theuserispromptedtosupplyapassword.However,ifthefileisevenprotectedagainstthepersonconnectedtothedirectory,thenInterlispusedtojusthangforever.Now,Interlispdetectsthiscondition,andgeneratesa"PROTECTIONVIOLATION"errorinsteadofhanging.DirectoryenumerationtoVMS/DEIworkswhendevicenamebutnothostnameisgivenPreviously,the"device"informationinadirectoryspecificationwasnotpassedtotheremoteservercorrectlyifthehostnamewasdefaultedtotheconnectedhost.Thismeantthat(DIRECTORY'{HOST}DEVICE:*)workedbut(CNDIR'{HOST})(DIRECTORY'DEVICE:*)wouldn't. q?` p` q?` g_p`LGq`FLGL!hr`+ :EwLh!fs`#!fP*LfLLfqWFqW#EtGLWFLLWFt`XWFLWFqUsu`{ UsqTws`#qTfEt#LTwLLTw#Qt`X(.039H:?EGK4Q#O6&Z*O/14~7:@BGMF'IaM=M=K#JD -006 8 ;AhFG@JGM=M=JD#H(*- 23 =@ J~M=M=H#F), 67:A EIKOM=M=F#ER *-04q >ACk MCGJMDJ1M@?Eq##! $*)+2E5 E}HIKM@C^ JM=M=r#)J-.15;!;?EUJM=M=#& *-46U @ IMD M=M=# @&)..D0 27<B;CFI`MDHM=M= #N) 2=CN q?`K2DirectoryenumerationtoTOPS-20hostsfixedinsysoutIntheHarmonyrelease,thereweresomebugswithdirectoryenumerationtoTOPS-20fileservers.ThiscouldbefixedbythepatchfileTOPS20FTPPATCH.ThisfixhasbeenincorporatedintotheIntermezzoreleasesysout.DirectoryenumerationtoUNIXfileserversacceptswiderrangeofdirectoryspecificationsThefollowingdirectorycommandstotheUNIXfileserver{UN}areequivalent:DIR{UN}*DIR{UN}*DIR{UN}/user/jones/*Thefilenamesprintedwillallhavethesamestructure:{UN}xxx.NewcommandNDIR;printsmulti-columndirectorylistingsNDIR,formerlyonlyanEXECcommand,nowworksatthetoplevel."NDIRFileGroup"printsthefilegroupinamulti-columnformat.OPENFILE,DELFILE,etc.acceptstringsasfilenamesMostofthefilemanipulationfunctionsacceptstringsasfilenames.However,somefunctions(READ,PRINT,CLOSEF)stillinterpretstringargumentsasthestringtoreadorwritecharactersto.The{NULL}devicereturnsanewstreamwitheachOPENPreviously,allstreamsopenedtothe{NULL}devicewerethesamestream,whichcausedconflictsifoneprocesswantedtouseanullstreamforinputwhileanotherwantedtouseanullstreamforoutput.Now,the{NULL}devicereturnsanewstreamwitheachOPEN.{NODIRCORE}filesnowcontainthesamefileattributesasotherfilesSendingoutputtoare-opened{NODIRCORE}filenolongercausesaninfiniteloopUNPACKFILENAMEacceptsUNIXfilepathnamesUNPACKFILENAMEtreatsaUNIXfilepathnamebetweenslashesasadirectoryspecification.Forexample,_(UNPACKFILENAME'/a/rosie/rosie2.4/ELLIE.MAY;3)(DIRECTORYa/rosie/rosie2.4NAMEELLIEEXTENSIONMAYVERSION3).Interlisp-Dcannowaccessall19partitionsonan1132Previously,Interlispwasonlyabletoaccessthefirstfivepartitionsonan1132,usingthedevices{DSK1}through{DSK5}.Itisnowpossibletoaccessallofthepartitionson19-partition1132'susingthedevices{DSK1}through{DSK19}.Afterdiskfullerroron1132,candeletefilesandcontinueCN gt`Xqq`F#dt`X + 3w5 ;#>BWCGd#b %p(".4A8;<@CG;MBEIMB FkH8JM=M=Dl#B'c', 4/8S:=JACMD M ,n25w:!>@F>#<,'l)q,;. 7>CHKMB/D KpM=M=)4#''>)'#%*/~1R29 D"FHM=M=%##n(f*T.1#n# 17F:=D! #z 0459[;BYH!MD<GBJM/4a8;AGM=M=# )*F+-|068=?AD KBMByDIM@' HNMh@E*JM@;GMACFKBMAEKM[CREHM=M= 3# +1K56:;@BE6 M?vF8KMHJMR@LBDFK$# 0d 8!>BGHM u q?`4FilesonNSfileservershaveanassociatednumericalfiletype.Interlispdoesnotnormallyusethesefiletypes,althoughtheusercanreadandsetthem(usingtheFILETYPEfileattribute).However,thiscausesproblemswhenaccessingfilesfromtheStarworkstation,whichdoesusethefiletypes.Specifically,Stardidn'trecognizeInterpressfilesgeneratedfromInterlisp,becausetheydidn'thavetherightfiletype(4361).Therefore,InterlispnowcreatesInterpressfileswiththestandardInterpressfiletype.ThisfiletypeisalsousedinINTERPRESSFILEPtoquicklydetectwhetherafileisanInterpressfile:ifthefiletypeiscorrect,Interlispwon'ttryparsingthefiletoseeifitisavalidInterpressfile.NewfunctionBITMAPIMAGESIZEreturnssizeofbitmapinagivenstream'sunits(BITMAPIMAGESIZEBitmapDimensionStream)ReturnsthesizethatStreamwillbewhenBITBLTedtoStream,inStream'sunits.DimensioncanbeeitherWIDTH,HEIGHT,orNIL,inwhichcasethedottedpair(width.height)willbereturned.(OPENIMAGESTREAMxx'DISPLAY)returnsanimagestreaminsteadofawindowLISTFILESonlycreatesoneprocesstolistmultiplefiles(EMPRESS)willnotprintthreecopiesoffilePreviously,undersomecircumstancesEMPRESSofaPress-formatfilewouldcausethreecopiesofthefiletobeprinted,whenonecopywasspecified.Thishasbeenfixed.FontsPrintingolddocumentsdoesn'tgive"ILLEGALARGNNN"errorIntheHarmonyrelease,TEditcouldproducefilescontainingfontswitha"face"ofNNNinsteadofMRR.ThepatchfileFontNNNPatchwasdistributedtofixthisbug.TheIntermezzoreleasehasbeenfixedsothatitwillnotgeneratebadfontfaces.Inaddition,inordertoallowtheusertoreadoldfiles,NNNisacceptedasafontface.(FONTSAVAILABLE'*'PRESST)canreturnfontswithsize=0ForsomePressfontfamilies/faces,thefontwidthsfordifferentsizesareconsistentlyscaledversionsofthesmallestfontinthefamily/face.Therefore,insteadofstoringdataaboutallofthesizesintheFONTS.WIDTHSfile,onlythewidthsforthefontofsize=1arestored,andtheotherwidthsarecalculatedbyscalingthesewidthsup.ThisissignifiedinthepressFONTS.WIDTHSfilebyafontwithsize=0.Therefore,ifFONTSAVAILABLEiscalledwithCHECKFILESTOO?=T,anditfindssucha"relative"font,itreturnsafontspeclistwithsizeof0.Forexample,> gt`Xqq`F#dt`X')D+.&3X69 @G^IM@{F M=M=Y#Wj)X*,-348jQKMDFqKMKNM(,/O25 < q/[s`#q/8EtGL/[LL/[u`{/[L/[q-] -]q,as`#q,PEt#L,aLL,a#)t`X *-i5A:>EgI+MtBCwFKMB?BE MB7DHRKM EKM@F@I;JM=M=#V +,M 38:?BG IJMrBz M=M=d# &(8),056M => KMaAEF M=M= # r&',-046>94< =??vAH H r q?`y5_(FONTSAVAILABLE'GACHA'*'*0'PRESST)((GACHA0(BOLDITALICREGULAR)0PRESS)(GACHA0(BOLDREGULARREGULAR)0PRESS)(GACHA0(MEDIUMITALICREGULAR)0PRESS)(GACHA0(MEDIUMREGULARREGULAR)0PRESS))ThisindicatesthatpressfilescanbecreatedwithGACHAfilesofanysizewithfacesBIR,BRR,MIR,andMRR.Ofcourse,thisdoesn'tguaranteethatthesefontsareavailableonyourprinter.1108LocalFileSystemIncompatibleChange:Localfilesystemformatchanged;manylocalfilesystemfunctionsrenamedThe1108low-leveldiskformathasbeenchanged.ToupgradefromHarmonytoIntermezzo,dothefollowing:(1)withinHarmony,copyanyvaluablelocaldiskfilestofloppyorfileserver;(2)purgethelocalfiledirectoryfromtheoldsysoutusingDFSPURGEDIRECTORY;(3)erasethelocalfilevolumeusingtheInstallationUtilityfloppy(seethe1108UsersGuide);and(4)useCREATEDSKDIRECTORYtorecreateanylocalfiledirectoriesonlocaldisklogicalvolumes.ItisnotpossibletoaccessthefilesonalocalfiledirectorycreatedinHarmonyfromanIntermezzosysout,andvice-versa.However,itwillnotdamagetheintegrityofthelocalfilevolumeifitistriedaccidentally.IncompatibleChange:Manylocalfilesystemfunctionsrenamed,changedAnumberoftheuserfunctionsforthelocalfilesystemhavebeenrenamed,asfollows:DFSCREATEDIRECTORY==>CREATEDSKDIRECTORYDFSPURGEDIRECTORY==>PURGEDSKDIRECTORYVOLUMEDISPLAY==>DSKDISPLAYSCAVENGEVOLUME==>SCAVENGEDSKDIRECTORY(Note:Thelocalfilesystemscavengerhasbeenputintothestandardsystem,sotheseparatelibrarypackageDlionFSScavengeisnolongernecessary.)ThefunctionVOLUMETYPEhasbeenremoved,anditsfunctionalityisavailableinsomewhatdifferentformusingthenewfunctionLISPDIRECTORYP.Thenewfunction(VOLUMESIZE)isanalogoustoDISKFREEPAGES,exceptitreturnstheTOTALsizeofthevolume.Formoreinformation,seethe1108UsersGuide.Interlispon1108willnotwritebeyondendofvirtualmemoryfileH r gt`XLGq`FL#dv`17:;<>nDOEd#ba*F+06>n@E&ba#`$e*F+07?E@E`#_k$e*F+28@AF_k#]$e*F+29d@BH]#[t`X&,/3x6m9+;$@^C_HKMuBC+EDJM=M=Y#X?(/m2569;ACG KX?qP\s`#qP9EtGLP\LLP\u`{P\LP\qN^ 4<N^qMbs`#qMQEt#LMbLLMb#KKt`X$KKwKK -2KKtKK3m7_9>CIvM=M=KK#I&)+-419I#G+&*033J7:>eDEbGMZ EuFnIMB#D-HKMw *.>t>.3K6o88>w>t>EHwJM=M=>#=G4p6;>iAD KBMCF M=MM7#5)+-/5u7=e?AnDG#LM!AIFMADGJMQG#'I- 8<@GKoMAB KM6CE~JhM=M=a#%$',y#A& ) 14366AwA9=AAtAB+A# *,0j359J>ACSGMFOO*toworkcorrectly,butDIR{DSK}FOO*toalwaysreturnNIL.Thishasbeenfixed.Directoryenumerationon1108localfilesystemsortsfilesalphabeticallyandbyversionnumberDirectorycanexpand;nolimitonmaximumnumberoffilesPreviously,the1108localfilesystemhadafixeddirectorysize,enoughtoaccommodate500-700files.Thedirectorycannowexpand,toaccommodateasmanyfilesasthereisroomtostoreonthelocalfilesystemvolume.COPYFILEtolocalfilesystempreservesfiletypeinformationNSFileServersUsingServices8.0NSfileserversdoesn'tcreatestrangesubdirectoriesUndersomecircumstances,afileoperationthatcreatedasubdirectoryonanNSfileserverwouldcreateastrangesubdirectoryoftheform{NS:}Drawer!3>dir5>file.Thishasbeenfixed.WindowSystemNewfunctionSHRINKBITMAPforreducingbitmaps(SHRINKBITMAPBitmapWidthFactorHeightFactorDestinationBitmap)ReturnsacopyofBitmapthathasbeenshrunkenbyWidthFactorandHeightFactorinthewidthandheight,respectively.IfWidthFactorisNIL,itdefaultsto4;HeightFactordefaultsto1.IfDestinationBitmapisnotprovided,abitmapthatis1/WidthFactorby1/HeightFactorthesizeofBitmapiscreated%p ! gt`Xqq`F#dt`X%m+159;Q BGM=M=d#b')S,.s17.9<>8@EJM,1%6X<#U' 037}:=JBRCFIJM=M=U#T+/T#Q *.1259nA/FfJSM=M=H#F ,/n1G6B;'F#Dp +-3>588.:(@EGvJDp#A +-1%47< >@?CJMAGPJ:M)* 4I61:=?BD:GIM#=%'+F-2C7==#: ,-13K8>@C K#:q2s`#q2EtGL2LL2u`{2L2q0 0q/s`#q/Et#L/LL/#,t`X)u/25V8=C3HM=M=,#+@ ,+@#((g, 7g9;BFYL M=M=(#' ,/+147AGCGM=M=T#Rt%)RtqJs`#qJnEtGLJLLJu`{JLJqH HqGs`#qGEt#LGLLG#Dt`X$>DwD -2DtD3V7=>AQD Mq@EIJM=M=7#5+14$95#3~&a,@-0D489<D@JJ3~w3~M:@PAF7HKM4@ ADHCM/d245:;>BGJM=M=h# -v//w38t9#H(1 1 8;>Q@@GK#M=M=H#(+ 7#0a5C = LL# *#{&,e/31=46y ? FvIQKMBqIJ/M'(FAMILYMODERNWEIGHTBOLDSLOPEITALIC)'(FAMILYCLASSICWEIGHTMEDIUM))willfindalltheModern-Bold-Italiccharactersinthespecifiedtextstream,regardlessoftheirsize,expansion,etc.AllsuchcharacterswillhavetheirfamilychangedtoCLASSIC,andtheirweightchangedtoMEDIUM.Allotherpropertiesofthelookswouldbeleftunchanged.KnownProblem:Currently,TEDIT.SUBLOOKSdoesnotupdatethedisplay.Therefore,itisnecessaryto"redisplay"theTEditwindowtoseethechanges.Paragraphformattingcaninclude"specialpositioning"TEditparagraphformattingcaninclude"specialpositioning"information,whichspecifiesthatagivenparagraphshouldstartatagivenX,Ypositiononthepaper.Thiscanbeusedtoexdentparagraphsintotheleftmarginofthepage.Theparagraph-looksmenuincludesthenewfields:SpecialLocn:X{}picas,Y{}picasIncludingavalueintheXorYfieldsturnsspecialpositioningonfortheparagraph.Settingthemtozeroremovesanyspecialpositioning.SpecialpositioningcanbespecifiedinacalltoTEDIT.PARALOOKSbyunsingthepropertylistnamesSPECIALXandSPECIALYaspartoftheNewLooksargument.NB:Specialpositioningisignoredforaparagraphthatispartofapageheading.Functionalinterfacetopagelayout:TEDIT.PAGEFORMAT(TEDIT.PAGEFORMATStreamFormat)[Function]Thisfunctionsetsthepageformatspecificationsforthegiventextstream.Formatiseitheraformatspecificationforasinglepage,whichwillbeusedforallpagesinthedocument,ora"compoundspecification,"whichgivesindividualpagesspecificationsforthefirstpage,allotherright(recto)pages,andallleft(verso)pages.Tocreatea"singlepage"formatspecification,usethefunctionTEDIT.SINGLE.PAGEFORMAT(describedbelow).Tocreateacompoundspecification,generatethreesingleformatspecifications,andcombinethemintoonewiththefunctionTEDIT.COMPOUND.PAGEFORMAT(describedbelow).(TEDIT.SINGLE.PAGEFORMATPage#s?Pg#XPg#YPg#FontPg#AlignmentTopBottomLeftRight#ColsColWidthInterColSpaceUnits)[Function]CreatesandreturnsaPAGEREGIONobjectdescribingthepageformatspecifiedbythearguments:M< gt`Xqq`F#dt`X *-^2K36g9;=EKMADGM$*1I7;I@7E[#Y#$>$*16=xY#Wh&[)~+.n: BDhG'M=M=Wh#U +X 248X; CFGpIM@VG JM/EHJM=M=Dp#B%'&S*),2A4J6;-;>ArCoFHMA$#>&X1(5:= @C>#<0(,-3I49V<0#9)+.0~24@67`;0>C KCM=M=9#8%( 0R06):;?_EsHdM.1@57u9>!?BJLMACHMPBG^G^#`* 46;>B\GG`# ) 3)FT L # @(+02 ;@ GAIM=M= @# (./2M 9v 2 q?` 9Page#s?:Tifyouwantpagenumbersonthiskindofpage,elseNIL.Pg#X:Thehorizontallocationofthepagenumber,measuredfromtheleftedgeofthepaper.Negativevaluesaremeasuredfromthepaper'srightedge.Pg#Y:Theverticallocationofthebaselineforthepagenumbers,measuredfromthebottomofthepaper.Negativevaluesaremeasuredfromthetopofthepaper.Pg#Font:Thefonttobeusedtodisplaythepagenumbers.ThiscanbeanyspecificationthatisacceptabletoTEDIT.LOOKS.Pg#Alignment:AnatomthattellshowthepagenumberistobealignedonthelocationspecifiedbyPg#XandPg#Y.LEFTmeansthelocationisthelower,leftcornerofthepagenumber.RIGHTmeansthelocationisthelower,rightcorner.CENTEREDmeansthepagenumberwillbecenteredaroundthePg#Xyouspecified.Top:Thetopmarginofthepagethedistancefromthetopofthepapertothetopofthefirstlineofbodytext.Bottom:Thebottommarginthedistancefromthebottomofthelastlineofbodytexttothebottomofthepaper.Left:Theleftmarginthedistancefromtheleftedgeofthepapertotheleftedgeofthefirsttextcolumn.Right:Therightmarginthedistancefromtherightedgeoftherightmosttextcolumntotherightedgeofthepaper.#Cols:Numberofcolumns(default1)ColWidth:Thecolumnwidth(defaultistoevenlydividetheavailablespaceamongthe#Colscolumns)InterColSpace:Thespacebetweentherightedgeofonecolumnandtheleftedgeofthenextcolumn.Defaultstoevenlydividethespaceleftafterthecolumnsaresetup.Ifthereismorethanonecolumn,onortheotherofColWidthandInterColSpacemustbespecified.Units:Theunitsusedinsettingthevaluesyouspecified.MaybeoneoftheatomsPICAS,IN,INCHES,CM,POINTS.DefaultisPICAS.(TEDIT.COMPOUND.PAGEFORMATFirstSpecVersoSpecRectoSpec)[Function]Createsandreturnsa"compoundspecification,"whichgivesindividualpagesspecificationsforthefirstpage,allotherright(recto)pages,andallleft(verso)pages.FirstSpec,VersoSpec,andRectoSpecshouldbePAGEREGIONobjectscreatedbyTEDIT.SINGLE.PAGEFORMAT.NewfunctionTEDIT.RAW.INCLUDEforquicklyincludingcharactersfromunformattedfiles(TEDIT.RAW.INCLUDEStreamInFileStartEnd)[Function]9v gt`XLGq`FL#dt`X*u*,-D/3j6<>ADF`JRMAFGSMoCuEJMAbB#@P()?,0 9 >BDuIGJM& (*T-024q9?:=0AB>#<0''*- 6 < ?BoEHJM,/2k8B:=??A.DF_JMAo GHPKNM> E MnAYGMwFT L | q?`G10ThisisthesameasTEDIT.INCLUDE,exceptthatthespecifiedcharactersfromInFileareincludedwithoutcheckingtoseeiftheInFileisaTEditfileoraBravofile.Thisismuchfaster,ifyoucanguaranteethatthesourceisplainunformattedtext.Abbreviationfacilityextended:hooksforcallingarbitraryfunctions,abbreviationsareupper-casedTheTEditabbreviationexpansionfacilityhasbeenextended:Ifanabbreviation'sexpansionisaLITATOM,itisappliedasafunctiontothetextstreamandtheabbreviationstring,andmustreturnastring/charcodevaluethatistheexpansion.Iftheabbreviation'sexpansionisalist,itisevaluatedandtheresultused.Also,iftheabbreviationexpanderdoesn'tfindanabbreviationastyped,itconvertsittoupper-caseandtriesagain.NewfunctionTEDIT.GETPOINT;returnscharacternumberthatselectionisinsertingbefore(TEDIT.GETPOINTStreamSel)[Function]Returnsthecharacternumberthatthenextcharactertypedwouldbeinsertedinfrontof.IfSelisnon-NIL,thisistheselectionthattheinformationistakenfrom.Otherwise,theinfoistakenfromthecurrentselectionofStream.CanchangehighlightingofaselectionwithTEDIT.SETSELornewfunctionTEDIT.SET.SEL.LOOKSATEditselectionishighlighteddifferentlydependingonwhetheritisshift-selected(dashedunderline),pending-deleteselected(inverseletters),orselectednormally(solidunderline).Thefollowingnewfunctioncanbeusedtochangethehighlightingofaselection:(TEDIT.SET.SEL.LOOKSSelOperation)[Function]ThisfunctionchangesthehighlightingfortheselectionSel,whichshouldbeaTEditselectioncurrentlyvisibleinawindow.Operation,whichcanbeoneoftheatomsNORMAL,MOVE,COPY,DELETE(tomaketheselectionlooklikethatkindofselection),ortheatomINVERTED(whichjustinvertstheselectionwhileleavingthecaretflashing).NotethatTEDIT.SET.SEL.LOOKSdoesn'tchangeTEdit'sinternalstatewithrespecttowhattypeofselectionhasbeenmade.Forexample,ifawordhasbeenpending-deleteselected(inverseletters),andthehighlightinghasbeenchangedtoNORMAL(solidunderline),thenextcharactertypedtothatTEditwillSTILLdeletetheselectedword.Also,TEditdoesnotrememberthe"selectionlooks,"soredisplayingtheeditwindowwillsetthembacktowhattheywereoriginally.AnOperationargumenthasbeenaddedtoTEDIT.SETSEL,whichisinterpretedthesameaswithTEDIT.SET.SEL.LOOKS.RepeatableMP9318withverylargeTEditdocumentsfixedPreviously,wheneditingaverylargeformattedTEditdocuments(ontheorderof70pages),TEditwouldbreakwithaMP9318.Thishasbeenfixed.Now,themaximumsizeofaTEditdocumentL  gt`Xqq`F#dt`X&(+"/!12 <A|DG'M=M=d#b *. 14X:9?HE~GIJMiBYFGJM=M=aN#_*^-&/4959 A"C_#]. . 35:?xBGGM_A#DKLM @ HINJM=M=T#Rv -4A57<:;]<CFIUME3JtMBsIaM=M=E#C(,*0~2s6>89u;=?EIJM@#>'-4 5168&>]At KM=M=>#EGM=M=9#8W%& /5 =M GM=M=8W#6)p/ 147`=A IJsM=M=6#5 ),2V57:ACJM=M=-#,>',./3:@;DFbGM#* +/248:<AeHzMBEH2KM%##,'+v@_FIMBFJM/BVEFIoM=MM # B&)9,004s6=I@ABFM=M= B  q?`11isonlylimitedbytheamountofmemoryspaceinyourvirtualmemory.Line-selectionwillnotallowtheusertoselectprotectedcharactersTherewasabuginTEditwhereprotectedcharacters(withPROTECTEDsetONintheircharacterlooks)couldstillbeselectedbyline-selecting.Thishasbeenfixed."Fontnotfound"errornowdisplaysfaceinformationIfafontfilecannotbefoundwhileformattinginTEdit,thepromptwindownowdisplaysnotonlythesizeandfamilyinformationofthefont,butalsothefaceinformation.SeveralfieldsintheTEXTOBJandSELECTIONdatatypeschangedtocontainlistsTheL1andLNfieldsofaSELECTION,andthe\WINDOW,LINES,andCARETfieldsofaTEXTOBJmaycontainlists,aswellassingleobjectsThefunctionTEXTSTREAMnowacceptsaTEditprocessasitsargument,andreturnsthecorrespondingtextstreamSkippingtonext>>xx<FM=M=NT#L)y+0)2L#J4&)+,].3"5+6 ?BEM DB#@N +*-0u5Q8;?BFIM*-/5x7>#<.6; =DH_JtMnCdE FKMB$B#!0f37?U FJM=M=!# " *, "#)8U;d<BFCFJM=M=# +/3&48#)-$025>7;9XYA#CGM6x9;>?MCXEHKMAE M=M=2#1*1#.'-3 ;AWCxJ:M(E+>#(&o .Q4S:H;>0EKM=M=(#'%('#$%5(_,/h4_9=ADG2MB5E3GuM=M=#h*-l3h# *-@35 >ECFMe@+BFM)Thisfunctioniscalledbythecompilertodeterminewhetherlocal-varargumentinformationforshouldbewrittenonthecompiledfilefor.IfitreturnsNIL,thelocal-varargumentinformationisNOTsaved,andthefunctionisstoredwithargumentsU,V,W,etcinsteadoftheoriginals.Initially,DASSEM.SAVELOCALVARSisdefinedtoreturnT.(MOVD'NILL'DASSEM.SAVELOCALVARS)causesthecompilerM= gt`XKq`FL#dt`X -K 7:=@MEGtMADE M=M=\Z#Z'.o0P399 C M=MMZ#Y+.b17:`<> HJKM@C#F2HKNMILG#EB%).0#6Z:>@D/H{LM.D@FM=M=C#A%'*y,{0v 7<2>(@B!DG)GJMr@yDFu M #v6Av#',.3T58W>@GMqB]G{JM=M= #d)w+-/3/:<>ACHJMD|FKMCD ME>GIME,JM=M=O#M(, 35:>CFHM +- 59B>} EJM#J'\ -4j7r @A HMkBCEG:IKMCE`HMhAlEVKM=M==f#;)A+1 8?BEcIvM=M=;#: *.U 56;J B DIKM G9KM=M=/b#-&M'+2:37=:?BAD-q%s`#q%EtGL%LL%u`{%L%q##q"s`#q"Et#L"LL"# t`X)c.5|78? #'.23 9C>@JFlIM=M=#*c-/$68[:m B?BEKM6ADHJM FNIMAG;M8MBofvirtualmemory;newfunction32MBADDRESSABLESomeearlyversionsofthe1108hardwarewillnotsupportmorethan8MBofvirtualaddressspace.Intermezzowillstillrun,butitwillcrashwhenthevirtualaddressspacegrowsbeyond8MB.Thefunction(32MBADDRESSABLE)returnsTifyourhardwaresupportsthefull32MBaddressspace.Maximumnumberoflitatomsdoubledto64KInInterlisp,thereisafixedlimitonthenumberofdifferentlitatomsthatcanbecreatedinagivensysout.Previously,thelimitwas32768atoms.Thishasnowbeendoubledto65536atoms.Itisstillpossibletorunoutofatoms,sousersbuildingapplicationsthatgeneratealotofatomsmightstillwanttoconsiderusinganotherdatarepresentation,suchasstrings.Storagemanagementchangedtoimprovesystemperformance;"hunking"usedforsmallarraysThestoragemanagementcodewithinInterlisphasbeenextensivelyrevised,toincorporateanumberofchangestoimprovesystemperformance.First,therearenolongerfixedareasinthevirtualmemoryassignedtoallocatingfixedandvariable-lengthdata.Previously,onecouldrunoutofvariable-lengthspace(arrayspace)eveniftherewasstillroominthefixed-lengthspace(maindataspace,MDS).Now,bothspacesexpandasnecessaryuntilallofthevirtualmemoryisfilled.Second,theschemecalled"hunking"hasbeenintroducedforallocatingsmallvariable-lengthobjects.Inthisscheme,smallarraysareallocatedandmanagedlikefixed-lengthdataobjects.Specifically,allthearraysofsize5,6,7,etc.aremanagedlikefixed-lengthobjects,insteadofbeingallocatedfromthemainarrayspace.Thismeansthatthemainarrayspaceisnotfragmentedbysmallarrays.Alargepercentageofthearraysusedbythesystemaresmall,sothisimprovestheperfoamcneofthelargearrayallocation.Thesechangesareinvisibletothecasualuser,exceptthatsystemperformanceisimproved:moreworkcanbedonebeforestorageproblemsappear,andthesystemspeeddoesn'tdegradeovertimeasquickly.Ofcourse,therealwayslimits;themostinconvenientoneshavejustbeenpushedback.Onevisiblechange:theSTORAGEprintouthasbeenchangedslightly.The"DataSpacesSummary"nowlookslike:AllocatedRemainingPagesPagesDatatypes(incl.LISPTetc.)2192\M<. gt`XKq`FL#dt`X',717G9;?BBFIMA*D%GJM@#DiJFM*n.~1!5;Z?DIIMA)L#J6% +/13S74:= ?EGM6@4C GM)>@CIM=M=):#''*z03:< DGM=MM'#% +-0T469;Y= >AD>JMFBGM=M=#D&*K,`124:=BG+IM=M=D# ,/259 >A#$&+i1'3;@CGRM=M=$#~()+/4<? BEm~#;DKX# ^<EI ^# *<-1>>IJj  q?`16ArrayBLocks(variable)3644--52644ArrayBlocks(chunked)2056/Litatoms7441304LitatomPnames(frombootstrap)1310Thisshowsthatbothvariableandfixed-lengthdatatypesareallocatedoutofthesamevirtualmemoryspace,andthatsmallarrayblocksaretreatedseparately(hunked)fromlargearrayblocks.ArithmeticNewmatrixmultiplicationfunctions,withmicrocodesupportonthe1108CPEAnumberoffunctionsformanipulating2-dimensionalmatricieshavebeenadded.Interlispcurrentlyonlysupportsone-dimensionalarrays,soamatrixisrepresentedbypackaingtherowsintoanarray.Thefollowingfunctionsformanipulatingmatricesareavailable:(SETELTARRAYROWCOLUMNEltsPerRowVALUE)[Function]Setsthematrixelementat(ROW,COLUMN)tobeVALUE.EltsPerRowisthenumberofelementsperrowofARRAY.ROWandCOLUMNareindexedfrom1.(GETELTARRAYROWCOLUMNEltsPerRow)[Function]Returnsthevalueofthe(ROW,COLUMN)elementofARRAY.TheargumentsaretreatedasinSETELT.(MATMULTABResultKMN)[Function]MultipliesAbyB,placingtheresultinResult.AisaKrowbyMcolumnmatrix,BisMbyN,andResultisKbyN.ThisfunctiondoesNOTusethematrix-multiplicationmicrocode.(MATMULT133ABResult)[Function]MultipliesAbyB,placingtheresultinResult.Aisa1by3vector,Bisa3by3matrix,andResultisa1by3vector(hencethe"133"suffixitreferstothevaluesofK,M,andNinMATMULT.)Thisrunsinmicrocodeonthe1108CPE,andinmacrocodeonothermachines.(MATMULT331ABResult)[Function]Asabove;Ais3by3,andBandResultare3by1matrices.(MATMULT333ABResult)[Function]A,B,andResultareall3by3matrices.(MATMULT144ABResult)[Function]Jj gt`Xqq`F#dt`X , >>EGFJjd#b +>>IJjb#aN?GVJjaN#_(.1 >?IJj_#].#].#Z&+.2R8; CQFJMCFIMFKBM6:@3B-DD|GMp?@BD H{M=M=#&k+168-; ?BD>FIKMA>DHKM?ABH7#0 -w.0 FT L0# %:&).0j273T5-6J< # -w.0 FT L  q?`17AandResultare1by4vectors,andBis4by4.(MATMULT441ABResult)[Function]BandResultare1by4vectors,andAis4by4.(MATMULT444ABResult)[Function]A,BandResultareall4by4matrices.ThelibrarypackageMATRIXUSEcontainsanumberoffunctionsusefulforusingmatrixmultiplication.IncompatibleChange:(ZEROPX)=(EQPX0)IntheInterlispReferenceManual,(ZEROPX)isdefinedtobeequivalentto(EQX0).Thishasbeenchangedsothat(ZEROPX)isequivalentto(EQPX0).Userswhodependon(ZEROP0.0)returningNILshouldchangetheircodetouse(EQX0).Arithmeticfunctionsacceptnegativezero;fixesobscurebugsTheIEEEstandardnumberformatdefinesthenumber"negativezero."Onrareoccasions,Interlispcodecangeneratethisnumber.Previously,thearithmeticcodewouldcausestrangeerrorswhendealingwithnegativezero.Thishasbeenfixedsothatthearithemeticcodewilltreatnegativezerothesameaspositivezero.1132willcauseanerroronintegeroverflowif(OVERFLOWT)issetPreviously,evenif(OVERFLOWT)wasset,integeroverflowwouldnotcauseanerroronthe1132.Instead,itwouldactasif(OVERFLOW0)wasset(itwouldreturntheresultmodulo2^32.AccuracyofANTILOGimprovedTheaccuracyofANTILOGhasbeenimproved.ThisalsoimprovesfunctionssuchasEXPTwhichcallANTILOG.ProcessesMouseprocessisrestartedbeforepasswordwindowcreatedduringsystemrestartPreviously,incertainrarecircumstancesitwaspossibleforawindowtopopuptopromptforapassword(inordertore-openfiles)beforethemouseprocesswasrestarted.Withoutthemouseprocessalive,itwasn'tpossibleto"button"thewindowtotypeinthepassword.1108MicrocodeL gt`XKq`FL#dt`X$'+.\/y1R2o7:;=>>[@4A[d#a -w.0 FT La#_$'+.\/y1R2o7:;=>>[@4A[_#\ -w.0 FT L\#Y%:&)C-01245;Y#W&f*09 >@ EWFM=M=W#Ux')-1:Ux#R$RwR -2RtR3A8:S@CDFK#I +2 6AfFM=M=F#D(T)*+/L 6<@D"JM)A^D#GKcM`(+>`#;(r*/11746;ABKMhEFJFM;BHMDFpKMG MDITKNMDI+J}MqCyEkI MpA=GBJM=M=9#8'+-1O84;<> GIMRE JM HJM=M=!\#(:(+.t1323;=@C6FJ1#< ,m,147=kBFK<#'+i.3Z48;>C?D KM=M=#&!(.149:<@AUDI(MD>v#)E-25! ;BCJI M=M=V#(+:-(25d9 @#6w-@6t6/ 9>d J~M=M=6# ,M0 26D:?@DFJ%MMC`GIjM=M= # D-/(04? :;z?BEJM=M= D#',.137:};>8A G q?`|19Formoreinformationonthesechanges,seetheGRAPHERlibrarypackagedocumentation.SPACEWINDOW:Displayreorganizedfor32MBInterlispTheSPACEWINDOWdisplayhasbeenreorganizedtodisplayinformationusefulwiththenewmemorymanagementorganization.Now,thedisplaycontainsfourlines:8MBData,Data,Atoms,andVmem,eachofwhichcontainsabarshowingthepercentageofstorageallocated."Atoms"displaysthepercentageofatomsthathavebeenallocated."Vmem"displaysthepercentageofthevirtualmemorybackupfilethathasbeenused."Data"displaysthepercentageofvirtualmemoryspacethathasbeenallocatedtoeitherfixedorvariablelengthdata."8MBData"displaysthetheamountofvirtualmemoryspacethathasbeenallocated,relativeto8MB.VTCHAT:PackageallowsChattoemulateVT-100terminalTheLispuserspackageVTCHATprovidesaVT100-emulatingversionofChat.ItloadsthesubfileVT100KP,whichcontainsroutinesforemulatingtheVT100'srightkeypadwithamouse-sensitivewindow.MiscellaneousPROMPTFORWORDwillnottimeoutwhenURGENCY.OPTION=TTYPROMPTFORWORDiscalledwithURGENCY.OPTION=TTYwhenaprocesswantstograbthettyimmediatelyforaprompt.TEditusesthisoptiontopromptforafilenamewhenretievingorstoringafile.IntheHarmonyrelease,PROMPTFORWORDwithURGENCY.OPTION=TTYwouldtimeoutafterabout15seconds,whichisclearlywrong.ThishasbeenchangedsothatPROMPTFORWORDwillwaitforeverifURGENCY.OPTION=TTY.LET,LET*,PROG*,LIST*movedfromCMLSPECIALFORMSintostandardInterlispsysoutThefunctions/macrosLET,LET*,PROG*,andLIST*havebeenremovedfromthelibrarypackageCMLSPECIALFORMS,andincludedinthestandardInterlispsystem.LET,LET*,andPROG*haveonlymacrodefinitions.LETisessentiallyaPROGthatcan'tcontainGO'sorRETURN's,andwhoselastformisthereturnedvalue.LET*andPROG*differfromLETandPROGonlyinthatthebindingoftheboundvariablesisdone"sequentially."Thus(LET*((A(LIST5))(B(LISTAA)))(EQA(CADRB)))wouldevaluatetotrue;whereasthesameformwithLETmightevenfindAanunboundvariablewhenevaluating(LISTAA).G gt`XKq`FL#dt`X&* 2589@4CFF M=M=d#b'- 7b#`z 0J05 =?CH`z#^& 27>:;> FxHmMbDJM=M=Wh#U +-,1 37L: ArAGMCmIM9BgH@L M=M=ED#C.'3dCq;s`#q;EtGL;LL;u`{;L;q9 9q8s`#q8Et#L8LL8#5t`X5;\AIvM=M=5#4T44T#1 138SCEHM$(*.0y#8#$>$$%F%%&N&&'V'((^())f+).0:28# #$>$$%F%%&N&&'V'((^(+,13 # '-/39;?CF3ITM(CONSA(CONSBC))NotethatLISTcouldbedefinedintermsofLIST*:(LISTAB...YZ)==(LIST*AB...YZNIL)I r gt`Xqq`F#dt`X(-|046v; BsEGM$$)z*,-0C56O;<[>I`z#^&),0279l=S>C^#[#$>$$()+I,./27l8:;~<>@[ q?` HELVETICA ~GACHA  HELVETICA HELVETICA  HELVETICA HELVETICA HELVETICA~GACHA   w$,4"< E N X\_fn&v w 7j/y3{ERIS}INTERMEZZO>DOC>INTERMEZZORELEASENOTES.PSANNELLA 2-Apr-85 15:24:29