LOSEMACRO

(GIN Macro)

Defined in: MACINTLUDES

Used in:

LOSEMACRO.mac.txt
 *YS2    [??? LOSEMACR SECT DIAG FGN 9 DOC   
 *^?L    #MAC  LOSEMACRO                    [M.C.D. MANN AND J.T. WIFFEN 
 *^R=    [   
 B2=W    [   
 B2QG    [     ***************   
 B3=6    [     *  LOSEMACRO  *   
 B3PQ    [     ***************   
 B49B    [   
 B4P2    [   
 B58L    [ LOSEMACRO - THIS MACRO CAUSES GIN TO FORGET THE EXISTENCE OF THE MACRO
 B5N=    [ CALLED %A, SO THAT ANOTHER MACRO OF THE SAME NAME MAY BE COMPILED IN  
 B67W    [ ITS STEAD.
 B6MG    [     %A       MACRO NAME   
 B776    [     %B       LISTING LEVEL (OPTIONAL) 
 B7LQ    [   
 B86B    #STR  %A
 B8L2    (   
 B95L    #DEF  19?+1=1?  
 B9K=    #STR  %B
 B=4W    #LIS  %B
 B=JG    #STR  %B
 B?46    #SKI
 B?HQ    #LIS  0 
 B#3B    #FRL
 B#H2    #INT
 B*2L    #ORD
 B*G=    NAME           12H%A               [NAME OF MACRO   
 B*^W    SAVE           +0                  [LINS OF INTERLMDE   
 BBFG    PREVIOUS       +0                  [WORKFILE ADDRESS OF PRECEDING MACRO 
 BB^6    NTRY  LDX   5  NAME 
 BCDQ          LDX   6  NAME+1   
 BCYB          STO   0  SAVE                [SAVE LINK   
 BDD2          STO   5  4
 BDXL          ERS   6  4                   [RANDOMISE   
 BFC=          LDX   3  18?+4]+0            [NUMBER OF CHAINS
 BFWW          DVS   3  3
 BGBG          ADX   3  18?+4]+16           [GET CHAIN BASE  
 BGW6          STO   3  NAME                [SAVE IN CASE WE WANT FIRST MACRO
 BH*Q          LDX   3  0(3) 
 BHTB          BZE   3  TIXE 
 BJ*2    SERCH STO   3  NAME+1   
 BJSL          CALL  0  18?+2]+6]           [LOOK UP MACRO ENTRY 
 BK#=          TXU   5  2(3)                [COMPARE MACRO NAMES 
 BKRW          TXU   6  3(3) 
 BL?G          BCC      YES                 [FOUND IT
 BLR6          LDX   0  NAME+1              [KEEP WORKFILE ADDRESS OF PREV MACRO 
 BM=Q          STO   0  PREVIOUS 
 BMQB          LDX   3  1(3)                [GET OFRWARD POINTER 
 BN=2          BNZ   3  SERCH               [TRY NEXT IF ANY 
 BNPL    TIXE  LDX   0  SAVE                [EXIT
 BP9=          EXIT  0  0
 BPNW    YES   LDX   5  1(3)                [FORWARD POINTER FROM THIS MACRO 
 BQ8G          LDX   3  PREVIOUS            [WORKFILE ADDRESS OF THE ONE IN FRONT
 BQN6          BZE   3  NOPRV               [J IF FIRST ON CHAIN 
 BR7Q          CALL  0  18?+2]+7]           [LOOK UP PREVIOUS
 BRMB          STO   5  1(3)                [FORGET MACRO
 BS72          BRN      TIXE 
 BSLL    NOPRV LDX   3  NAME 
 BT6=          STO   5  0(3)                [STORE IN CHAIN BASE 
 BTKW          BRN      TIXE 
 BW5G    #JUM  NTRY  
 BWK6    #EXT
 BX4Q    #LIS  19?+1]
 BXJB    )   
 BY42    #NOR