From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Mattie Newsgroups: gmane.emacs.devel Subject: Re: Usability suggestion : completion for M-: Date: Sun, 16 Mar 2008 21:07:12 -0700 Message-ID: <20080316210712.12aafb17@reforged> References: <87ejaei4iz.fsf@stupidchicken.com> <87hcf7r7vl.fsf@jurta.org> <003001c886f5$366f4330$0600a8c0@us.oracle.com> <874pb7ikt7.fsf@jurta.org> <000501c8873d$4ff68550$0600a8c0@us.oracle.com> <000701c88785$bd26dce0$0600a8c0@us.oracle.com> <87d4puxx2b.fsf@bzg.ath.cx> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/zRn7Y7LuH+yM6UlMBo8XniM"; protocol="application/pgp-signature"; micalg=PGP-SHA1 X-Trace: ger.gmane.org 1205726928 31630 80.91.229.12 (17 Mar 2008 04:08:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 17 Mar 2008 04:08:48 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 17 05:09:17 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jb6ey-0001rM-8l for ged-emacs-devel@m.gmane.org; Mon, 17 Mar 2008 05:09:17 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb6eO-0008Hh-C8 for ged-emacs-devel@m.gmane.org; Mon, 17 Mar 2008 00:08:40 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jb6eI-0008H9-Lb for emacs-devel@gnu.org; Mon, 17 Mar 2008 00:08:34 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jb6eG-0008Gw-Bj for emacs-devel@gnu.org; Mon, 17 Mar 2008 00:08:33 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb6eG-0008Gt-6H for emacs-devel@gnu.org; Mon, 17 Mar 2008 00:08:32 -0400 Original-Received: from wa-out-1112.google.com ([209.85.146.176]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jb6eG-000765-4V for emacs-devel@gnu.org; Mon, 17 Mar 2008 00:08:32 -0400 Original-Received: by wa-out-1112.google.com with SMTP id k34so6227981wah.10 for ; Sun, 16 Mar 2008 21:08:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; bh=IL53OixCDfPJS08J/fBI9oLmf8KyWrKoQuvYK5WTBxU=; b=vnI/QK6Qa5vi5/Q46g0775FVjvvGtMLLRrmGQ3LSsXLTbxVRSf4cQx4LtVBP2xaKO5Q1PvLGn2h3Km1Yi0BRwR6V73rCswq1S8p0n0gneRK4Vs6RYGCQmNXPeIPsH+6J7A6a1NzA/dxTzVYndWrubqEktiw8qMdfeWFThh3sStw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; b=mIo1Yd0YLIYZeQbmcmwwf3fMYqMNOcYJiYoC63GT4p8uGwijFuKTyO+fOtbinWmi+2Uj4E59MKq+hKm7WHx1fQa3vIJl0Ci7L4sFlrvSitAVEdZWbFbJc2cuPFxAovX21Wwe6U3Y1bww98Vb08+Ts8XcT1e8kHQ6IWa6XbY0UtM= Original-Received: by 10.115.78.1 with SMTP id f1mr16834643wal.100.1205726909116; Sun, 16 Mar 2008 21:08:29 -0700 (PDT) Original-Received: from reforged ( [71.217.206.83]) by mx.google.com with ESMTPS id m31sm33810144wag.28.2008.03.16.21.08.24 (version=SSLv3 cipher=OTHER); Sun, 16 Mar 2008 21:08:24 -0700 (PDT) In-Reply-To: X-Mailer: Claws Mail 3.0.2 (GTK+ 2.12.5; i686-pc-linux-gnu) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:92804 Archived-At: --Sig_/zRn7Y7LuH+yM6UlMBo8XniM Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 16 Mar 2008 22:52:51 -0400 Stefan Monnier wrote: > >> But I think I stated that enough now, and you clearly stated your > >> position as well, so it could help to have other people advice on=20 > >> that concerning the *current implementation* of M-: >=20 > For what it's worth, I'm a bit annoyed by Emacs's inconsistent use of > TAB: in minibuffers, TAB behaves like in terminals to mean "complete", > where in normal buffers it usually means "indent". >=20 > But of course, "indent" can also make sense in minibuffers, and > "complete" also makes a lot of sense in normal buffers. >=20 > I have used for many years commands that do both bound to TAB: > typically my TAB first tries to indent, and if the indentation code > didn't make any change then TAB tries to complete. >=20 > It works OK as far as DWIMish things are concerned, but it has some > rough corners: > - if the indentation code always makes changes (e.g. because it cycles > through several possible indentation points), then completion is > never used. Can you post the code ? I have a similar setup, but I can't remember running into that particular problem before. The biggest issue I noticed with overloaded commands is that Emacs commands will inspect this-command. An overloaded command needs to adjust these sorts of variables so other code isn't adversely affected. Some parts of Emacs definitely don't appreciate the current command being a lambda either. > - if the completion code only gets called when you repeat TAB, then > well... you have to repeat TAB to get to completion. > - if not, then you get surprising results when you do TAB C-n TAB C-n > ... intending to reindent a chunk of code and once of the lines > happens to be properly indented already and you end up > completing instead. >=20 > So it's not a satisfactory solution. I definitely have a different implementation that sounds more robust. I hit tab repeatedly and the result is always the same in regards to the behavior selected. =20 >=20 > Stefan >=20 >=20 --Sig_/zRn7Y7LuH+yM6UlMBo8XniM Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFH3e5wdfRchrkBInkRAtloAJ9d4/4eDRriNVEWGXSUnBOScfLsAQCeIsU0 +eTeymJyT6ttzWrkTMYKVNY= =fbSJ -----END PGP SIGNATURE----- --Sig_/zRn7Y7LuH+yM6UlMBo8XniM--