;BODY/TYPE PROPERTY ROUTINES ;FPROP - FIND BODY DEF PROPERTY ;T = STRING PROPERTY NAME ;A = TYPE ;SKIP RETURNS ;T = PROPERTY BLOCK POINTER ; (TTT NOW CONTAINS STRING POINTER) ;FPROPX - FIND PROPERTY NAME IN LIST SUPPLIED ;TTT = BODY OR TYPE DEF PROPERTY LIST POINTER ;FNDDIP - FIND DIP TYPE ;A = BODY POINTER ;SKIP RETURNS ;T = DIPTYPE BLOCK POINTER ;BFPROP - FIND PROPERTY FOR BODY ;A = BODY POINTER ;T = STRING PROPERTY NAME ;SKIP RETURNS ;T = PROPERTY BLOCK POINTER ;SKIPS 1 IF FOUND IN BODY DEF (NO INDIRECT LIST IN BODY) ;SKIPS 2 IF FOUND IN BODY (INDIRECT OR DIRECT) ;PROPERTY NAME STRING IS RETURNED TO FS IF FOUND ;BFCPRP - FIND BODY OR BODY DEF PROPERTY BY CLOSEST MATCH NAME ;TTT = POINTER TO PROPERTY LIST ;T = RETURNS PROPERTY BLOCK OR INDIRECT POINTER ;MPROP - MAKE A PROPERTY BLOCK AND ADD TO TYPE DEF ;T = STRING PROPERTY NAME IN T ;A = TYPE ;RETURNS ;T = NEW BLOCK (WITH NO VALUE STRING YET) ;MAKTXT - MAKE TEXT/PROPERTY BLOCK, POINTER RETURNED IN TT ;FBTPTR - FIND INSTANCE OF PROPERTY/TEXT INDIRECT POINTER ;B = LAST BODY FOUND ;A = BODY DEF PROPERTY/TEXT BLOCK POINTER ;SKIP RETURNS ;B = NEW BODY ;(C = PREVIOUS) ; POINTER TO INDIRECT BLOCK IN D ;COPLTP - MAKE INDIRECT LIST TO BODY DEF TEXT/PROPERTIES ;A = BODY POINTER ;(IF E POINTS TO BODY DEF PROPERTY, IT IS CHANGED TO POINT TO INDIRECT BLOCK) ;RETURNS ;E = POSSIBLY UPDATED POINTER TO INDIRECT BLOCK ;T = PTR TO END OF LIST ;ASCCOP - MAKE INTERNAL FORMAT STRING FROM ASCIZ STRING ;TT = ASCIZ STRING POINTER ;RETURNS ;T = INTERNAL FORMAT STRING POINTER ;MERGEP - MERGE PROP LIST INTO BODY'S PROP LIST ;A = PTR TO BODY ;B = PROP LIST TO MERGE ;TXTREL - RELEASE PROPERTY LIST FROM TYPE OR BODY ; C = PROPERTY LIST ;CPYPRP - COPY CONTENTS OF ONE TEXT BLOCK ONTO ANOTHER ;A = SOURCE TEXT BLOCK ;B = DESTINATION " ;CMPBDY,CMPTYP - COMPILE PROPERTIES ON BODY OR TYPE ;A = BODY OR TYPE ;LH A = FLG -1 MEANS TYPE ;CMPIT - COMPILE PROPERTY FOR BODY OR TYPE ;A = BODY (0 LH) OR TYPE (-1 LH) ;B = PROPERTY ;FLSBDY, FLSTYP - DELETING PROPERTY, CHECK AND FLUSH MAYBE ;A = BODY OR TYPE ;B = PROP BEING FLUSHED ;VERPRP - CHECK BODY, TYPE FOR CONSISTENCY W.R.T. COMPILED SPECIAL PROPS ;A = BODY (0 IN LH), TYPE (-1 IN LH) ;;;;;; CONBOX(E=POINT) CONCAL(A=POINT) CSLTLP(PIN#,,B-R-S) CONNUM(E=POINT) CSLTLP CALCOF(E=POINT) OFFCON ;;;;; VERIFY X-COMMAND TO SEE IF PROP COMPILATIONS ARE CONSISTENT CHECK FETCH-STORES 1) STARTING LOOP WITH "LOCATIVE" - ALL NXT TYPE FETCHES ARE LEGAL IF THEY RESULT IN A PTR THAT IS NULL, OR TO TYPE FETCHED. 2) BODY DELETE CAN CHANGE PINS INTO POINTS! SOME THINGS ARE ASSOCIATED WITH DIPTYPE WHICH MAY BE HUNG OFF OF BODIES, OR INHERITED FROM TYPES - # OF SECTIONS - # OF PINS DEFINED DIP DEF LIST GIVING - PIN NAME - SECTION(S) - SECTION PIN # - PACKAGE TYPE - # OF PINS IN PACKAGE SETTING "DIPTYPE" PROP SHOULD CLEAR ALL DEFINITIONS MAYBE LOOK TO SEE IF DIPTYPE IS IN CORE GETDEF READS DIPS.DIP AND DEFINES INFO FOR TYPE, AND ALL BODIES WITH THE SAME DIPTYPE SETTING "PACKAGE" SHOULD OVERIDE PACKAGE DEF FROM DIPS.DIP THATS WHAT TXBIT IS THERE FOR