From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: xref and displaying locations in appropriate window or frame Date: Thu, 28 Jan 2016 10:42:00 +0100 Message-ID: <56A9E268.1000001@gmx.at> References: <83wprimto9.fsf@gnu.org> <569D3ADC.5060803@yandex.ru> <83si1sa47q.fsf@gnu.org> <56A06965.7050501@yandex.ru> <83r3ha97yu.fsf@gnu.org> <56A434A9.6040404@yandex.ru> <56A4ADA5.4070607@gmx.at> <56A4CB54.90808@yandex.ru> <56A4E1CF.9010002@gmx.at> <56A50514.9040509@yandex.ru> <56A5140F.2040905@gmx.at> <56A51FA4.5020807@yandex.ru> <56A5EFEE.2080607@gmx.at> <56A6559E.5040301@yandex.ru> <56A666FB.3080709@gmx.at> <87fuxla27x.fsf@acer.localhost.com> <56A744D8.6040205@gmx.at> <56A801E0.2020309@yandex.ru> <56A88980.7000706@gmx.at> <56A8FF6F.4020201@yandex.ru> <56A907AC.6000502@gmx.at> <87a8nqhd82.fsf@mail.linkov.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1453974176 24609 80.91.229.3 (28 Jan 2016 09:42:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 28 Jan 2016 09:42:56 +0000 (UTC) Cc: Eli Zaretskii , Ingo Lohmar , Helmut Eller , Dmitry Gutov , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 28 10:42:44 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aOj6A-0002U0-23 for ged-emacs-devel@m.gmane.org; Thu, 28 Jan 2016 10:42:42 +0100 Original-Received: from localhost ([::1]:54919 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOj69-0002Vj-Ff for ged-emacs-devel@m.gmane.org; Thu, 28 Jan 2016 04:42:41 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:47029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOj5q-0002So-GA for emacs-devel@gnu.org; Thu, 28 Jan 2016 04:42:27 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aOj5p-0000kc-9j for emacs-devel@gnu.org; Thu, 28 Jan 2016 04:42:22 -0500 Original-Received: from mout.gmx.net ([212.227.17.22]:50323) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aOj5h-0000b9-O0; Thu, 28 Jan 2016 04:42:13 -0500 Original-Received: from [192.168.1.100] ([212.95.7.32]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0MK4fR-1aPYZE0i1N-001RvV; Thu, 28 Jan 2016 10:42:05 +0100 In-Reply-To: <87a8nqhd82.fsf@mail.linkov.net> X-Provags-ID: V03:K0:QjTmgD20RFXjx3YDevQ/4m4MPUlQ9rabkILSHj4xut8+vBysdBr YfXGhmgWxRz0H0+/hNL09+q5OANyAshr0bFLF/Uw0X2a1okUxM07IoiKnNDGh6kPFOdsrQF RTahJfO445cfHkX1cf2NWq55Paqe1MfP3MJ75fFy4S3obqYRz1J0RbQ+j+45OMyJKN8Ay2v iGyB/5Kv/HDIKUthGce3w== X-UI-Out-Filterresults: notjunk:1;V01:K0:8gi280nwGGk=:iC8f1FWyUjimzNw+tE0JmW WKFbVdUEGYv3DnejX1GO5SZZYw5luKrf0pg/SudfGno7AA9XtonauKEW6RAJcxCIJ9l/xI3Zi 6D6U6RJVKACsPIOGRGtAzmzdnLFOYL9GyuXuOJUGBJaChQAU49l7n/HFZwxhGWbCa+2XnARAe XtdosTxeat4xI7HOcUgoWiNIDHvHRgrycfGQXUASgM5/e2joeQLmyKKE53L/h78FytMA2sWga DsDZ5SpahXsDGnQrljWQ7zZpRTuzgftrAeBACmIxzEmZ0I8B/frEYD5qMttN+P6cDS4qBor/D kzhMsnECETwyBaSqWvNmCvESSwD+km92JRmfpvoSYUhj8/D6OnyUJy5RiXZQcLO+78+plGRR3 FKnItNFZu0f3u7MyPu15ojmORg0TCpBQtoz+U4Tv+eWNG4G30ifH8W4dKm0yM2cwPEDa6saQ9 +nR6AX7vGW32nN97NIJ35+AA62RnJvTveGa+VIeTe2Lr3kOoCumGPg/9RfPxSYpsMP2wQv6lg IrHHhwMBEhyHOTQ7aMzf9/T6T20vdUo2mahAQHfXE3txPxPHxSxR1OcVOrUlBaCpO+qlBnFYY rJcGoZ/4oqUQffEQcS482vTOl7wZweKQg+mgQBDMs4gDRhr58ivzZfWrRyU/BVYaGZ/71UvHR 22fO7e79eweiIeaQOMm7IP/VDWNT/GPr0klkG8104kEibFzJcnCgBXyb4aqIPb2/TimJMNtqz XZrU9TeCmwBjcPtrVnSf9RMVMm3rxf+RElsdruQo5syne7RVGX21qlgwW3M/cGbzt1ZbQQMC X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.22 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:198936 Archived-At: > Implementing an IDE-like mode in Emacs implies displaying the *xref* > buffer in the same fixed bottom window shared with all other view buff= ers > like *grep*, *compilation*, *Completions*, ... > > ------------ > | O | T | > | | | > |------------| > | X | > ------------ > > and using the tab-bar to switch between these buffers in that bottom w= indow. 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 =E2=80=98tabulated-list-mode=E2=80=99 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 =E2=80=98pop-to-buffer=E2=80=99 and probably rep= lace 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 =E2=80=98next-error=E2=80=99= 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 =E2=80=98next-error=E2=80=99 for xref sounds like a misno= mer to me. martin