ISREDIT MACRO (TCOMMAND) /* DESCRIPTION: RETAIN / RECALL COMMAND /* ==> R COMMAND COMMAND WILL BE RETAINED FOR LATER USE /* ==> R DISPLAY WILL RECALL STORED COMMAND AND ONLY DISPLAY IT /* ==> R RETAINED COMMAND WILL BE RECALLED (AND EXECUTED) /* PURPOSE: /* ALLOW YOU TO DO OTHER EDIT FUNCTIONS SUCH AS MOVE LINES AROUND, /* GO FORWARD/BACKWARD, SAVE, ETC. /* YOU MUST BE WITHIN AN EDIT FOR THIS TO FUNCTION /* WARNING: /* CHECKING FOR INVALID COMMANDS IS LIMITED PREVENTING RECURSION /* OF THE R MACRO ITSELF, WHICH WOULD OTHERWISE HAVE CAUSE A CONTINUOUS LOOP. /* PROGRAMMER: F. DAVID MCRITCHIE BBBBBBBBBBBBBBB 1986/04/24 /******************************************************************************************** IF DISPLAY = &TCOMMAND THEN DO ISPEXEC VGET (TCOMMAND) SHARED SET &ZEDSMSG = &STR(DISPLAY) SET &ZEDLMSG = &STR(COMMAND R WOULD RETRIEVE "ISREDIT &TCOMMAND") ISPEXEC SETMSG MSG(ISRZ000) IF &LENGTH(&STR(&TCOMMAND.)) > 60 THEN DO WRITE ISREDIT &TCOMMAND END EXIT CODE(0) END IF &STR(&TCOMMAND) ^= &STR() THEN DO ISPEXEC VPUT (TCOMMAND) SHARED SET &ZEDSMSG = &STR(RETAINED) SET &ZEDLMSG = &STR(COMMAND RETAINED, PERMITS YOU TO DO LINE MOVES, ETC. WITH ENTER) ISPEXEC SETMSG MSG(ISRZ000) ISREDIT &STR() EXIT CODE(0) END ISPEXEC VGET (TCOMMAND) SHARED SET &ZEDSMSG = &STR(RECALLED) SET &ZEDLMSG = &STR(COMMAND "&TCOMMAND" WAS RECALLED AND EXECUTED) ISPEXEC SETMSG MSG(ISRZ000) IF &STR(&TCOMMAND) ^= &STR() AND &STR(&TCOMMAND) ^= &STR(R) THEN DO ISREDIT &TCOMMAND IF &LASTCC ^= 0 THEN DO SET &ZEDSMSG = &STR(*ERROR*) SET &ZEDLMSG = &STR(STRING "&TCOMMAND." WHICH WAS RECALLED IS INVALID) ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(12) END END EXIT CODE(0)