emacs-devel
[Top][All Lists]
Advanced

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

patch for next-error highlighting


From: Drew Adams
Subject: patch for next-error highlighting
Date: Sun, 22 Feb 2009 15:17:07 -0800

The attached patches of `simple.el' and `compile.el' add and respect a new
value, `until-move', for options `next-error-highlight' and
`next-error-highlight-no-select'.

The value of `t' is not adequate in a one-buffer-per-frame environment (mine, at
least). The problem is that the overlay gets deleted upon the next command, and
a switch-frame event can act as the next command. Much of the time, the
highlighting is never seen, because a switch-frame event (whether from the user
or the code) causes it to disappear too quickly.

Regardless of whether you are convinced that that is a problem, I would argue
that a user should be given the option of showing the highlighting until the
locus changes, regardless of the next command.

The new value `until-move' does that: it moves the overlay when you change
locus, but it does not delete the overlay upon the next command. IOW, it does
not put `compilation-goto-locus-delete-o' on `pre-command-hook'.

(Personally, I'd prefer that `until-move' be the default value, because I think
it makes more sense for others too...)

You may argue that if the value is `until-move', the overlay is never deleted.
Correct. So what? A user should still have this option.

In practice, it doesn't bother me at all that the overlay remains, and I've been
using this for years (long before Emacs itself had such highlighting). 

If you really want a way for the user to get rid of the overlay, then let `C-u
C-u C-x `' do that, by adding this to the beginning of the definition of
`next-error':

(if (and (consp arg) (= 16 (prefix-numeric-value arg)) 
         compilation-highlight-overlay)
    (delete-overlay compilation-highlight-overlay)
  ...)

Attachment: simple-2009-02-22.patch
Description: Binary data

Attachment: compile-2009-02-22.patch
Description: Binary data


reply via email to

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