DIRECTORY XMesaCmplr21DefsA, XMesaCmplr21DefsB; XMesaCmplr21: PROGRAM IMPORTS XMesaCmplr21DefsA, XMesaCmplr21DefsB = { allocHead: POINTER _ XMesaCmplr21DefsA.ScratchMap[1].pointer; XMesa16e: PROCEDURE = { -- from AR 417 CStringType: TYPE = POINTER TO CStringBodyType; CStringBodyType: TYPE = RECORD[PACKED SEQUENCE COMPUTED CARDINAL OF CHAR]; CProcType: TYPE = WORD; ProcDescritorPtrType: TYPE = POINTER TO ProcDescritorBodyType; ProcDescritorBodyType: TYPE = RECORD [proc: CProcType, data: WORD _ 0]; CStartWindow: PROC[ InitProc: CProcType, mailTransportPostProc: CProcType, rNameClearRNameProc: CProcType, mailFormatDecodeProc: CProcType, mailTransportAbortRetrievalProc: CProcType, rNameClearRNameRecordProc: CProcType, mailFormatEncodeProc: CProcType, mailTransportLogoffProc: CProcType, rNameCompareRNamesProc: CProcType, mailFormatFreeAttributesProc: CProcType, mailTransportLogonProc: CProcType, rNameCopyXNameProc: CProcType, mailTransportMailPollProc: CProcType, rNameCopyRNameProc: CProcType, mailTransportRetrieveContentProc: CProcType, copyRNameRecordProc: CProcType, mailTransportRetrieveEnvelopeProc: CProcType, rNameFreeGWSpecificInfoProc: CProcType, inbasketChangeBodyPartsStatusProc: CProcType, mailTransportClearEnvelopeProc: CProcType, rNameFreeOrgUnitsProc: CProcType, inbasketChangeMessageStatusProc: CProcType, mailTransportClearInvalidNameListProc: CProcType, rNameFreePersonalRecordProc: CProcType, inbasketDeleteProc: CProcType, mailTransportFreeLocationsProc: CProcType, rNameFreeRNameProc: CProcType, inbasketFreeInbasketEnvelopeProc: CProcType, mailTransportFreeRecipientListProc: CProcType, rNameFreeRNameListProc: CProcType, inbasketGetSizeProc: CProcType, mailTransportGetLocationsProc: CProcType, rNameFreeRNameListDescProc: CProcType, inbasketLogoffProc: CProcType, rNameFreeRNameRecordProc: CProcType, inbasketLogonProc: CProcType, rNameGetRNameTypeProc: CProcType, inbasketMailCheckProc: CProcType, rNamemakeGWSpecificInfoProc: CProcType, inbasketMailPollProc: CProcType, rNameMakeOrgUnitsProc: CProcType, inbasketRetrieveBodyPartsProc: CProcType, rNameMakePersonalRecordProc: CProcType, inbasketRetrieveEnvelopeProc: CProcType, rNameMakeRNameProc: CProcType, rNameMakeRNameListProc: CProcType, rNameMakeRNameListDescProc: CProcType, rNamemakeRNameRecordProc: CProcType, rNameXNameFromRNameProc: CProcType, rNameRNameFromXNameProc: CProcType] = MACHINE CODE {"StartWindow"}; StartTool: PROC[] = BEGIN CStartWindow[ MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc], MesaProcToCProc[SomeProc]]; END; SomeProc: PROC = {}; MesaProcToCProc: PROC [proc: PROC ANY RETURNS ANY] RETURNS [CProcType] = TRUSTED BEGIN ptr: ProcDescritorPtrType = LOOPHOLE[proc]; RETURN [ptr.proc]; END; }; Proc429: PROC = { p: POINTER _ XMesaCmplr21DefsB.ScratchMap[2].pointer; }; }. ¤ file: XMesaCmplr21.mesa - created by PJ 8/9/89 to check if it will compile with the -u switch and to test AR359 + AR 417+ AR 429 from AR 344 AR 359 AR 417 Ę˙•NewlineDelimiter ™J™/J™.J™"J™ J˜šĪk ˜ J˜J˜J˜—šĪn œœ˜Jšœ)˜0J™Jšœ œ+˜=J™Jšžœ œĪc˜&Jšœ œœœ˜/šœœ˜Jšœœœœœœœ˜2J˜—Jšœ œœ˜Jšœœœœ˜>Jšœœœœ˜C—J˜˜šž œœ˜Jšžœ ˜J˜!J˜J˜ J˜+J˜%J˜ J˜#J˜"J˜(J˜"J˜J˜%J˜J˜,J˜J˜-J˜'J˜-J˜*J˜!J˜+J˜1J˜'J˜J˜*J˜!J˜,J˜.J˜"J˜!J˜)J˜&J˜!J˜$J˜!J˜!J˜!J˜'J˜!J˜!J˜)J˜'J˜(J˜J˜"J˜&J˜$J˜#Jšœ&œœ˜CJ˜—šž œœ˜Jš˜J˜˜ J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜—Jšœ˜J˜—Jšžœœ˜J˜š žœœœœœœ˜2Jšœ˜Jš˜Jšœœ˜+Jšœ ˜Jšœ˜J˜—šžœœ˜Jšœœ+˜5J˜—J˜——…—ø›