From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Split off some backends from Company? Date: Wed, 13 Aug 2014 05:57:35 +0400 Message-ID: <53EAC60F.6030104@yandex.ru> References: <53E917A2.2080409@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1407895091 11291 80.91.229.3 (13 Aug 2014 01:58:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 13 Aug 2014 01:58:11 +0000 (UTC) Cc: emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 13 03:58:04 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 1XHNpB-0003vz-Kj for ged-emacs-devel@m.gmane.org; Wed, 13 Aug 2014 03:58:01 +0200 Original-Received: from localhost ([::1]:44568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHNpB-00054N-4H for ged-emacs-devel@m.gmane.org; Tue, 12 Aug 2014 21:58:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHNp0-00054F-8m for emacs-devel@gnu.org; Tue, 12 Aug 2014 21:57:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XHNor-0007rV-6Y for emacs-devel@gnu.org; Tue, 12 Aug 2014 21:57:50 -0400 Original-Received: from mail-lb0-x235.google.com ([2a00:1450:4010:c04::235]:62820) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XHNoq-0007qw-UV for emacs-devel@gnu.org; Tue, 12 Aug 2014 21:57:41 -0400 Original-Received: by mail-lb0-f181.google.com with SMTP id 10so7547082lbg.26 for ; Tue, 12 Aug 2014 18:57:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=DR8/7CxCJjhPxL1veoGobRv4+dslJolkt3QmCL3XsGI=; b=Ut8h9ATwVaj3HvOTY6In7pgsDXVbwwgGQ9hiGxtK3BiTitmtCD4/BBJbdIr6XMYT4g n7qhfpoWKHhwTyJTWmtbJSNnZ5K4AfEyWDW8AMXLKrt2+/e6OuYyj77KG3ViTwMwImX+ cDsJW4YVeg0vjaDB0HNXXBiJWiHxVC5uwyh99QTAU9pNjOjqAlkUEJwh5R/f+/VNupik 9690iiLvLVx4vDMdutIgTE8o3jNGY+xY6vcTobblCZwPbxJ5E+4PS2eXl4tj0aDQkEBh v8w2+x4VEVMYbgdrTbw8VbZUr8ECllXsFHlm5SoVvU5h93NVwUoDy4SkpoheN0zRP2oq thjQ== X-Received: by 10.152.19.135 with SMTP id f7mr1241114lae.33.1407895059558; Tue, 12 Aug 2014 18:57:39 -0700 (PDT) Original-Received: from [10.8.0.26] (v-2-eu19-d3962-07.webazilla.com. [78.140.151.7]) by mx.google.com with ESMTPSA id xu8sm269962lab.41.2014.08.12.18.57.37 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Aug 2014 18:57:38 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::235 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:173607 Archived-At: On 08/12/2014 07:50 PM, Stefan Monnier wrote: > Rather than push them to separate packages, it would be preferable to > turn them into completion-at-point-functions and push them to their > corresponding parent package (i.e. to BBDB, oddmuse, and ropemacs). Good point. We've discussed this before, but thanks for the reminder. Doing that with company-bbdb would be hard, but looks like it'll be obsolete as soon as `message-completion-function' starts behaving correctly: `message-expand-name-databases' includes `bbdb' by default. >> Maybe also company-yasnippet. > > Same here. Probably not: using yasnippet as a completion source is a questionable decision, which each user should make themselves. It replaces the advertised way to interact with yasnippet (type the snippet key, press TAB), and the recommended way to use this backend is to group it with others, not by itself (think `completion-table-merge' instead of `completion-table-in-turn'), so putting it in `completion-at-point-functions' would probably be misguided. >> Taking it further, we could do the same that depend on specific external >> programs to be available, but not Elisp code: ... > > There's no such obvious "parent package" to hold those, so I guess > separate ELPA packages would be OK. Okay, it's good to have your approval. They're pretty unobtrusive, though, so I'll come back to them later. >> - The setup proceduce for each such backend becomes more complicated: you >> have to install the backend, its dependencies (happens automatically), >> external dependencies, and add 1-2 new lines to your init file. > > Usually, enough ;;;###autoload trickery can do the setup transparently > for the user. Hmm, yes. I guess we could do that if the user explicitly installed a backend package.