unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Overlay arrow in *compilation* and *grep* buffers
@ 2005-04-24 10:45 Eli Zaretskii
  2005-04-24 18:42 ` Kim F. Storm
                   ` (2 more replies)
  0 siblings, 3 replies; 49+ messages in thread
From: Eli Zaretskii @ 2005-04-24 10:45 UTC (permalink / raw)
  Cc: Juri Linkov

A couple of weeks ago, a change to compile.el introduced an overlay
arrow into buffers created by compile.el: the overlay arrow now marks
the current line in the compilation buffer.  (Here, ``current line''
means the line whose locus is displayed in the other window;
next-error and mouse-1 change that line.)

At least on a text terminal, this feature is problematic.

First, suppose that "M-x compile" produced the following *compilation*
buffer (I indent the buffer contents 2 columns to the right to make it
stand out):

  -*- mode: compilation; default-directory: "~/" -*-
  gcc -Wall -O -c tfwd.c
  tfwd.c: In function `foo':
  tfwd.c:5: warning: implicit declaration of function `bar'
  tfwd.c: At top level:
  tfwd.c:11: warning: type mismatch with previous implicit declaration
  tfwd.c:5: warning: previous implicit declaration of `bar'
  tfwd.c:11: warning: `bar' was previously implicitly declared to return `int'
  tfwd.c: In function `bar':
  tfwd.c:13: warning: implicit declaration of function `callme'
  tfwd.c: At top level:
  tfwd.c:4: warning: `foo' defined but not used

  Compilation finished at Sun Apr 24 06:01:25

Now, if I type "C-x `", the window that displays the compilation
buffer looks like this:

  =>wd.c:5: warning: implicit declaration of function `bar'
  tfwd.c: At top level:
  tfwd.c:11: warning: type mismatch with previous implicit declaration
  tfwd.c:5: warning: previous implicit declaration of `bar'
  tfwd.c:11: warning: `bar' was previously implicitly declared to return `int'
  tfwd.c: In function `bar':
  tfwd.c:13: warning: implicit declaration of function `callme'
  tfwd.c: At top level:
  tfwd.c:4: warning: `foo' defined but not used

  Compilation finished at Sun Apr 24 06:01:25

Notice the overlay arrow that covered part of the file name: this is a
bug, IMHO.  If we want to have an arrow pointing out the current line,
we should indent the buffer text to the right as many columns as the
arrow string takes.

Moreover, next-error scrolls the display to keep the current line at
the top of the window.  I think it's a bit silly to mark the with an
arrow a line that is always at the top of its window; such an arrow
might make sense if we do not scroll the window except when the
current line is no longer visible.  Perhaps we need a user option to
control these two features (scrolling and arrow) in a way that would
by default prevent scrolling when the arrow is used to show the
current line.

Also, the arrow feature is not customizable.  What about users who
will dislike it and would wish to turn it off?

Finally, I don't really understand why new features such as this one
get installed while we are in a feature freeze.  At the very least, it
should have been discussed (such a discussion could also lead to
better design decisions wrt scrolling).  However, I couldn't find
anything related in emacs-devel archives (sorry if I missed
something).

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2005-05-17 13:23 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-24 10:45 Overlay arrow in *compilation* and *grep* buffers Eli Zaretskii
2005-04-24 18:42 ` Kim F. Storm
2005-04-24 20:04   ` Eli Zaretskii
2005-04-27 13:10     ` Kim F. Storm
2005-04-27 14:39       ` Eli Zaretskii
2005-04-28 11:01       ` Richard Stallman
2005-04-28 19:51         ` Eli Zaretskii
2005-04-28 20:54           ` Nick Roberts
2005-04-29  7:08             ` Eli Zaretskii
2005-04-29  8:52               ` Nick Roberts
2005-05-09 20:55                 ` Juri Linkov
2005-05-10  6:40                   ` David Kastrup
2005-05-12 11:38                   ` Nick Roberts
2005-05-13  1:34                     ` Richard Stallman
2005-05-13  5:03                     ` Juri Linkov
2005-05-13  6:08                       ` Eli Zaretskii
2005-05-13  7:18                         ` Nick Roberts
2005-05-13 13:28                           ` Eli Zaretskii
2005-05-14  0:26                             ` Richard Stallman
2005-05-14  7:17                               ` Eli Zaretskii
2005-05-14 22:20                                 ` Kim F. Storm
2005-05-15 15:58                                   ` Richard Stallman
2005-05-13 13:02                       ` Nick Roberts
2005-05-14  0:25                         ` Richard Stallman
2005-05-15  2:44                           ` Nick Roberts
2005-05-15  4:12                             ` Eli Zaretskii
2005-05-15  4:21                             ` Eli Zaretskii
2005-05-15 22:39                             ` Richard Stallman
2005-05-16  1:20                               ` Nick Roberts
2005-05-16 19:28                                 ` Richard Stallman
2005-05-16 19:28                                 ` Richard Stallman
2005-05-16 22:16                                   ` Nick Roberts
2005-05-17 13:23                                     ` Richard Stallman
2005-04-29 10:49         ` Nick Roberts
2005-05-07 16:20         ` Eli Zaretskii
2005-05-07 21:10           ` Kim F. Storm
2005-05-08  0:41             ` Nick Roberts
2005-05-08  4:21               ` Eli Zaretskii
2005-05-08  5:49                 ` Nick Roberts
2005-05-08 16:12                 ` Richard Stallman
2005-05-08 19:37                   ` Eli Zaretskii
2005-04-25 16:05 ` Richard Stallman
2005-04-25 16:46   ` Eli Zaretskii
2005-04-26 14:33     ` Richard Stallman
2005-04-28 11:34 ` Nick Roberts
2005-04-28 19:50   ` Eli Zaretskii
2005-04-28 21:16     ` Nick Roberts
2005-04-29 10:15   ` Richard Stallman
2005-04-29 12:19     ` Nick Roberts

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).