laba-2kc@web-2c.berkeley.edu (Sang Yup Kim) (08/13/89)
Somebody a while ago was asking for Cygnus Ed/Rexx scripts. Anyway, here's one. I've found it useful enough to actually install it on CED. What it does is to look for an error file in memory, parse it, and then kick up the correct file and jump to right line number. (Yes, I'm a JOVE user) So far, it only works on Lattice C 5.02, but it shouldn't be to hard to modify for anything else. BUGS CygnusEd doesn't know that a file has been overwritten. As a result, if you write to the error file (by recompiling or re-making), it will not know that. As a result, after each new compile, you should quit out of the error buffer. Again, send all suggestions/modifications to: Na Choon Piaw, laba-2kc@web.berkeley.edu ------------------------------- cut here ------------------------------ /* Copyright 1989 by Na Choon Piaw */ /* Freely distributable provided this header remains intact. */ /* program to read Lattice C 5.02 error files, load in the correct files, and go to the right line number. */ ErrFile = 't:CC.ERR' /* trace ?R */ options results save all changes if ~exists(ErrFile) then do okay1 'Error file not found' exit 5 end status 66 nowin = result do i = 1 to nowin status 19 if result = Errfile then do delete line call Nextline exit 0 end next view end do i = 1 to nowin - 1 quit end split view open ErrFile do i = 1 to 4 shrink view end call Nextline exit 0 Nextline: procedure status 17 if result <= 1 then do okay1 'No more Errors!' quit exit end beg of file status 55 /* trace ?R */ parse var result filename lineno errtype errnum ':' err if upper(errtype) ~= 'ERROR' & upper(errtype) ~= 'WARNING' then /* irrelevant stuff */ do delete line call Nextline return end Next View status 21 if upper(result) ~= upper(filename) then open filename jump to line lineno return