From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: John Yates Newsgroups: gmane.emacs.devel Subject: Re: Emacs completion matches selection UI Date: Sat, 28 Dec 2013 12:00:26 -0500 Message-ID: References: <87fvqtg02v.fsf@flea.lifelogs.com> <874n67n450.fsf@flea.lifelogs.com> <87eh5bkxca.fsf@flea.lifelogs.com> <87d2kuzzqj.fsf@uwakimon.sk.tsukuba.ac.jp> <87a9fylusq.fsf@flea.lifelogs.com> <878uvizrwz.fsf@uwakimon.sk.tsukuba.ac.jp> <8761qmkyn1.fsf@flea.lifelogs.com> <87zjnyxdpb.fsf@uwakimon.sk.tsukuba.ac.jp> <87k3f2j7xv.fsf@flea.lifelogs.com> <2518D79A-B9E4-45DF-A403-8330145DFD17@gmail.com> <87eh58j0x3.fsf@flea.lifelogs.com> <87mwjvfrfy.fsf@flea.lifelogs.com> <877gawbhp0.fsf@flea.lifelogs.com> <87r48xge5k.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=047d7bd91286b4213704ee9b25bc X-Trace: ger.gmane.org 1388250048 13895 80.91.229.3 (28 Dec 2013 17:00:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 28 Dec 2013 17:00:48 +0000 (UTC) Cc: Stefan Monnier , Emacs developers To: =?ISO-8859-1?Q?Jo=E3o_T=E1vora?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 28 18:00:55 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 1VwxFu-0002iA-5M for ged-emacs-devel@m.gmane.org; Sat, 28 Dec 2013 18:00:54 +0100 Original-Received: from localhost ([::1]:52725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VwxFt-0006h8-NM for ged-emacs-devel@m.gmane.org; Sat, 28 Dec 2013 12:00:53 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39828) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VwxFV-0006Mh-N7 for emacs-devel@gnu.org; Sat, 28 Dec 2013 12:00:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VwxFU-0004fI-Eu for emacs-devel@gnu.org; Sat, 28 Dec 2013 12:00:29 -0500 Original-Received: from mail-we0-x22b.google.com ([2a00:1450:400c:c03::22b]:43190) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VwxFT-0004f3-QC for emacs-devel@gnu.org; Sat, 28 Dec 2013 12:00:28 -0500 Original-Received: by mail-we0-f171.google.com with SMTP id q58so9093646wes.16 for ; Sat, 28 Dec 2013 09:00:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=E3+wAe5P92q7buLYagTlNe6oKbHIGHd4/m+L+rsuPNY=; b=vsx2rHxQSjZ8UO6FSwMMY+QW7PrgoL1LTV6ygXsCN6AVZnYZ4NACQjE0nsKifLKtAX Ypab7xm2qunof10/5Urf9pIB0guF9A6CjjtkIhZLGtgs5P5N5nfDvJjtXTzXhw6OZFFm w06t69ZaM3LCJ8AI+lac/8R9fg0/fWWcrIZyebyyqabHkRICqJJ72bG+LgQeXyHa5jND CGlRHurcROpWbBfC1vV/CXdoR57kfU6I7PCSZ/sUc/8rwaw1XyzPodDlivimO7RJgZ1L F7Zq4XcJaYk39taQdemhJvrovrH9cS8glPuG8rBUZpO5WxqiIV/LTaN9HMpsRw2BWqkZ /Urw== X-Received: by 10.195.13.66 with SMTP id ew2mr334227wjd.94.1388250026744; Sat, 28 Dec 2013 09:00:26 -0800 (PST) Original-Received: by 10.194.88.165 with HTTP; Sat, 28 Dec 2013 09:00:26 -0800 (PST) In-Reply-To: <87r48xge5k.fsf@gmail.com> X-Google-Sender-Auth: QOeoSSOg6JLUdhm2wxno5xG9Onk X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c03::22b 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:166954 Archived-At: --047d7bd91286b4213704ee9b25bc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Jo=E3o, Thanks for the detailed reply. Our replies to Stefan crossed each other. On Sat, Dec 28, 2013 at 10:59 AM, Jo=E3o T=E1vora wr= ote: > > Anyway, the other 30% are probably legitimate cases where the user that > activated both yas-minor-mode and auto-complete-mode in a buffer > probably wants something like the following to happen: > > 1. Press TAB > > 2. If theres an active snippet key preceding point, expand it and > leave > > 3. Else attempt autocompletion at point, bring up a menu, whatever it > does > > 4. Else do whatever TAB is bound to > I wrote "probably" because I don't think I ever got a precise > description that clarified the desired interaction. That is, maybe some > users want 2 and 3 reversed. > Yes, that (yasnippet ahead of autocomplete) is what I have attempted to configure for myself. To ensure 3 remains accessible I try to give my snippets names with low likelihoods for collision. [..SNIP..] Again, thanks for the long authoritative reply. My take away is that configuring multiple packages to trigger in some meaningful, predictable manner from a single event is currently part of the "dark arts", not something newbies should attempt. It would be wonderful if some structure and formalism could be brought to this area. /john --047d7bd91286b4213704ee9b25bc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Jo=E3o, Thanks for the detailed= reply. =A0Our replies to Stefan crossed each other.

On Sat, Dec 28, 2013 at 10:59 = AM, Jo=E3o T=E1vora <joaotavora@gmail.com> wrote: Anyway, the other 30% are probably legitimate cases where the user that
activated both yas-minor-mode and auto-complete-mode in a buffer
probably wants something like the following to happen:

=A0 =A01. Press TAB

=A0 =A02. If theres an active snippet key preceding point, expand it and =A0 =A0 =A0 leave

=A0 =A03. Else attempt autocompletion at point, bring up a menu, whatever i= t
=A0 =A0 =A0 does

=A0 =A04. Else do whatever TAB is bound to

I wrote "probably" because I don't think I ever got a precise=
description that clarified the desired interaction. That is, maybe some
users want 2 and 3 reversed.

Yes, that = (yasnippet ahead of autocomplete) is what I have attempted to configure for= myself. =A0To ensure 3 remains accessible I try to give my snippets names = with low likelihoods for collision.

[..SNIP..]

Again, thanks for t= he long authoritative reply. =A0My take away is that configuring multiple p= ackages to trigger in some meaningful, predictable manner from a single eve= nt is currently part of the "dark arts", not something newbies sh= ould attempt. =A0It would be wonderful if some structure and formalism coul= d be brought to this area.

/john
--047d7bd91286b4213704ee9b25bc--