3 <ENTRY DUPS OBLISTS PACKAGES REFS DUP-LIST PACK-LIST OB-LIST REF-LIST
6 <GDECL (DUP-LIST) <LIST [REST STRING LIST]>
7 (PACK-LIST OB-LIST) LIST>
9 <DEFINE PACKAGES ("AUX" (ATBL ,ATOM-TABLE))
10 #DECL ((ATBL) <VECTOR [REST LIST]>)
17 #DECL ((A) ATOM (O) <OR OBLIST FALSE>)
18 <COND (<AND <SET O <OBLIST? .A>>
19 <==? <CHTYPE .O ATOM> PACKAGE>
20 <NOT <MEMQ .A ,PACK-LIST>>>
21 <SETG PACK-LIST (.A !,PACK-LIST)>)>>
26 <DEFINE OBLISTS ("AUX" (ATBL ,ATOM-TABLE))
27 #DECL ((ATBL) <VECTOR [REST LIST]>)
34 #DECL ((A) ATOM (O) <OR OBLIST FALSE>)
35 <COND (<AND <SET O <OBLIST? .A>>
36 <NOT <MEMQ .O ,OB-LIST>>>
37 <SETG OB-LIST (.O !,OB-LIST)>)>>
42 <DEFINE DUPS ("AUX" (PACKS <PACKAGES>) (ATBL ,ATOM-TABLE) L)
43 #DECL ((PACKS) <LIST [REST ATOM]> (ATBL) <VECTOR [REST LIST]>
50 <FUNCTION (LL "AUX" (A <1 .LL>))
52 <COND (<AND <SAME-PNAME? .A <REST .LL>>
57 <NOT <MEMBER <SPNAME .A> ,DUP-LIST>>>
63 (<SPNAME .A> .L !,DUP-LIST)>)>>
68 <DEFINE SAME-PNAME? (A L)
69 #DECL ((A) ATOM (L) LIST)
73 <COND (<=? <SPNAME .A> <SPNAME .B>> <MAPLEAVE T>)>>
76 <DEFINE DLOOK (A PACKS "AUX" (ENT? <>) L)
77 #DECL ((A) ATOM (PACKS) <LIST [REST ATOM]> (L) LIST)
80 <FUNCTION (P "AUX" PL O)
81 #DECL ((P) ATOM (PL) <LIST [REST OBLIST]> (O) OBLIST)
82 <COND (<NOT <GASSIGNED? .P>> <MAPRET>)>
84 <COND (<AND <N==? <ROOT> <SET O <2 .PL>>>
85 <LOOKUP <SPNAME .A> .O>>
87 <MAPRET <CHTYPE .O ATOM>>)
88 (<AND <N==? <ROOT> <SET O <1 .PL>>>
89 <LOOKUP <SPNAME .A> .O>>
91 <MAPRET <CHTYPE .O ATOM>>)
96 <DEFINE REFS (L "OPTIONAL" (REFL (T)) "AUX" OB A)
97 #DECL ((L) STRUCTURED (REFL) LIST (OB) <OR FALSE OBLIST>)
100 <COND (<TYPE? .O ATOM LVAL GVAL>
101 <COND (<SET OB <OBLIST? <SET A <CHTYPE .O ATOM>>>>
102 <COND (<NOT <MEMQ .OB .REFL>>
103 <PUTREST .REFL (.OB !<REST .REFL>)>)>)>)
104 (<TYPE? .O LIST FORM VECTOR SEGMENT>