!--- EDIT # 0120 7 Apr 1982 21:38:10 DB1:[21,2]CB.TES;10 ! !--- PREVIOUS EDIT 31 Mar 1982 14:17:38 DB1:[21,2]CB.TES;7 ! ! THIS MACRO CANONICALLY INDENTS C CODE AND ALIGNS COMMENTS IN THE RIGHT MARGIN. START IT AND ANSWER THE QUESTIONS.! ! xMI -- insert tabs/spaces to get to col # 'x' ! ! #1 -- start pos of line being worked on ! ! #2 -- start pos of line, after indenting is in ! ! #3 -- current column number ! ! #4 -- position of comment (on the source line) ! ! #E -- 1 means this is an else, otherwise 0 ! ! 1 means don't check for continued line ! ! $L -- statement terminator chars ! ! #H -- >0 means undent this and all following lines ! ! <0 means undent this line only ! ! #T -- temp indent for next line only ! ! #X -- orig pos of line being worked on ! ! #Y -- Indent amount (2 columns at a time) ! ! #Z -- ? ! ! #W -- WATCH PROGRESS FLAG ! ! MC -- Comment aligner macro ! 0  EI !--- EDIT # 0009 23 Jul 1979 10:32:10 DR1:[300,3]MT.TEC;14 ! !--- PREVIOUS EDIT 23 Jul 1979 10:30:58 DR1:[300,3]MT.TEC;13 ! ! MACRO TO READ ONE LINE OF TERMINAL INPUT, AFTER CURRENT BUFFER POINTER. DEL, CTRL/U WORK.DEL WORKS RIGHT WITH SCOPE. C/R OR ESCAPE ENDS THE LINE (WITH CR/LF). BUFFER PTR ENDS UP AFTER THE CR/LF. IF CTRL/Z, THE INPUT IS DELETED, AND A VALUE OF "0" (FAIL) IS RETURNED. ELSE VALUE OF "-1" (SUCCESS) IS RETURNED. RADIX IS SAVED. ! @^UT*[0[1[2 U2 .U0<U1 Q1I Q1-13"E I -1U0 0;' Q1-27"E -DI  .-2,.T -1U0 0;' Q1-127"E -D .-Q0"E ? | ET&2"N 8328|.-1,.T' -D'' Q1-21"E 0K ' Q1-26"E 0K   0U0 0;'> Q2]2Q0]1]0 ^[ * @I*U9 * @L*);:}* ! SEE IF CALLED BY MUN AS: COL#, NAME OR NAME ! -1UA Z"N :S, "U JI, ' FR  ZJI  1UA -1U0' 1 ^_; P>> !QUIT! !EX! EX