From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vitalie Spinu Newsgroups: gmane.emacs.devel Subject: Re: xref backends for elisp-related modes Was: Re: Bad moves with xref-find-definitions Date: Wed, 29 Apr 2015 14:40:08 +0200 Message-ID: <87twvz85w7.fsf@gmail.com> References: <87h9s6c27z.fsf@gmail.com> <87zj5wnlyt.fsf@gmail.com> <553C285B.4070400@yandex.ru> <838udfx7rt.fsf@gnu.org> <87383kcy0u.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1430311231 14624 80.91.229.3 (29 Apr 2015 12:40:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Apr 2015 12:40:31 +0000 (UTC) Cc: emacs-devel@gnu.org To: Helmut Eller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 29 14:40:25 2015 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 1YnRHo-0003ql-MV for ged-emacs-devel@m.gmane.org; Wed, 29 Apr 2015 14:40:20 +0200 Original-Received: from localhost ([::1]:38626 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnRHn-0001Aw-T9 for ged-emacs-devel@m.gmane.org; Wed, 29 Apr 2015 08:40:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47689) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnRHi-0001Ap-2I for emacs-devel@gnu.org; Wed, 29 Apr 2015 08:40:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YnRHe-0007JZ-9r for emacs-devel@gnu.org; Wed, 29 Apr 2015 08:40:13 -0400 Original-Received: from mail-wi0-x231.google.com ([2a00:1450:400c:c05::231]:38147) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnRHe-0007JT-3u for emacs-devel@gnu.org; Wed, 29 Apr 2015 08:40:10 -0400 Original-Received: by wiun10 with SMTP id n10so64193458wiu.1 for ; Wed, 29 Apr 2015 05:40:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=GNZXycsI+JKq+4K4M3iGYnyj+py9I0ouSP/EyFa24SY=; b=s9cYqQCEPG+KQbMrAZzsOVP/1ram3DwnerPn4pgvIChgr0ven3b2IpDl4QtnaTwa3P GRDZocHvpjo0APk8V3/4foSiiCEoffyLCVBW/SyTVuY5tibMaUSRq6JbSKjXaxbAEV8A FYYE7kkVNC2juiN57vKxJpK9Vhvr/NYF77duE32Jm9Vy0kuvZCC2JZe3ac/Ea9tlioFp UKGGF52BCSnmQl99CJa1CmUlZ+SrjX5OTyF9bxb58cWx8GdBwJ/c+wqqOgeP2wLWQPuu VnkCC3IS1KQ7Ooy2mBbJ7xTQmSoV5FileJlxynrKCPrhkj0IzFfyTgV5PEPvj2FvlOCI H3aQ== X-Received: by 10.180.7.169 with SMTP id k9mr8503997wia.70.1430311209383; Wed, 29 Apr 2015 05:40:09 -0700 (PDT) Original-Received: from localhost (dhcp-077-251-128-242.chello.nl. [77.251.128.242]) by mx.google.com with ESMTPSA id o5sm21087695wia.0.2015.04.29.05.40.08 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Apr 2015 05:40:08 -0700 (PDT) In-Reply-To: (Helmut Eller's message of "Wed, 29 Apr 2015 08:55:24 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::231 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:186007 Archived-At: >>> Helmut Eller on Wed, 29 Apr 2015 08:55:24 +0200 wrote: > On Tue, Apr 28 2015, Vitalie Spinu wrote: >> Maybe obvious, but this struggle with the choice of the >> default backend wouldn't be there if xref was able to merge backends. > My original proposal had a xref-location= generic function for exactly > that reason: to give the front end the possibility to remove duplicates. > However, this was removed because a) it complicates the > front-end<->backend-end API b) everybody who can write methods for > xref-location= can just as well write a backend that removes duplicates. > For me those are convincing arguments too delegate duplicate removal to > backends. I probably miss something essential but this doesn't make sense to me. We are talking about merged backends. So, the task of frontend is to remove duplicates which result from merging multiple candidate lists coming from backends. How an individual backend can deal with that? Vitalie