From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : Re: Current mode command discovery Date: Sun, 14 Feb 2021 23:30:04 +0000 Message-ID: References: <87v9aubm96.fsf@gnus.org> <83a6s6bkrg.fsf@gnu.org> <87czx2ifyp.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27107"; mail-complaints-to="usenet@ciao.gmane.io" To: =?iso-8859-1?Q?=D3scar_Fuentes?= , "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 15 00:37:44 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lBQxS-0006vG-VE for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Feb 2021 00:37:43 +0100 Original-Received: from localhost ([::1]:48528 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBQxR-0004Fr-Uk for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Feb 2021 18:37:41 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35302) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBQqJ-0003Lh-Qr for emacs-devel@gnu.org; Sun, 14 Feb 2021 18:30:23 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:51524) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBQqD-0000p1-Qr for emacs-devel@gnu.org; Sun, 14 Feb 2021 18:30:19 -0500 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11ENUCxX166417; Sun, 14 Feb 2021 23:30:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=kDuWaIg5LOjJ2P7WrcBCkeD2lGkpzK6wvIme3tPcYqI=; b=EejeUp25TclsFtNcYv6pkr4gjCwvTx/EYH31CLV7FTK5YbDMohCtEEFrXlTY92Z9LDSI BW2+p/ygR20bcgG4ebq62BUrI2uMLdYpVwmdqIBjXhaayThIrIhPjP6YE/j90M/lio9P RfCC/KVEWBOEkskAN0mte1IFQPOJ8PKBhYeUlLsGmrV12ZzpAmfSeAZIoS9sXVMdUFyk PkGN0rEwkvaeAXAqaBg8+38eXh5pJewOiD55c9ah5nqqm0ukqdNRfMW8woWgboA2zGvW o2Zn2CsUl6jJMnoKwdCBoatbY6Zg1pZSCERtwX12KclCbZV1MP4cyrZTuvGXmOhUm9sx eA== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2130.oracle.com with ESMTP id 36p49b2khs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 14 Feb 2021 23:30:12 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11ENPNvi159907; Sun, 14 Feb 2021 23:30:07 GMT Original-Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2172.outbound.protection.outlook.com [104.47.58.172]) by userp3020.oracle.com with ESMTP id 36prhpppyy-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 14 Feb 2021 23:30:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PgGeezv2DafAVv3uMOXotlK7QShg8ceXptWpXMK9ulhUXVgBVTNrkdDVyy7Y9TvNG8Ve0cMnS5vZzUtRFR8VnZ3xMZIpOOizvuod6h4+GG350NqhktMLSNvpHVP72rna9cPJK/X2Z1OHmuk/rIersAncLGxwjaSSrB0dS6bdtBsym3RjHNc0EG70f5tIMRq2KwKFk+v9DHK3KxV9v5xXKSyNpdmagG2tV40I/3K24hZg2Jytlt7i02qwlGcxcJ9KbVGqsvURZndc+aAu0jZ6+t/BUN6VYcZTsiEKq5soYEEiE0Y5meVUqTQ4dF4Q0SPH1kpxjOewm9RNJVcNDnCi6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kDuWaIg5LOjJ2P7WrcBCkeD2lGkpzK6wvIme3tPcYqI=; b=ltGonnKkJxqPRRF83lb1rA/J5mkDomOW5hxb6rKnET9Q0sPTDj5+2P8lr7s06Z8IsOyQOLB+UvyFz9k54+Zzed52zGi7pt9lin8Hdj4DfmHdsnpjT+hPeAdhogmXwLGq6euY5nI/qJJyV0QI2aXB6iH+XIqWDJo+iHrLnayzLXUDVp/urrMqLZxk0e+FQk/XgvlV0OW4ZmymP5N8yqiFG+my3+7qOXtl59+0TvyQcG1T9L7C1PpeAnaUhcG0cNsHTaoDtpd4Fkia1xI+469XNSyuzBlucmGN8E+L9tgh35TPG9CgOSFqQPXDISJ/huNfszXMszGX4jPahZzPdQ95oA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kDuWaIg5LOjJ2P7WrcBCkeD2lGkpzK6wvIme3tPcYqI=; b=MH4biu2Dkij6NOa3WXA/GfIpEgtjxNOTXWci5ws3QthchzTxNJxPt58qNadX4TOAOhzuA9WkjPlA6Z+45SpoYqjQgZArXekhIWg9xuVib50c/CvNurFhQlhsRSYk6JmgopfW2Dj1uBYX6E8jjohPT3TwJ0V1LIS7FexzByLQW48= Original-Received: from SA2PR10MB4474.namprd10.prod.outlook.com (2603:10b6:806:11b::15) by SA2PR10MB4490.namprd10.prod.outlook.com (2603:10b6:806:f9::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.27; Sun, 14 Feb 2021 23:30:04 +0000 Original-Received: from SA2PR10MB4474.namprd10.prod.outlook.com ([fe80::b8d2:db6d:3e4b:d315]) by SA2PR10MB4474.namprd10.prod.outlook.com ([fe80::b8d2:db6d:3e4b:d315%5]) with mapi id 15.20.3846.041; Sun, 14 Feb 2021 23:30:04 +0000 Thread-Topic: [External] : Re: Current mode command discovery Thread-Index: AQHXAws2fa8IVrdWdE6l+XDiJ8agzqpYOkWg In-Reply-To: <87czx2ifyp.fsf@telefonica.net> Accept-Language: en-US Content-Language: en-US authentication-results: wanadoo.es; dkim=none (message not signed) header.d=none;wanadoo.es; dmarc=none action=none header.from=oracle.com; x-originating-ip: [73.170.83.28] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 793b5ea5-8637-47ca-2202-08d8d1407547 x-ms-traffictypediagnostic: SA2PR10MB4490: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HSTCjFXWF7MLqTDfbOiTK6Sbt2si2daGFGiL9xM4uxyPIHpK+m4ksLsvxzSGARROLx82yEuV6hrO+ZIcCwTVeYU5VJaybs6/9ZcoqBrW8uLxXg7GG15C4RUcV/B/Ki05dVeG55u2ZSfzl3rfkixGrDL+M/Wlzmnn741cYAGD1/UC65AN6JUKcHW033VvlS4c7ZDbEjrApOvxDd1M4ddUGQMF+xYaUKbwPK6+1rAs1VMkyfAyucN+Um+Y/vfZGyE+SIJVy7NO+GxOPjkBgPOLHOygSQ75rWkn5GaIar1k27+HI3QmNjdll0Ug10b/DDERJGRPEdQoRDo5N9L9riZNOOPLm6aAC24/p1Um5GzSF3q9r2oCqc9oNjUC4A8TNErcIA5o/5COisJky+BqHy+0Eez+R8P4DvyxIKi55TYPs0KIoEXgO2VQ7ER58eCuriSPqwy+B3kBG2TW2p3uaYwMLYGvtGzO74DhJR72jquSPGJ3pOS3QMmeyHR0PNQPXKpiIm4WB+TSVtLAr4Eb509hADHSGH11S3ymTFZ8D5+xLf9Jn02DNujNzhLNv7L/eFB1kLt8WxmFVHVCPGmzFr3d8uccd2o6loo09TdzsqvRqko= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4474.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(136003)(39860400002)(346002)(376002)(366004)(5660300002)(33656002)(76116006)(66476007)(66556008)(966005)(8676002)(7696005)(64756008)(44832011)(71200400001)(66946007)(83380400001)(66446008)(478600001)(8936002)(110136005)(26005)(9686003)(2906002)(55016002)(186003)(316002)(86362001)(6506007)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?S6WPqXY3cMSkdQ0aZx6uer7/kAiHl2XkbyQv3OBPdx26LvurFLUMlaHbdq?= =?iso-8859-1?Q?F0lUIPD6V5TGWAmRyezineScqFNk/5CcMJZODvFj1WWoXKoQ6RmKsC1T3B?= =?iso-8859-1?Q?LJRx8VQHpqhgcKZ4ijiBx1sd0XQUZgDCp4iY3Jv5ZOsjyEmYZOVe9E65FM?= =?iso-8859-1?Q?hgHBXmEPHRs38C4PcXQDf4Yws5inmL9BeLi/Xka1Z0/V5qknvnzFkl34Px?= =?iso-8859-1?Q?wYSxzCCQspqFvLRn+BIFF89zn5xj2w1Kw+kyzHhIWR+mnX3S4aHDF8HtJc?= =?iso-8859-1?Q?AjgfnwjN90Xf2pXJxusMHw/gBzcS+repenyB4+E9JtwvwFYe06/kFlJ2aF?= =?iso-8859-1?Q?eLj59q6wg02NHnutMq08xcoOKRNOL310XqegMnN1PGqVccyRkCoxFjl7nQ?= =?iso-8859-1?Q?GLbL6LurBjLEiHQfsVsCx6eHNgNNoUzvyNwb271EvyA33CdBf/XIZZPcvh?= =?iso-8859-1?Q?OrNaXuvkv4CXYEhQX/rAjmtlnN9x50YPkTf9TYTkIagHfK5ePkY4D9A/Vm?= =?iso-8859-1?Q?6pxIf3tX0tsvxSzqDe6og+NvqGzHqbsS+2KiI4WXQZgUGP1ZPoCe0WLqZJ?= =?iso-8859-1?Q?AhksG0OI94r2I7UjOuk1I/lBUXp08ycAuFYdMtLj/A+aODazJj4qlzLqeN?= =?iso-8859-1?Q?T4 x-ms-exchange-transport-forked: True X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4474.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 793b5ea5-8637-47ca-2202-08d8d1407547 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2021 23:30:04.8155 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: z/fRGPCfKxT93NTdJqus7i3SmjiI4jUR78/zX4wysI9D3/Qr4vf34VKxMccFovnq+rOgCUCBQyQVM5/M9wrx9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4490 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9895 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102140199 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9895 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 phishscore=0 clxscore=1015 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102140200 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.oracle.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:264804 Archived-At: > > Like I said before: instead of removing what seems > > irrelevant, make them appear after the relevant parts. > > Otherwise we will lose information when we guess wrong > > (which is an easy mistake to make, since the assumption > > that the user always wants only the commands from the > > current major mode is not always true). >=20 > That defeats the purpose of the feature, which is > showing what is relevant and ignore the rest. > Listing the irrelevant commands would only serve > to confuse and overload the user. I can speak from experience to say this isn't true. And I think that completion that prepares candidates in a particular sort order is quickly picked up by users - think of fuzzy match sort-score order, for example. In Icicles different groups of candidates can be highlighted differently. That too can help. And I think (?) that Emacs added grouped completion candidates, with group headings in *Completions* (but I haven't really followed that thread). What _is_ true is that when more completions are matched and displayed, that costs processing time. (But so does filtering them out.) These things call for both UI and performance consideration. > Those who insist on using M-x to discover things > while working on random buffers (something that > seems quite bizarre to me, to be honest) still > can disable the filtering or, better, learn to > use the Emacs help system. I know how to use the Emacs help system quite well, thank you very much. I also know that being able to get help on the fly for a given set of things, and being able to redefine that set on the fly, are useful - and not just for discovery. Add to that additional possible actions on candidates, besides just invocation and help, and you begin to see why the completion "system" introduced by Icicles (Helm, Ivy, etc.) are so useful. It's about on-the-fly (re-)defining a set of things, and being able to apply various operations to any subset of them (including single-candidate subsets). This is why I argued to let users filter command candidates (for `M-x', for example), to limit to various kinds of commands, including those for buffers in a given mode. Give _users_ immediate control, letting them change which candidates are available on the fly. We already _do_ that, but the control we give them, so far, is just over name matching. There are umpteen other ways to filter sets of commands (and other candidates), besides just by name. ___ FWIW, I've even applied this to Isearch, as well. With `isearch+.el', besides being able to match buffer text by your text input (search pattern), you can add and remove filter predicates on the fly, during Isearch. https://www.emacswiki.org/emacs/DynamicIsearchFiltering