From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Leake Newsgroups: gmane.emacs.devel Subject: Re: Generalizing find-definition Date: Wed, 03 Dec 2014 21:13:05 -0600 Message-ID: <85ppc0qf9a.fsf@stephe-leake.org> References: <20141102151524.0d9c665c@forcix> <20141117211039.37f03409@forcix> <877fymghgb.fsf@bredband.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1417662818 12258 80.91.229.3 (4 Dec 2014 03:13:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 4 Dec 2014 03:13:38 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 04 04:13:30 2014 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 1XwMrC-0006Wz-66 for ged-emacs-devel@m.gmane.org; Thu, 04 Dec 2014 04:13:30 +0100 Original-Received: from localhost ([::1]:44262 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwMrB-0001Ej-Cb for ged-emacs-devel@m.gmane.org; Wed, 03 Dec 2014 22:13:29 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwMr2-0001Bu-Kb for emacs-devel@gnu.org; Wed, 03 Dec 2014 22:13:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XwMqq-0004oN-8v for emacs-devel@gnu.org; Wed, 03 Dec 2014 22:13:20 -0500 Original-Received: from dnvrco-outbound-snat.email.rr.com ([107.14.73.227]:11484 helo=dnvrco-oedge-vip.email.rr.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwMqq-0004oC-3C for emacs-devel@gnu.org; Wed, 03 Dec 2014 22:13:08 -0500 Original-Received: from [70.94.38.149] ([70.94.38.149:49489] helo=TAKVER) by dnvrco-oedge02 (envelope-from ) (ecelerity 3.5.0.35861 r(Momo-dev:tip)) with ESMTP id 99/D7-16151-341DF745; Thu, 04 Dec 2014 03:13:07 +0000 In-Reply-To: (Helmut Eller's message of "Mon, 01 Dec 2014 18:31:29 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.94 (windows-nt) X-RR-Connecting-IP: 107.14.64.130:25 X-Authority-Analysis: v=2.1 cv=bePlUY/B c=1 sm=1 tr=0 a=AppmJ/7ZOOFWL/q6u6u93g==:117 a=AppmJ/7ZOOFWL/q6u6u93g==:17 a=ayC55rCoAAAA:8 a=fNEgcOh0sVsA:10 a=9i_RQKNPAAAA:8 a=NEAV23lmAAAA:8 a=FQmQez-z0Zg_-MWzbv8A:9 X-Cloudmark-Score: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 107.14.73.227 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:178794 Archived-At: Using the code at: https://github.com/ellerh/xref, I've written an ada-mode backend (not completion yet). It was quite straight-forward, and I like the dispatching that eieio provides. So I recommend we merge this code into emacs master. A couple comments: The current copyright on xref.el is Helmut Eller; I assume you've got a copyright assignment on file. I'd like to add to xref.el: (defun xref-find-definition-at-point () (interactive) (xref--find-definition (xref-identifier-at-point (xref--backend)) nil)) That's the function I use most often. There is a FIXME on xref-push-marker-stack. I gather you'd like this to be independent of etags? It would not be hard to implement an independent marker ring/stack. But I think it makes more sense to use the etags marker ring; that way, if I am navigating thru code that uses multiple languages, and one language mode uses xref while another uses tags, there is still only one tag ring. Eventually, when most modes have migrated to xref, it might make sense to switch to a separate marker ring. -- -- Stephe