From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Emacs completion matches selection UI Date: Tue, 19 Nov 2013 13:03:42 -0500 Message-ID: References: <87fvqtg02v.fsf@flea.lifelogs.com> <877gc5fm30.fsf@flea.lifelogs.com> <8738msfqo5.fsf@flea.lifelogs.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1384884239 26646 80.91.229.3 (19 Nov 2013 18:03:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 19 Nov 2013 18:03:59 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 19 19:04:04 2013 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 1Vipeb-0007xz-L5 for ged-emacs-devel@m.gmane.org; Tue, 19 Nov 2013 19:04:01 +0100 Original-Received: from localhost ([::1]:50934 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vipea-0008OT-UZ for ged-emacs-devel@m.gmane.org; Tue, 19 Nov 2013 13:04:00 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VipeR-0008M0-2e for emacs-devel@gnu.org; Tue, 19 Nov 2013 13:03:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VipeJ-00048C-OY for emacs-devel@gnu.org; Tue, 19 Nov 2013 13:03:51 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:11154) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VipeJ-000486-K6 for emacs-devel@gnu.org; Tue, 19 Nov 2013 13:03:43 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFHO+KWN/2dsb2JhbABEvw4Xc4IeAQEEAVYoCws0EhQYDYhCBrEfkA6NYYMpA4hhnBmBXoMV X-IPAS-Result: Av4EABK/CFHO+KWN/2dsb2JhbABEvw4Xc4IeAQEEAVYoCws0EhQYDYhCBrEfkA6NYYMpA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="38638862" Original-Received: from 206-248-165-141.dsl.teksavvy.com (HELO pastel.home) ([206.248.165.141]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 19 Nov 2013 13:03:42 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 88CC260120; Tue, 19 Nov 2013 13:03:42 -0500 (EST) In-Reply-To: <8738msfqo5.fsf@flea.lifelogs.com> (Ted Zlatanov's message of "Tue, 19 Nov 2013 08:48:42 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.182 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:165395 Archived-At: > The second problem is that there are no alternatives to the default > match selection UI. Your company-mode integration would help there. > Please let me know when it's ready for testing. There's nothing special there: just the company-capf in the latest company package. > Remember you can also see the completion candidates buffer without the > minibuffer, if you e.g. do `complete-symbol' in a buffer. I think you mean `completion-at-point'. Indeed, that is a lot more tricky, since in such a context, keys can have any number of other bindings, and it's quite normal to hit `up' or `down' with the intention of "move to the other line because I'm done writing this completable element", so hijacking `up' or `down' in this context is more delicate. But I'm not completely sure whether the minibuffer completion UI has to be identical to the in-buffer completion UI. Of course, it's good for them to be identical, all things being equal, but: things like company-mode don't work well in the minibuffer, whereas the separate *Completions* buffer actually works OK in that case (whereas it's much more problematic for in-buffer completion where the *Completions* buffer may be fairly far from point). > The most important thing IMO is to avoid making a new buffer that > requires `C-x o' and magical bindings. My suggestion is to keep the separate buffer but let the user interact with it without needing to switch to it via C-x o or some such action. That seems doable without too much trouble in the current setup. If we want to avoid the separate buffer altogether, then we're in auto-complete/company-mode territory, which won't happen for 24.4. Stefan