ISREDIT MACRO /* DAVID MCRITCHIE -- 1988/05/16 */ /* SPLIT CLIST SO COL 72 AND BEYOND IS NOT USED /* *** */ /* MORE ESTHETIC RESULTS MAY BE ACHIEVED BY MANUAL MANIPULATIONS /* DO NOT FORGET TO INCLUDE "+" WHEN YOU SPLIT A LINE. /* 1. SEE IF ALL LINES SHOULD BE MOVED LEFT (SHIFTNX LEFT N VALIDNX /* 2. X ALL;F 72 124 P'^' /* 3. SPLIT "= NOTELINE" AT THE "=" SO IT APPEARS ON NEXT LINE /* 4. REMOVE SLASH-ASTERISK "-*-/-" COL 72 124 ISREDIT FIND LAST P'^' 73 124 IF &LASTCC ^= 0 THEN DO ISREDIT LINE_BEFORE .ZF + = NOTELINE "&SYSTIME. NOTHING BEYOND COL 72 -- NO CHANGES" GOTO DONE END ISREDIT X ALL ISREDIT FIND ALL P'^' 73 124 SET NCOLS = &STR(1...5...10...15...+ 20...25...30...35...40...45...50...55...60...65...70..) SET LAST13 = 9999999 SET FLAG = 0 REPEAT: - IF FLAG > 10 THEN DO SET &ZEDSMSG = &STR(FLAG=&FLAG) SET &ZEDLMSG = &STR(&ZEDSMSG. ERRORS) ISREDIT LINE_AFTER .ZCSR = NOTELINE "*ERROR** &XEDLMSG." ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(4) END SET MSGX = &STR(, ) ISREDIT FIND LAST P'^' 73 124 IF &LASTCC ^= 0 THEN GOTO DONE ISREDIT (VAR013,VAR014) = CURSOR /* ------------------------------- */ IF &EVAL(&VAR013.) < &EVAL(&LAST13.) THEN DO SET LAST13 = &VAR013 ISREDIT LINE_BEFORE .ZCSR = MSGLINE "&NCOLS." ISREDIT FIND FIRST P'^' .ZCSR .ZCSR ISREDIT (VAR013X,FFF014) = CURSOR ISREDIT FIND NEXT .ZCSR .ZCSR X'615C' /* CHECKED FOR SLASH-AST "/*" */ ISREDIT (VAR013X,AST014) = CURSOR IF &AST014 ^= &FFF014 THEN DO ISREDIT LINE_AFTER .ZCSR = LINE &VAR013. ISREDIT TSPLIT &VAR013. &AST014. /* DO NOT PLACE CONTINUATION CHARACTER ON LINE*/ ISREDIT DELETE &EVAL(&VAR013. + 2) ISREDIT SHIFT ) &EVAL(&VAR013. + 1) 5 ISREDIT LABEL &EVAL(&VAR013 + 1) = .AST ISREDIT C &FFF014. ' ' X'615C' END END ISREDIT FIND LAST .ZCSR .ZCSR 73 124 P'^' IF &LASTCC ^= 0 THEN GOTO REPEAT ISREDIT FIND PREV .ZCSR .ZCSR 31 71 P' ^' SET RC = &LASTCC. IF &RC ^= 0 THEN DO ISREDIT FIND LAST .ZCSR .ZCSR 1 72 P'^' IF &LASTCC ^= 0 THEN DO ISREDIT C ALL .ZCSR .ZCSR ' ' X'41' ISREDIT C ALL 1 65 X'41' '' ISREDIT C ALL .ZCSR .ZCSR X'41' ' ' SET FLAG = &FLAG + 1 GOTO REPEAT END ISREDIT FIND PREV .ZCSR .ZCSR 31 71 ',' SET RC = &LASTCC. IF &RC. ^= 0 THEN ISREDIT FIND PREV 31 71 .ZCSR .ZCSR ' ' IF &RC = 0 THEN DO ISREDIT FIND NEXT .ZCSR .ZCSR P'^' 1 72 IF &LASTCC = 0 THEN DO ISREDIT (VAR013,VAR014) = CURSOR SET VAR014 = &VAR014 - 1 GOTO USE END END SET VAR014 = 70 SET MSGX = &STR(&MSGX, FORCED TO SPLIT AT 71) GOTO USE END ISREDIT (VAR013,VAR014) = CURSOR IF VAR014 > 32 THEN DO ISREDIT FIND 31 &VAR014. P'^ ' .ZCSR .ZCSR PREV SET RC = &LASTCC. END IF &RC ^= 0 THEN DO ISREDIT LINE_AFTER .ZCSR = NOTELINE "******** &VAR013, &VAR014" ISREDIT FIND ',' LAST 1 70 .ZCSR .ZCSR IF &LASTCC = 0 THEN DO ISREDIT (VAR013,VAR014) = CURSOR SET MSGX = &STR(&MSGX, SPLIT AFTER COMMA) GOTO USE END ISREDIT FIND '^^' LAST 31 71 .ZCSR .ZCSR IF &LASTCC ^= 0 THEN DO SET MSGX = &STR(&MSGX, *SPLIT AT 71*) SET VAR014 = 70 GOTO USE END ISREDIT (VAR013,VAR014) = CURSOR SET MSGX = &STR(&MSGX, FORCED TO SPLIT MID-WORD) GOTO USE END USE: + ISREDIT LINE_AFTER .ZCSR = LINE &VAR013. ISREDIT TSPLIT &VAR013. &EVAL(&VAR014. + 1) ISREDIT C .ZCSR .ZCSR &EVAL(&VAR014. + 1) ' ' '+' ISREDIT DELETE &EVAL(&VAR013. + 2) ISREDIT SHIFT ) &EVAL(&VAR013. + 1) 2 IF &STR(&MSGX.) ^= &STR(, ) THEN ISREDIT LINE_AFTER + .ZCSR = MSGLINE "&SUBSTR(3:&LENGTH(&STR(&MSGX.)),&STR(&MSGX.))" GOTO REPEAT DONE8: - SET &ZEDSMSG = &STR(NO BLANK BEFORE 72) SET &ZEDLMSG = &STR(DID NOT WANT TO SPLIT THIS LINE DO IT + MANUALLY -- THANK YOU) ISREDIT LINE_AFTER .ZCSR = NOTELINE "*ERROR** &XEDLMSG." ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(8) DONE: - EXIT CODE(0)