; " This is the PACKAGE handling routines, written in MIM. " ; " For documentaton, see The MDL Programming environment [Lebling 80]. " )> PACKAGE-MODE PACKAGE RPACKAGE ENTRY RENTRY SURVIVOR EXTERNAL USE USE-WHEN USE-TOTAL USE-DEBUG USE-DEFER EXPORT INCLUDE INCLUDE-WHEN INCLUDE-DEBUG COMPILING? DEBUGGING? DEFINITIONS END-DEFINITIONS DROP NULL-OBLIST ENDPACKAGE L-SEARCH-PATH L-SECOND-NAMES L-OPEN L-FLOAD L-LOAD L-LOADER L-NO-FILES L-NO-MAGIC L-ALWAYS-INQUIRE L-UNUSE UNUSE L-GASSIGNED? L-NOISY L-VERY-NOISY L-TRANSLATIONS L-USE-ABSTRACTS? TRANSLATE UNTRANSLATE TRANSLATIONS IN-COLLECTION OBLIST IOBLIST DISMISS ;"NPCK is loaded before INT." )> ;" USED BY L PACKAGE " > > > > ; "THIS IS SET UP FOR UNIX, BUT MDL.LOAD SHOULD STRAIGHTEN IT OUT" ]>> > > > ;"THIS SHOULD BE SETG'ED TO T IN COMPILERS." >> ,L-SEARCH-PATH) (LACTION: %<>) "AUX" RESULT CH:CHANNEL (TMP %<>) (OUTCHAN: ,OUTCHAN) (NO-LOAD: <>) (OBLIS: .OBLIST) (TSTR: ) (TL: %<>) "NAME" FL) > NOT-LOADED>>> )> > >) (>)> > )> )> ,LAST-SEARCH-VAL)) ) ( >) (T )>> ) (T )>)> )> ,L-LOADER>)) > >) ( )> > > .TMP>> .TMP) (T)>> >>>> > ,L-SECOND-NAMES) "AUX" CH: NM2: "NAME" PDO) > )>)> )> > )>> .LSN> .CH> ]> "OPT" (LACTION: %<>) "AUX" ODEV:STRING OSNM:STRING) ) ( ) ()> ) ( ) ()> SPEC: SNM: DEV: (L-NO-FILES ,L-NO-FILES)) ) ()> ) ()> >)> > STRING> >> ) ( >> ) ( >> )>) ( >>) (<==? 1> >) (> >)> 2> ) (>)> > )>)> >>> > ) > "DONE"> )>>) ()>> ) ATM:ATOM OBL:OBLIST TMP:LIST (OBLIS:LIST .OBLIST)) >> > )>>> .NO-LOAD> )>) ( !.OBLIS)>> )> .ATM> ) ATM:ATOM IATM:ATOM OBL:OBLIST IOBL:OBLIST TMP:LIST (OBLIS:LIST .OBLIST)) >)> >> > >> > )>>> .NO-LOAD> )>) ( !.OBLIS)>> )> )> .ATM> ) TMP) >)> >> >> > )>>> .NO-LOAD> )> ) ( )>> )> .ATM> [REST ATOM]>) T> [REST ATOM]> "VALUE" ATOM) >> [REST ATOM]> "VALUE" ATOM) DEFINITIONS>> >)>> [REST ATOM]> OBL:OBLIST "AUX" (OBLIS:LIST .OBLIST) (NAME:ATOM T) "VALUE" ATOM) > )> )> > > > )> <1 .OBLIS>> .OBL>) ( .OBL>> )>>> )) >> )>> [REST STRING]> "AUX" VAL:ATOM PCK: L:) > > > >> 1>> >) (T >)>)> .VAL> [REST STRING]>) )>> [REST STRING]>) )>> [REST STRING]> "AUX" (DEBUGGING?: T)) > [REST STRING]> "AUX" (DEBUGGING?: T)) > .DEBUGGING?>> [REST STRING]> "VALUE" ATOM "AUX" (OBLIS: .OBLIST) NAME:STRING PK: OBL: N:FIX M:FIX) ]> ,L-SEARCH-PATH)) )> > > > ) (<==? .PK T>) (> DEFINITIONS>> >) (> >>>> > .N 1>> (.OBL !>)>) (T 1>> (.OBL)>)>)> )>>> [REST STRING]> "VALUE" ATOM "AUX" (OBLIS: .OBLIST) NAME:STRING PK: OBL: N:FIX M:FIX) ]> ,L-SEARCH-PATH)) )> > > > ) (<==? .PK T>) (> DEFINITIONS> >) (> >>>> > .N 1>> (.OBL !>)>) (T 1>> (.OBL)>)>)> )>>> [REST STRING]>) ) (T (L-SP:]> ,L-SEARCH-PATH)) )> > > > ) ( ) ( PACKAGE> >>> >> <2 .RESULT>:> > USE-DEFER >> <3 .RESULT>:> > >> )>) (T )>) (T )>>)>> [REST STRING]> "AUX" (OBLIS: .OBLIST) NAME:STRING PK: OBL: IOBL: N:FIX M:FIX) ]> ,L-SEARCH-PATH)) )> > > > ) (<==? .PK T>) (> DEFINITIONS> ) (> .OBLIS>> >>>> > .N 1>> (.OBL !>)>) (T 1>> (.OBL)>)>)> > >> > >>>> > .N 1>> (.IOBL !>)>) (T 1>> (.IOBL)>)>)> )>>> TMP:>) ) (> > ) (.O )>> (<2 .TMP>) FILE-FIND> > > )> T)>> [REST STRING]> "VALUE" ATOM "AUX" NAME: PK: OBL: IOBL: N:FIX) .OBLIST)) )> >> > )> >> )> > >>>> .N 1>>> >>)> > >>>> .N 1>>> >>)>)>>> %<>)) > %<>) "AUX" (OBLIS: .OBLIST) PK:) > .PK) ( ) (T )> <=? .PKNM>> )>>> "AUX" TMP ATM: IATM:) > ) (> > > > ) .ATM> <==? .IATM>> )>> .L>> ,ATOM-TABLE> "PACKAGE REMOVED") (T #FALSE ("NOT PACKAGE OR DATUM"))>> ]> ,L-TRANSLATIONS)) ) (<=? <1 .L>:STRING .NAME> >)> >>> "AUX" (L:]> ,L-TRANSLATIONS) (OUTCHAN:CHANNEL ,OUTCHAN)) ) (<=? <1 .L>:STRING .FROM> )> >> "> > ]> ,L-TRANSLATIONS)) ) (T ]> .L) L2:]>) ) (<=? <1 .L1>:STRING .NAME> >) ( >)> )> >>)>> ]> ,L-TRANSLATIONS) (OUTCHAN:CHANNEL ,OUTCHAN)) ) (T > "> > >> )>>)>> ) 3> <==? <1 .STUFF> UNASSIGNED-VARIABLE!-ERRORS> <==? <3 .STUFF> GVAL> ATOM>> .FRM> .FRM> .FRM>)>> (PNAME:STRING ) (OUTCHAN:CHANNEL ,OUTCHAN)) ) <=? .PNAME> >> ;"accept the first atom with the same name that has a gval, (but not the package oblist atom)." )>> >>:LIST> .OUTCHAN> " .OUTCHAN> .OUTCHAN> )> ATOM>>> )> )>> ) USE-DEFER> >> (<2 .DEFER>) FILE-FIND> > > )>> (WRONG-NAME:STRING ) EDATA: EDESC: FALSE> RIGHT: OBL:) )> > > > > (.SPEC) FILE-FIND>>> > *40000*> 0> ;"Rentry?" >>) (T >)> > > )>)>)>>> (TOBNAME: )) > <==? <1 .OBLIS>> >>> >>>> > DEFINITIONS> ) (<==? .OBL > ) ( >> )>)> > >> <==? >> > >> >> 1>> ()>)> >) (T )>)> .RIGHT> ]> "AUX" (OUTCHAN:CHANNEL ,OUTCHAN) RESPONSE) %<>) ( > <1 .EDATA>) (T (C:FIX 1)) : " .OUTCHAN> > FIX> >> >)> >) (T > > .OUTCHAN> >)>>)>> > > >>>