perm filename LEPAUX.HDR[NEW,AIL] blob sn#408294 filedate 1979-01-08 generic text, type T, neo UTF8
IFC DECLARATION(GLOBSW)=0 THENC DEFINE GLOBSW=0;

IFCR GLOBSW THENC
	DEFINE MIN_GLOBAL_ITEM_NUMBER='6000;
ENDC

REQUIRE "LEPAUX.REL[S,RHT]" LOAD_MODULE;

EXTERNAL STRING ARRAY RIPNMS[0:7];

EXTERNAL SIMPLE STRING PROCEDURE ITMNAM(ITEMVAR N);

EXTERNAL SIMPLE PROCEDURE SET_TYPE(ITEMVAR FOO;INTEGER TYP);

EXTERNAL SIMPLE ITEMVAR PROCEDURE XITEM(STRING ID);

EXTERNAL PROCEDURE CPRLNS(ITEMVAR P1,P2);

REQUIRE "⊂⊃⊂⊃" DELIMITERS;
DEFINE DXITEM(ID,V)=⊂
ITEMVAR ID;
IFCR ¬(DECLARATION(ID) LAND CHECK_TYPE(EXTERNAL)) THENC

REDEFINE DFITMSUBR="NEW_"&"ID";
SIMPLE PROCEDURE DFITMSUBR;
	BEGIN
	DEFINE VVSW="V";
IFCR LENGTH(CVMS(VVSW)) THENC
	INTEGER FLG;
	ID←CVSI("ID",FLG);
	IF FLG THEN NEW_PNAME(ID←NEW(V),"ID");
ELSEC
	ID←XITEM("ID");
ENDC
	END;
REQUIRE DFITMSUBR INITIALIZATION 
REDEFINE DFITMSUBR="";
ENDC
⊃;

DEFINE UNBOUND(X)=⊂(X=ANY∨X=BINDIT)⊃;
DEFINE NEC=⊂BINDIT⊃; COMMENT Old English for "nothing";
DEFINE COPYRELNS=⊂CPRLNS⊃;

EXTERNAL LIST PROCEDURE REVLST(LIST L);

EXTERNAL SIMPLE ITEMVAR PROCEDURE IMUNGE(ITEMVAR I;INTEGER T(1),D(0),P(0));

EXTERNAL SIMPLE ITEMVAR PROCEDURE NAME_ITEM(ITEMVAR ITM;STRING ID);

EXTERNAL SIMPLE ITEMVAR PROCEDURE ZAPITEM(ITEMVAR ITM);

EXTERNAL ITEMVAR PROCEDURE BTRIP(ITEMVAR A,O,V);

EXTERNAL ITEMVAR PROCEDURE COPYITEM(ITEMVAR IV);

EXTERNAL RECURSIVE MATCHING PROCEDURE EQVRLN(? ITEMVAR A,V1,V2);

EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPCHK(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPON(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPOFF(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE ITPCHK(ITEMVAR I;INTEGER T);

COMMENT STANDARD PROP BITS;

IFCR FALSE THENC

COMMENT **** ALL THIS HAS TIMED OUT ****;

DEFINE 	RECORDBIT =	'4000;	COMMENT RHT style record in datum;
DEFINE	ITEMPBIT =	'2000;	COMMENT a "temporary" item such as
					one might use to pass a message.
					Marking an item as "temp" authorizes
					anyone to kill it;
DEFINE LSTMSGBIT =	'1000;	COMMENT bit set if datum is a "list message".
					used in process communication, etc;
	
DEFINE	IS_TI(X) =⊂(PROPS(X) LAND ITEMPBIT)⊃;
DEFINE	TI(X)	= ⊂PRPON(X,ITEMPBIT)⊃;
DEFINE	UN_TI(X) = ⊂PRPOFF(X,ITEMPBIT)⊃;
DEFINE LSTMSG(L)=⊂PRPON(ITPCHK(NEW(L),7),LSTMSGBIT)⊃;

ENDC


REQUIRE UNSTACK_DELIMITERS;