/* REXX CLIPLINE Expose only long lines that require clipping. Run CLIPLINE to snip a line after a specified token and place the remainder on a new line below. */ 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 exit 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) parse var parms token . do forever "F NEXT NX " token if rc > 0 then leave "(txt) = LINE .zcsr " if Length( Strip( txt,'T' ) ) > 73 then do pt = Verify( txt,' ' ) /* find first non-blank */ parse var txt front (token) back front = Strip( front,'T' ) token"," /* add a comma */ "LINE .zcsr = ( front ) " back = Copies( ' ',pt+2 )Strip( back ) "LINE_AFTER .zcsr = ( back ) " "XSTATUS .zcsr = NX" end /* > 73 */ end /* forever */ exit /*@ CLIPLINE */