2 ; "VERSION FOR INTERPRETER CODE"
4 ; "Definitions of macros to access slots in mudchans, for use by READ
5 and PRINT. Assume that third arg is literally either true or false--
6 EVALed at compile time. Similarly, if second arg is T, it is assumed
7 to not be there. May eventually be released to users, in slightly
10 <DEFMAC CHANNEL-SLOT ('STR 'CHR CHK? OFFS)
12 <FORM BIND ((SU <FORM T$CHANNEL-USER .STR>))
13 #DECL ((SU) T$MUD-CHAN)
16 (<FORM .OFFS '.SU .CHR>)>>)
18 <FORM COND (<FORM T$CHANNEL-BLESS .STR>
19 <EXPAND <FORM CHANNEL-SLOT .STR .CHR <> .OFFS>>)>)>>
21 <DEFMAC M-HLEN ('STR "OPTIONAL" ('CHR T) (CHK? T))
22 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-HLEN>>>
24 <DEFMAC M-HPOS ('STR "OPTIONAL" ('CHR T) (CHK? T))
25 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-HPOS>>>
27 <DEFMAC M-VLEN ('STR "OPTIONAL" ('CHR T) (CHK? T))
28 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-VLEN>>>
30 <DEFMAC M-VPOS ('STR "OPTIONAL" ('CHR T) (CHK? T))
31 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-VPOS>>>
33 <DEFMAC M-ORAD ('STR "OPTIONAL" ('CHR T) (CHK? T))
34 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-ORAD>>>
36 <DEFMAC M-IRAD ('STR "OPTIONAL" ('CHR T) (CHK? T))
37 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-IRAD>>>
39 <DEFMAC M-INTR ('STR "OPTIONAL" ('CHR T) (CHK? T))
40 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-INTR>>>
42 <DEFMAC M-FFRM ('STR "OPTIONAL" ('CHR T) (CHK? T))
43 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-FFRM>>>
45 <DEFMAC M-NCHR ('STR "OPTIONAL" ('CHR T) (CHK? T))
46 <EXPAND <FORM CHANNEL-SLOT .STR .CHR .CHK? ,T$MC-NCHR>>>
48 <DEFMAC M-BIT ('STR 'WHICH "OPTIONAL" ('NEW 0) (CHK? T))
50 <FORM BIND ((SU <FORM T$CHANNEL-USER .STR>))
51 #DECL ((SU) T$MUD-CHAN)
52 <COND (<TYPE? .NEW FIX>
53 <FORM NOT <FORM 0? <FORM ANDB .WHICH <FORM T$MC-BITS
57 <FORM ORB <FORM T$MC-BITS '.SU> .WHICH>>)
59 <FORM T$MC-BITS '.SU <FORM ANDB <FORM T$MC-BITS '.SU>
60 <FORM XORB .WHICH <ANDB>>>>)>>)
62 <FORM COND (<FORM T$CHANNEL-BLESS .STR>
63 <EXPAND <FORM M-BIT .STR .WHICH .NEW <>>>)>)>>
65 <DEFMAC ON-TTY? ('STR)
66 <EXPAND <FORM M-BIT .STR ,T$BIT-INTELLIGENT 0 <>>>>