{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: KEEPCHAP)}}
====== KEEPCHAP ======
(GIN Macro)
**Defined in:** [[george:source:COREMACROS|COREMACROS]]
**Used in:** [[george:source:CHTAB|CHTAB]], [[george:source:INKS|INKS]], [[george:source:KEEPCHAP863|KEEPCHAP863]], [[george:source:PUTPER85|PUTPER85]]
L#9Q ...[??? KEEPCHAP SECT CENT FGN 53 DOC
L#PB ...#MAC KEEPCHAP
L*92 ...[ MACRO USED TO KEEP CHAPTERS IN CORE.IT SETS UP A TABLE OF COUNTS IN
L*NL ...[ FIXED CORE AND A TABLE OF CHAPTERS PER PERIPHERAL IN SEGMENT KEEPCHAP
LB8= ...[ THE CHAPTER CHANGER IS ALSO MENDED.
LBMW ...[ IDENTIFIERS USED ARE AS FOLLOWS
LC7G ...[ JKCTABNO - MAX NO. OF TIMES KEEPCHAP MAY BE ISSUED
LCM6 ...[ JKCTABLEN - MAX LENGTH OF EACH TABLE (I.E. MAX NO OF CHAPTERS + 2)
LD6Q ...[ JKCTABPOS - POSITION OF CURREN TABLE
LDLB ...[ JKCCHAPPOS - POSITION OF CURRENT CHAPTER IN THE TABLE
LF62 ...[ JKCTABSTRT - START OF THE TABLE IN KEEPCHAP
LFKL ...#OPT JKCTABPOS=0 [TABLE POSITION
LG5= ...#SKI JKCTABNO*JKCTABLEN-JKCTABPOS<1$1
LGJW ...! KEEPCHAP ISSUED TOO MANY TIMES
LH4G ...#SKI JKCTABNO*JKCTABLEN-JKCTABPOS
LHJ6 ...(
LJ3Q ...[ FIRST MEND THE CHAPTER CHANGER
LJHB ...#SKI JKCTABPOS<1$1 [ONLY DO IT ONCE
LK32 ...(
LKGL ...#MEN CHCH
LL2= ...#TRA CHKP
LLFW ... BRN FCJKC [BRANCH TO FCMEND AREA
LL^G ...FCRETURN
LMF6 ...#END
LMYQ ... FCMEND
LN?7 ... FIXTRA FCJKC
LNKJ ... BZE 0 XKC [J IF CHAPTER TO BE KEPT
LNY2 ... ADS 3 ACTCHCH(2)
LPCL ... BRN FCRETURN
LPX= ...XKC SBN 1 A1
LQBW ... BS 1,AFKPCP
LQWG ... SBS 3 CHCHCOUNT [SINCE WE PREVIOUSLY ADDED IT IN
LRB6 ... SUNDUMP
LRTQ ... ACROSS KEEPCHAP,3
LS*B ... FCEND
LST2 ...[ NOW THE TABLE IN KEEPCHAP
LT#L ... CHAPMOVE ON
LTS= ...[ MEND PUTPER AND RELPER SO THAT THEY GO DOWN TO KEEPCHAP
LW?W ...#MEN PUTPER
LWRG ...#TRA JKCPUTPER
LX?6 ... NULL
LXQQ ...#END
LY=B ...#MEN RELPER
LYQ2 ...#TRA JKCRELPER
L^9L ... NULL
L^P= ...#END
M28W ...)
M2NG ...[ TABLE OF COUNTS
M386 ... FCMEND
M3MQ ... FIXTRA 20?
M47B ... +0
M4M2 ... FCEND
M56L ...[ SET UP THE TABLE IN KEEPCHAP USING THE AUXILLARY MACRO KEEPCHP1
M5L= ...#MEN KEEPCHAP
M65W ...#TRA JKCTABSTRT+JKCTABPOS
M6KG ... +%A
M756 ... +20?
M7JQ ...#END
M84B ...#ALT JKCCHAPPOS=0
M8J2 ... KEEPCHP1 %B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P
M=2W ...#ALT JKCTABPOS=JKCTABPOS+JKCTABLEN
M=GG ...)
M?26 ...#NOR