From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Ordering of command completions Date: Sun, 07 Dec 2014 20:37:46 +0100 Message-ID: <87r3wbtfn9.fsf@wanadoo.es> References: <87zjaztimi.fsf@wanadoo.es> <0c854b9e-16a9-4147-8a82-3ad94b6790f0@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1417981114 13854 80.91.229.3 (7 Dec 2014 19:38:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 7 Dec 2014 19:38:34 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 07 20:38:27 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 1Xxhf1-0007XH-Bi for ged-emacs-devel@m.gmane.org; Sun, 07 Dec 2014 20:38:27 +0100 Original-Received: from localhost ([::1]:58975 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xxhf0-0005dP-RL for ged-emacs-devel@m.gmane.org; Sun, 07 Dec 2014 14:38:26 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51520) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xxheh-0005d8-SC for emacs-devel@gnu.org; Sun, 07 Dec 2014 14:38:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xxhec-0002pN-81 for emacs-devel@gnu.org; Sun, 07 Dec 2014 14:38:07 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:59435) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xxhec-0002p2-1m for emacs-devel@gnu.org; Sun, 07 Dec 2014 14:38:02 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XxheY-0007JR-LI for emacs-devel@gnu.org; Sun, 07 Dec 2014 20:37:58 +0100 Original-Received: from 129.red-88-10-128.dynamicip.rima-tde.net ([88.10.128.129]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 07 Dec 2014 20:37:58 +0100 Original-Received: from ofv by 129.red-88-10-128.dynamicip.rima-tde.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 07 Dec 2014 20:37:58 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 33 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 129.red-88-10-128.dynamicip.rima-tde.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:IzWluqzc2HTI0F12WvFyBMpTJLk= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:179295 Archived-At: Drew Adams writes: >> the vast majority of noise on M-x comes from packages >> distributed with Emacs. > > Just what noise are we talking about? > > Are you referring to the fact that there can be many commands > that match your minibuffer input? If so, then the answer > (IMHO) is better completion behavior. Packages such as > Icicles and Helm let you narrow things down quickly. I use Ido+flx. Yes, as you type the number of candidates quickly decrease from thousands to dozens, but my experience is that the vast majority of candidates are not applicable on the current context and they force you to type quite a bit more. Then we have non-predictability. You enable a mode through an autoloaded function and suddenly, for the rest of the Emacs session, `M-x foo' no longer resolves to the same list of candidates where it used to. [snip] > Certainly any command that is bound to a key sequence that > is available in the current context should be a candidate. > (That's a minimum.) IMHO introducing ad-hoc heuristics for *discarding* candidates is very risky. OTOH, if it is a matter of sorting the candidates, which is what the OP suggested, it is fine. However, certain completion systems (such as Ido+flx) wouldn't benefit from that sorting, in the general case. [snip]