From: martin rudalics <rudalics@gmx.at>
To: Juri Linkov <juri@linkov.net>
Cc: Eli Zaretskii <eliz@gnu.org>, Ingo Lohmar <i.lohmar@gmail.com>,
Helmut Eller <eller.helmut@gmail.com>,
Dmitry Gutov <dgutov@yandex.ru>,
emacs-devel@gnu.org
Subject: Re: xref and displaying locations in appropriate window or frame
Date: Thu, 28 Jan 2016 10:42:00 +0100 [thread overview]
Message-ID: <56A9E268.1000001@gmx.at> (raw)
In-Reply-To: <87a8nqhd82.fsf@mail.linkov.net>
> Implementing an IDE-like mode in Emacs implies displaying the *xref*
> buffer in the same fixed bottom window shared with all other view buffers
> like *grep*, *compilation*, *Completions*, ...
>
> ------------
> | O | T |
> | | |
> |------------|
> | X |
> ------------
>
> and using the tab-bar to switch between these buffers in that bottom window.
Alternatively, it should be posible to display *xref* and *grep in two
side-by-side windows on the bottom of the frame like:
------------
| O | T |
| | |
|------------|
| X | C |
------------
I always wanted to rewrite ‘tabulated-list-mode’ so that it auto-adapts
columns to the size of the corresponding window whenever it changes.
> One problem with xref is that currently it doesn't keep the *xref*
> buffer displayed all the time during the next-error navigation,
> and I don't understand why.
I suppose there should be three modes but my understanding of this might
be completely inadequate:
- One that never displays the *xref* window but displays the next target
buffer via a command. This is what etags did once IIRC. I don't know
whether it's still around and has/had suitable navigational facilities
to return to the previous target buffer, for example. Completion at
point works in a similar way if I'm not mistaken.
- One that keeps the *xref* window open forever until the user deletes
it explicitly. That's the variant we discuss here. I think that this
variant should show the *xref* window at the bottom of the frame and
should show *xref* even if there is only one possible choice.
- One that auto-hides the *xref* window as soon as the user makes a
choice. That's the one proposed by xref.el and I believe it would
need an explicit command to redisplay the *xref* buffer instead of
asking the user to explicitly switch to it. This variant should show
the *xref* buffer via ‘pop-to-buffer’ and probably replace it with the
target buffer whenever the user makes a choice. It would immediately
show the target buffer when there's only one choice. Completing via
the *Completions* window very much works according to this principle.
It might be also useful to mix these approaches by having one command
that shows the target buffer and buries the *xref* buffer and another
command that shows the target buffer and leaves the *xref* window alone.
Sorry if I misinterpreted things. Alas, the ‘next-error’ discussion so
far escaped my attention. Any reassessment of what it's supposed to do
and how that is related to showing something in a window would be highly
welcome. The thread of bug#20489 is too confusing for me. At the very
least, the term ‘next-error’ for xref sounds like a misnomer to me.
martin
next prev parent reply other threads:[~2016-01-28 9:42 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-09 19:36 tags-loop-continue Eli Zaretskii
2016-01-09 19:59 ` tags-loop-continue Ingo Lohmar
2016-01-09 20:22 ` tags-loop-continue Dmitry Gutov
2016-01-09 20:42 ` tags-loop-continue Eli Zaretskii
2016-01-09 20:49 ` tags-loop-continue Dmitry Gutov
2016-01-09 20:52 ` tags-loop-continue Dmitry Gutov
2016-01-09 21:19 ` tags-loop-continue Dmitry Gutov
2016-01-10 3:45 ` tags-loop-continue Eli Zaretskii
2016-01-10 4:00 ` tags-loop-continue Dmitry Gutov
2016-01-10 6:29 ` tags-loop-continue Drew Adams
2016-01-10 14:35 ` tags-loop-continue Dmitry Gutov
2016-01-10 15:26 ` tags-loop-continue Ingo Lohmar
2016-01-10 16:09 ` tags-loop-continue Eli Zaretskii
2016-01-10 16:08 ` tags-loop-continue Eli Zaretskii
2016-01-10 16:18 ` tags-loop-continue Dmitry Gutov
2016-01-10 17:53 ` tags-loop-continue Drew Adams
2016-01-10 18:12 ` tags-loop-continue Dmitry Gutov
2016-01-11 7:21 ` tags-loop-continue Eric Abrahamsen
2016-01-10 15:54 ` tags-loop-continue Eli Zaretskii
2016-01-10 16:14 ` tags-loop-continue Dmitry Gutov
2016-01-10 17:08 ` tags-loop-continue Eli Zaretskii
2016-01-10 18:19 ` tags-loop-continue Dmitry Gutov
2016-01-10 19:01 ` tags-loop-continue Eli Zaretskii
2016-01-14 0:41 ` tags-loop-continue Dmitry Gutov
2016-01-14 16:00 ` tags-loop-continue Eli Zaretskii
2016-01-14 16:07 ` tags-loop-continue Dmitry Gutov
2016-01-14 17:17 ` tags-loop-continue Eli Zaretskii
2016-01-14 17:26 ` tags-loop-continue Dmitry Gutov
2016-01-14 17:39 ` tags-loop-continue Dmitry Gutov
2016-01-14 18:36 ` tags-loop-continue Eli Zaretskii
2016-01-14 18:46 ` tags-loop-continue Dmitry Gutov
2016-01-14 18:31 ` tags-loop-continue Eli Zaretskii
2016-01-14 18:44 ` tags-loop-continue Dmitry Gutov
2016-01-14 19:02 ` tags-loop-continue Eli Zaretskii
2016-01-14 19:15 ` tags-loop-continue Dmitry Gutov
2016-01-14 19:18 ` tags-loop-continue Dmitry Gutov
2016-01-14 19:41 ` tags-loop-continue Eli Zaretskii
2016-01-14 20:09 ` tags-loop-continue Dmitry Gutov
2016-01-14 20:21 ` tags-loop-continue Eli Zaretskii
2016-01-18 19:19 ` tags-loop-continue Dmitry Gutov
2016-01-20 11:19 ` tags-loop-continue Eli Zaretskii
2016-01-21 4:59 ` tags-loop-continue Dmitry Gutov
2016-01-21 17:02 ` tags-loop-continue Eli Zaretskii
2016-01-21 17:12 ` tags-loop-continue Dmitry Gutov
2016-01-21 17:47 ` tags-loop-continue Eli Zaretskii
2016-01-21 18:58 ` tags-loop-continue Dmitry Gutov
2016-01-21 19:02 ` tags-loop-continue Eli Zaretskii
2016-01-21 19:11 ` tags-loop-continue Dmitry Gutov
2016-01-21 19:56 ` tags-loop-continue Eli Zaretskii
2016-01-21 20:15 ` tags-loop-continue Dmitry Gutov
2016-01-21 20:36 ` tags-loop-continue Eli Zaretskii
2016-01-21 21:17 ` tags-loop-continue Dmitry Gutov
2016-01-21 21:26 ` tags-loop-continue Dmitry Gutov
2016-01-22 6:59 ` tags-loop-continue Eli Zaretskii
2016-01-22 10:13 ` tags-loop-continue Dmitry Gutov
2016-01-22 14:08 ` tags-loop-continue Eli Zaretskii
2016-01-22 17:51 ` tags-loop-continue John Wiegley
2016-01-22 18:35 ` tags-loop-continue Dmitry Gutov
2016-01-24 1:26 ` next-error-function integration in xref removed Dmitry Gutov
2016-01-26 17:34 ` John Wiegley
2016-01-22 1:54 ` tags-loop-continue John Wiegley
2016-01-22 2:00 ` tags-loop-continue Dmitry Gutov
2016-01-22 5:34 ` tags-loop-continue John Wiegley
2016-01-21 5:15 ` tags-loop-continue Dmitry Gutov
2016-01-21 17:07 ` tags-loop-continue Eli Zaretskii
2016-01-24 2:19 ` xref and displaying locations in appropriate window or frame Dmitry Gutov
2016-01-24 10:55 ` martin rudalics
2016-01-24 13:02 ` Dmitry Gutov
2016-01-24 14:38 ` martin rudalics
2016-01-24 14:53 ` martin rudalics
2016-01-24 17:08 ` Dmitry Gutov
2016-01-24 18:12 ` martin rudalics
2016-01-24 19:01 ` Dmitry Gutov
2016-01-25 9:50 ` martin rudalics
2016-01-25 17:04 ` Dmitry Gutov
2016-01-25 18:18 ` martin rudalics
2016-01-25 19:28 ` Ingo Lohmar
2016-01-26 10:05 ` martin rudalics
2016-01-26 23:31 ` Dmitry Gutov
2016-01-27 9:10 ` martin rudalics
2016-01-27 17:33 ` Dmitry Gutov
2016-01-27 18:08 ` martin rudalics
2016-01-27 18:35 ` Dmitry Gutov
2016-01-27 22:45 ` Juri Linkov
2016-01-27 23:13 ` Dmitry Gutov
2016-01-28 9:42 ` martin rudalics [this message]
2016-01-28 15:03 ` Drew Adams
2016-01-29 0:05 ` Juri Linkov
2016-01-29 7:27 ` martin rudalics
2016-01-29 23:36 ` Juri Linkov
2016-01-29 1:57 ` Dmitry Gutov
2016-01-29 7:27 ` martin rudalics
2016-01-29 13:59 ` Dmitry Gutov
2016-01-29 23:40 ` Juri Linkov
2016-01-25 22:39 ` Dmitry Gutov
2016-01-26 10:05 ` martin rudalics
2016-01-27 1:00 ` Dmitry Gutov
2016-01-27 9:10 ` martin rudalics
2016-01-27 18:43 ` Dmitry Gutov
2016-01-24 15:43 ` Eli Zaretskii
2016-01-24 17:27 ` Dmitry Gutov
2016-01-24 17:58 ` Eli Zaretskii
2016-01-24 18:03 ` Dmitry Gutov
2016-02-21 0:24 ` Dmitry Gutov
2016-02-21 23:49 ` tags-loop-continue Dmitry Gutov
2016-02-22 17:20 ` tags-loop-continue Eli Zaretskii
2016-01-17 23:12 ` tags-loop-continue Stefan Monnier
2016-01-18 1:37 ` tags-loop-continue Dmitry Gutov
2016-01-18 2:20 ` tags-loop-continue Stefan Monnier
2016-01-18 2:28 ` tags-loop-continue Dmitry Gutov
2016-01-18 2:48 ` tags-loop-continue Stefan Monnier
2016-01-18 2:57 ` tags-loop-continue Dmitry Gutov
2016-01-18 15:46 ` tags-loop-continue Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56A9E268.1000001@gmx.at \
--to=rudalics@gmx.at \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=eller.helmut@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=i.lohmar@gmail.com \
--cc=juri@linkov.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).