/* REXX CLNXREF Exclude all lines on a FCXREF listing whose dates match for all entries. */ address ISREDIT "MACRO (opts)" if rc = 20 then do /* ISREDIT not available */ address TSO parse source . . exec_name . ex_nam = Left(exec_name,8) /* predictable size */ helpmsg = ex_nam "is an EDIT macro" say helpmsg end parse var opts parms "((" opts upper opts opts = Strip( opts,'T',')' ) /* yes we want no bananas */ parse value "" with tv parse var opts "TRACE" tv . parse value tv "N" with tv . rc = Trace('O') ; rc = Trace(tv) "(start) = LINENUM .zfirst " "(end) = LINENUM .zlast " ignore_mems = " #INDEX @@README CBTSCAN BACKUP BIG CMDUPD FLIP ", " MIGRATE ONLY RESTORE SQRT VC " do line# = start to end "(txt) = LINE " line# if Substr( txt, 2,1 ) = ' ' &, Substr( txt,13,1 ) = ' ' then do /* not a member */ "XSTATUS" line# "= X " end if Substr( txt,2,1 ) = '-' then, /* separator */ iterate parse var txt mbr . if WordPos( mbr,ignore_mems ) > 0 then do "XSTATUS" line# "= X " /* exclude */ iterate end /* ignore */ if Substr( txt, 12,1 ) = ' ' & Substr( txt, 13,1 ) <> ' ' |, Substr( txt, 29,1 ) = ' ' & Substr( txt, 30,1 ) <> ' ' |, Substr( txt, 46,1 ) = ' ' & Substr( txt, 47,1 ) <> ' ' |, Substr( txt, 63,1 ) = ' ' & Substr( txt, 64,1 ) <> ' ' |, Substr( txt, 80,1 ) = ' ' & Substr( txt, 81,1 ) <> ' ' |, Substr( txt, 97,1 ) = ' ' & Substr( txt, 98,1 ) <> ' ' |, Substr( txt,114,1 ) = ' ' & Substr( txt,115,1 ) <> ' ' |, Substr( txt,131,1 ) = ' ' & Substr( txt,132,1 ) <> ' ' then nop else "XSTATUS" line# "= X " /* hide complete match */ end /* line# */ exit /*@ CLNXREF */