emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new style Emacs compile


From: Stefan Monnier
Subject: Re: new style Emacs compile
Date: 25 Nov 2003 18:07:30 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

> This is a reimplementation of error locating in Emacs `compile'.
> Error locations only became mouse-sensitive rather late, and were often
> somehow forgotten again.  Or when clicking on one, it would jump to
> a different file.

I think it's a good idea to rework compile.el.
I hope it will make it possible to deal with:
- error messages that span more than one line
- error messages that do not start at column 0
- error messages where the filename is only printed once per file
  and where nesting may occur.

The typical example is TeX where error messages can look like:

  (file1 (file2
  Some error message about the second file line 30
     Some sample text from line 30 that includes funny chars like )
  )
  Some other error message [this time about the first file because of the
  close-paren above]
  )

Also some languages output not just file positions but file ranges
(e.g. "error between line30-col5 and line45-col10").

> diff-mode.el: diff-mode
> diff.el: diff
> eshell/em-unix.el: ???
> net/tramp-util.el: tramp-compile
> progmodes/ada-mode.el: ada-compile-goto-error
> progmodes/ada-xref.el: ...
> progmodes/vhdl-mode.el: vhdl-compile-init, ...
> textmodes/bibtex.el: bibtex-validate
> textmodes/tex-mode.el: tex-mode, ...
> vc.el: vc-buffer-context, vc-restore-buffer-context

As well as sml-mode (still not bundled with Emacs :-( ) which cleverly [hey!
I wrote it!] uses hooks in compilation-error-regexp-alist to do correct
handling of things like "error between line30-col5 and line45-col10" (point
is moved to one end, mark to the other, and the mark is activated, so if you
use transient-mark-mode the region is highlighted).


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]