[comp.emacs] cursor at syntax error

tla@kaiser.UUCP (T Anderson) (07/17/87)

One of the nice features of many compiler systems like Turbo
Pascal and the old UCSD P-system is the ability to tie the
compiler and an editor together, so that after the compiler finds
syntax errors the editor can be called, the file loaded and the
cursor automatically placed at the first error.  With Turbo this can
only be done with one error, but the editors under the UCSD P-system
would take an error list and after correcting the first error, a
couple of key strokes would move you to the next error.  Such a
system makes the early edit-compile-reedit cycle (when syntax errors
are the most common problems) much faster.  Of course, one problem,
not completely solved by the P-system was that after editing the
first error the line number of the later errors might have changed. 
Obviously it would be nice to have a more robust context reference
to the error's locations rather than just a line number, but it at
least gets you close, and it displays the error message at the
bottom of the screen so you can usually figure it out.  

One of my surprises on first contact with the UNIX system was the
lack of such ties between the compilers and any of the editors. 
After learning emacs and seeing the powerful programming features,
it appeared that such a system might be possible.  One would have to
(1) send the compiler output to a file; (2) use a filter that would make a
error list for use by emacs, preferably keeping the error message
and possibly the copy of the bad line; (3) enter emacs; (4) using
the error list move the cursor to the first error; (5) display the
error message and copy of bad line at the bottom of the screen; (6)
allow editting; and (7) add a key command to move-to-next-error.

Has anyone done something like this that I have just missed?  Does
anyone see any insurmountable problems that explain why it has not?


			     --	Terry L Anderson
				AT&T Bell Laboratories -- Liberty Corners
				UUCP:     ...!ihnp4!kaiser!tla
				TeleMail: Terry.Anderson
				(201) 580-4428

smithln@rochester.arpa (Neil Smithline) (07/18/87)

GNU emacs has the functions M-x compile (which I bind to C-x C-e) to
run make (or any other compilation command) from within the editor.
You can then proceed from one error to the next with M-x next-error
(by default this is bound to C-x `).  I believe this is what you are
looking for.  If I recall correctly the days before I discovered the
wonders of GNU, CCA emacs has a similar feature although I can't be
sure.

- Neil
-- 
Neil Smithline
ARPA:    smithln@cs.rochester.edu
UUCP:    ..!{allegra,decvax,seismo}!rochester!smithln 
Mail:    CS Dept., University of Rochester, Rochester NY 14627

weltyc@nic.nyser.net (Christopher A. Welty) (07/19/87)

In article <625@sol.ARPA> smithln@rochester.UUCP (Neil Smithline) writes:
>GNU emacs has the functions M-x compile (which I bind to C-x C-e) to
> ...
> If I recall correctly the days before I discovered the
>wonders of GNU, CCA emacs has a similar feature although I can't be
>sure.

	Yes, this is a common feature to all (well the big ones like
orig. Gosling, CCA, Unipress...) emacses.

Christopher Welty - Asst. Director, RPI CS Labs
weltyc@cs.rpi.edu       ...!seismo!rpics!weltyc

mitch@stride1.UUCP (Thomas P. Mitchell) (07/23/87)

In article <620@kaiser.UUCP> tla@kaiser.UUCP (T Anderson) writes:
>One of the nice features of many compiler systems like Turbo
>Pascal and the old UCSD P-system is the ability to tie the
                ^^^ ^^^^^^^^^^^^^
It is still alive and under new management -- Pecan Software, Brooklyn, NY.
They call it the Power System in some ads.

The ability to tie compiler errors back to the editor is tied deeply 
into the OS.   It is a clever and powerful tool.  I also very much like
the "compile" functions of GNU in a unix environment.

Thanks for the soap



Thomas P. Mitchell (mitch@stride1.Stride.COM)
Phone:	(702) 322-6868 TWX:	910-395-6073
MicroSage Computer Systems Inc. a Division of Stride Micro.
Opinions expressed are probably mine.