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: Usability suggestion : completion for M-: Date: Sun, 16 Mar 2008 22:52:51 -0400 Message-ID: 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: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1205722390 22279 80.91.229.12 (17 Mar 2008 02:53:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 17 Mar 2008 02:53:10 +0000 (UTC) Cc: emacs-devel@gnu.org To: Bastien Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 17 03:53:38 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 1Jb5Tj-0004p0-Vy for ged-emacs-devel@m.gmane.org; Mon, 17 Mar 2008 03:53:36 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb5TA-0008S9-1Z for ged-emacs-devel@m.gmane.org; Sun, 16 Mar 2008 22:53:00 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jb5T4-0008Qz-MH for emacs-devel@gnu.org; Sun, 16 Mar 2008 22:52:54 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jb5T3-0008Qd-7N for emacs-devel@gnu.org; Sun, 16 Mar 2008 22:52:54 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb5T2-0008Qa-QW for emacs-devel@gnu.org; Sun, 16 Mar 2008 22:52:52 -0400 Original-Received: from ironport2-out.pppoe.ca ([206.248.154.182]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jb5T2-00085j-Lz for emacs-devel@gnu.org; Sun, 16 Mar 2008 22:52:52 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAOx53UdMCrTo/2dsb2JhbACmFoEK X-IronPort-AV: E=Sophos;i="4.25,510,1199682000"; d="scan'208";a="16126016" Original-Received: from smtp.pppoe.ca ([65.39.196.238]) by ironport2-out.pppoe.ca with ESMTP; 16 Mar 2008 22:52:51 -0400 Original-Received: from pastel.home ([76.10.180.232]) by smtp.pppoe.ca (Internet Mail Server v1.0) with ESMTP id XFR33851; Sun, 16 Mar 2008 22:52:51 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 154F88F79; Sun, 16 Mar 2008 22:52:51 -0400 (EDT) In-Reply-To: <87d4puxx2b.fsf@bzg.ath.cx> (Bastien's message of "Sun, 16 Mar 2008 19:56:12 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. 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:92799 Archived-At: >> 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 >> that concerning the *current implementation* of M-: 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". But of course, "indent" can also make sense in minibuffers, and "complete" also makes a lot of sense in normal buffers. 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. 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. - 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. So it's not a satisfactory solution. Stefan