From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: find-file-project Date: Wed, 20 Jan 2016 16:08:09 -0800 (PST) Message-ID: References: <86pp1j4ejm.fsf@stephe-leake.org> <86lhc73wog.fsf@stephe-leake.org> <55F8F2FA.6060902@yandex.ru> <867fnq1oe9.fsf@stephe-leake.org> <55F9A13A.3070101@yandex.ru> <55FB01BD.1070909@yandex.ru> <568C6DE5.8040201@yandex.ru> <568F1327.30905@yandex.ru> <569DD470.2060603@yandex.ru> <569ED9F6.3050003@yandex.ru> <569EE733.6090406@yandex.ru> <569FAA57.5000302@yandex.ru> <56A00663.7050705@yandex.ru> <6028e88e-e79d-4e85-b759-0f5c75902da0@default> <56A0099A.5070305@yandex.ru> <1d448ddb-cb25-4c0a-80df-7321f83b13ad@default> <56A00F31.7050108@yandex.ru> <3d71b360-d640-4e85-b735-82999d3cf5d4@default> <56A0170B.8090406@yandex.ru> <2dccae8f-f499-40d9-baed-802194ef4030@default> <56A01D7B.9060107@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1453334924 9347 80.91.229.3 (21 Jan 2016 00:08:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 21 Jan 2016 00:08:44 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 21 01:08:31 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 1aM2nf-0006KW-IA for ged-emacs-devel@m.gmane.org; Thu, 21 Jan 2016 01:08:31 +0100 Original-Received: from localhost ([::1]:45558 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM2ne-0000Xj-BN for ged-emacs-devel@m.gmane.org; Wed, 20 Jan 2016 19:08:30 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM2nR-0000XN-48 for emacs-devel@gnu.org; Wed, 20 Jan 2016 19:08:18 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aM2nN-0000FQ-3E for emacs-devel@gnu.org; Wed, 20 Jan 2016 19:08:17 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:40147) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM2nM-0000Eu-RF for emacs-devel@gnu.org; Wed, 20 Jan 2016 19:08:12 -0500 Original-Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u0L08Aaf026042 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 21 Jan 2016 00:08:11 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u0L08AJw030850 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 21 Jan 2016 00:08:10 GMT Original-Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id u0L08A33022482; Thu, 21 Jan 2016 00:08:10 GMT In-Reply-To: <56A01D7B.9060107@yandex.ru> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 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:198478 Archived-At: > > Maybe you meant `try-completion'? And even that uses `completion-style= s', > > which is pretty flexible (not in the way that I wanted, but at least it > > allows for different kinds of completion). >=20 > completion-styles are too slow. We want to be able to delegate matching > to an external program. The question is why you need to break stuff to be able to do that. > Maybe try reading the thread next time, before jumping in? Maybe try explaining why you need to break `all-completions' and `minibuffer-completion-table'. Don't suggest breaking it and I probably won't jump in at all. Why can't you build your shiny new feature outside the existing completion framework, if it doesn't suit your purpose? Why do you (think you) need to break it? > > So don't use `completion-at-point-functions', if they don't give you > > what you want. I don't use them. That shouldn't mean that you need > > to screw `all-completions' or `minibuffer-completion-table'. >=20 > completion-at-point-functions are fine. The completion tables, as > currently defined, are insufficiently powerful. So use whatever alternative you (think you) need, but outside the current framework - instead of just breaking that framework to fit what you want to do. If `minibuffer-completion-table' is not your cup of tea, leave it alone and go make your own, "sufficiently powerful". But leave it alone. That's all I'm asking: add (if really necessary); don't break. > We also want to use the new kind of completion tables for e.g. > project-find-file, which does use the minibuffer. So what? There are lots of ways to use the minibuffer. And you can add to them if they aren't enough for you. You should not need to break existing ways of using it just to add your own way. New this, new that, insufficiently powerful this, more powerful that... My point is that you can just do what you (think you) need to do without sacrificing what already exists. > > `completion-at-point-functions', too limited or not, is fairly recent. > > `all-completions' and `minibuffer-completion-table' are decades old. > > They are solid, basic tools. >=20 > Emacs should improve over time. You can improve Emacs (or even change it in other ways that you might think are improvements) without breaking the longstanding completion framework. Just add another one, for your "sufficiently powerful" enhancements, if the existing one doesn't suit your needs.