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: Updating *Completions* as you type Date: Fri, 20 Oct 2023 16:10:34 +0000 Message-ID: References: <87bkd3z9bi.fsf@catern.com> <87sf6a7wcj.fsf@posteo.net> <87wmvh20v8.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23334"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Spencer Baugh , "emacs-devel@gnu.org" To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 20 18:11:28 2023 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 1qts5v-0005sk-Lj for ged-emacs-devel@m.gmane-mx.org; Fri, 20 Oct 2023 18:11:27 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qts5K-0004YE-M8; Fri, 20 Oct 2023 12:10:50 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qts5I-0004Y6-MU for emacs-devel@gnu.org; Fri, 20 Oct 2023 12:10:48 -0400 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qts5C-0002qZ-MR for emacs-devel@gnu.org; Fri, 20 Oct 2023 12:10:48 -0400 Original-Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39KD87F7030393; Fri, 20 Oct 2023 16:10:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=cqx9Y83KQvNReRXCivihLHf0hUTpEnfyaCXdjDTtvS0=; b=iIwd+VinKCb3BoARx/lBFbtDDC9tZY+RSze4+NuVx9kKAbBPqoS1CrZwWkr70i/NNnbF DGvjJGFca3pyIQa3L6YZm+mm5qXRmwFnTGXOKnPzieLej9x/mExjIIo+8Xjhjvxyiw5T GoqXhmee8N3K9v9tw8PIc/OpgjMWjRt0O7nzbJnigIeFl/N/G4bRpkI9AIl943gNHTB0 S2I7TemAIgcvUmcYcsK5kryP84c/5S7ZFMIkhCOSRBMcXgfalKB+qhOQKcv+jlAJSRGg 3YFYenQSPqentMssxxL/TW9lIen1kDYg6vs1Dsx+qkDhf7tHxVzL3gtc4wLkzxfiiY5S RQ== Original-Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3tubwda70s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Oct 2023 16:10:38 +0000 Original-Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 39KEn8NO031491; Fri, 20 Oct 2023 16:10:37 GMT Original-Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3tubwe038j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Oct 2023 16:10:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wt9/DCBXAMfrtiEIaq4N0wqUZYJDLqaZl0q+rtMq0VzLtlvmKMfpMZGz4GLOC2c2Xk6+64E75r18eA/n1lYm5ta046d6prjbUlr9gcLos8U6W8momDIDFX9sch4VSnPgKuGobHrrZzCeIMIm0eMsuZ3u2CdWVMK7MNPvXxiYQ+88/eFLfQck3udAXbQp3NyMHY1Hp3oYHyvaZ9YQvu+P1MLSEnWR5HmRH5cZZRZ3Q0gqUeeeOjARkji3eQ+OSP0bU3XyPO+PBfuy5zOGmABtZeGKvCe5Brr+lb4yLqqVcME52TWuzrhvLy5O40uQ4FTyJ6uaOAmBlSMSt6qQUjZk7A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cqx9Y83KQvNReRXCivihLHf0hUTpEnfyaCXdjDTtvS0=; b=XMQScYsRd3TAJBpMueE2/kzT491Bih69enHfqQNSZbevGtxCRJWhLEL01UnmcQfNs0RP4nzjgN1qJFTQ/Ulb+2fJilpDW9YWQulwXg37kvV/U65RDzPIbvJMxFcrHVynyRmEGN+Y2sOuTCdTyAM55ntuWa4HUOnXP9YWSHB3arAH6AT10KR7Q+qbxE1eZwRcOfeBibWWsssHtsJMs5SZ/vVn2QRavOJuRQ8ZVHHaMG2GppbJuxPbV3QxbpB0INX8cejvY6RpU3bt9bTWm4WW35DafpuoDli/An+I8tpuGvyhcyz5wH/mntqXotVJp/LS+H14ER3m8Ol2AqG7men+uA== 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=cqx9Y83KQvNReRXCivihLHf0hUTpEnfyaCXdjDTtvS0=; b=THEvRlHKgN5zr46GF7K26CRDQhfrzJgQV4wC+k3OpMjxG9znUMoJMzE/7Iu7U+DasRT3z8ClXITaeonNPylIUdL4F9r2FCF12WZWVRouDgzURcIc6afijbE1gh7/Quq5YiOVYhjXGdctmSCmiJ2NJ1WSjP6cUMSMl2CWTZVCQHc= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Fri, 20 Oct 2023 16:10:35 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::adae:506b:e9a0:529f]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::adae:506b:e9a0:529f%6]) with mapi id 15.20.6907.025; Fri, 20 Oct 2023 16:10:35 +0000 Thread-Topic: [External] : Re: Updating *Completions* as you type Thread-Index: AQHaAylu0qbRABCD4UGofy5WGdRkibBSyBQA In-Reply-To: <87wmvh20v8.fsf@posteo.net> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|MW4PR10MB6654:EE_ x-ms-office365-filtering-correlation-id: c6fde336-033c-4f3a-cd07-08dbd187179f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: y2r1pVbSZ3bA8zbOHE64kwd4l/esOBZsGcZn9VDn5rklzOjhBM2NBJacr2qFAHQG8R6VSzCHhtbi2pPGu8vWXMaJA0jBtgwxZHEwcY09UDaxvjvecaKaNvk+6lIsCDCU39ZI/uIXH1Y/spHIVBCUn7H1YCszphX3Ojh+SR5jo/G78hEame+9FPlmirDdFeN+yDswEvnAasiix0IAi94pOtLr1yvoqG4KOgNS6AAWr+s7nvmbCMGAZMfqxlg1pu+PQIpc90NpiVb0wgse+ybwaTRayp+akr+U/fTjRhfbMTRjlCaSOovRVce2ub7+ayVSRuRGWormG9F5K2x31kDCXd8edt0TKnDhLUPJnAzVLRsXCoQL6TXdnZRMVqBVJTjjgOTHAr3QnCWhYy2+jzSgkJafaWF/Z5MLxi8Ge/fmKKYJtpXOiLUhXk1lr3E9ok1+rNw1/BgEQMOUW+sGDNcEstw4Fnq20CeA+nyx53wLvzOFSCGJuSVzwKkkJyBiM/II8NdT7tXFMg3j3U3LcL5Guj6tN75l8mj7BgwNrU6oNqFAp+/UBpWZjanEa3bzB1iXZ2t+cNzoTgyE5Pj33/fXqTcpGMoxaPC8zRZmE2XiwMU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(366004)(346002)(396003)(376002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(55016003)(9686003)(6506007)(71200400001)(7696005)(478600001)(38070700009)(86362001)(66556008)(33656002)(38100700002)(122000001)(26005)(2906002)(83380400001)(966005)(4326008)(54906003)(76116006)(316002)(41300700001)(52536014)(8676002)(66446008)(8936002)(5660300002)(44832011)(66946007)(64756008)(6916009)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?COIcQr90BAF9BwL+PEpRoxwceqCBXF+EfCZB8qgiP47H3KVvW+OsD4BXAyz5?= =?us-ascii?Q?jS6MFCmMfhgo09RSCVEeBvG9tbYRV8ZTCml5CIoCNP6DkNIX/q3zFkrm1P2A?= =?us-ascii?Q?YYyJFwjNTwY4n+dH4VZpqjLfbhDdlt1Buk+IGjcRD0PaL9AO/v1FuUqozkyq?= =?us-ascii?Q?7DK3Cpj3fX7q9WIN5IUke+qcLK5E5DUVS3d0QA14vwxZJqebvglZ8luS3lFn?= =?us-ascii?Q?2ppHtX3AYCiw8H1SgRVdlyeapYLNP3ETrroWZqkVpJzSiLuprAaOB/l8siTD?= =?us-ascii?Q?z3gfLk+cfBa8MDKyy0lHLu9XevhHAjrV1nQe5wMzG6HnQe02Y3ARPyFXn2FW?= =?us-ascii?Q?xHoM26voF9LC8dOdsro+61u+QbN3zS+lAKbw0jrSBZHBc6d7TFP6SZHfzk61?= =?us-ascii?Q?FuoYQDXlRRpPgRcQqBP+vd+NQWM8X4a3UIwiv3IRWpAcoWWRCkXts5dxxYOm?= =?us-ascii?Q?XHYphImmKSdMyaEDEN5YfxsBHHirr4OY/znm/FQw3jaMkZjF4frfX2ppm682?= =?us-ascii?Q?ePH3gAni9lfNYs9QDBazFDbCjQCHWB/A4qDtAZCZtXbNEKLt+7TtrhMa7o+h?= =?us-ascii?Q?Ah3IYlwPPTZSEj8i+/V0CyokyPFMmBCOru492LHWHQqLYxRnMCz0BI+Zvlra?= =?us-ascii?Q?7h X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: AxIon4RVsULzRJ9yx54NIBdBsaksCbXpPwhK4XRVlrfjTMeK4XZY/R/PuPtp9PAHKonknijgEvd5EwJPLBBQyaozJNycMBVp2iUacpcg9Aw0NeV5rCzHDkElWqtLlqzlrHFdCF5x3mc6p7w9VOxj5J/wy+XS18XF00Ktjj0W3vaA+7ekFbriHQwhP+RUMoCK42pQ4zq2A4IsfJTQI2R8XGm3ui2HPPaDNi59iuJRlvbBBX4XgEUXI6UEVuTIpUYyjyU3i40BJaDuQv1Ny+gd2BpgKjyBZpdbFgkiI9qYn1olU7vmmjFu/RQwvCr6qErR12/LysU8j4F+ngnLYLn5uL3vO6nRso26Q773dwZsYtSd+SKLM+Id501nHTc8U3pIq1YQgaKTSNdVmepxuURumTm98JrgPo3QYWCqHJA5XW+EO8Q2Q/ZXawm11izV/1Y32w7TCcBLgFv3Xi8mwfiN/0MgULUsB0BKLS2sPw5u2QPyHPr+EU8ZJCC0tsEKi9B4fUeErcYE6pGSq40TdCO8uZ1VUO6jQfZzEymUKvSKy5Cd+XDxl90J0nVtt0PoMxPUsmV03rU7FYU6/P+kw1p8tkWwpvedHzIWgV6oB7OwQ+HFJeUOhGTc4BAmU6MAhdFFAvo9X8TGSHXS71j3UhodCw8hrga7T3PeHY4Jhcjf2U/tafjA4qvrl0HR5KcFvmbddiSoOYBNxepJTKjsfCS1/cmeEOEHSDeEdTnINnGkmcggaG SJM6H73e9TXyjv9W2H4rO5+f2qh3xXp6ZI1cpg/z02Ra3eqx+l0sbIP2WSMIbGWnp057emMR7woyA3d43a X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6fde336-033c-4f3a-cd07-08dbd187179f X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2023 16:10:34.9641 (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: /DZ8TcxCLdPFwn8/BTH84U2aGEN+eA2jB2pM8Re3X3jFGg3V7oACdRvpd1tk1bEUZAvjq0hQVQhi0yJeU+CLnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-20_10,2023-10-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310170001 definitions=main-2310200135 X-Proofpoint-ORIG-GUID: YdenQCI7ve3IOdrvm_me_Afh3k-7qyqm X-Proofpoint-GUID: YdenQCI7ve3IOdrvm_me_Afh3k-7qyqm Received-SPF: pass client-ip=205.220.165.32; envelope-from=drew.adams@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:311626 Archived-At: > The reason they aren't distributed on GNU or > NonGNU ELPA is that you overwrite built-in > definitions No, that's not the reason. Not at all. > > As I tried to make clear in my posts, their aim > > was to mention various Icicles features I think > > are relevant to this thread - not to advertise > > Icicles or suggest its use. > > > > The point was to encourage consideration of such > > or similar features as useful and perhaps worth > > adding to vanilla Emacs. Nothing more. > > > > Icicles is just a reference point here. Its doc > > about such features might hopefully provide some > > food for thought. _What users can do_ is the > > point, not how such features can be implemented. > > > > It's good to see others coming around to similar > > feature ideas now. Knowledge that such features > > work _in combination_, and they have done so for > > quite a while, should be helpful, I hope. >=20 > I might be mistaken, but the reason I thought your > were "advertising" Icicles, was that you usually > respond to the suggestion to add some feature with > something like "Icicles had this feature since 200X". I don't know whether you're mistaken about why you thought that. But if what you mean is that you might be mistaken about why I say that, then yes, you're apparently mistaken about that. The above text should make that "why" very clear, so I wonder why you would still be wondering. Let me say it once more: such features might hopefully provide some food for thought. _What users can do_ is the point Many Icicles features have been adopted (reinvented) for vanilla Emacs or other completion libraries. Other features have not (yet). I mentioned on-the-fly, flexible interactive sorting as one, in particular, because this thread broached the question of sorting candidates. The point in mentioning Icicles features is that they might be of interest as food for thought: _what_ they do, not necessarily _how_ they do it. If a user of vanilla Emacs or another library can't do XYZ, and a user of Icicles can, and if XYZ is a useful thing to be able to do, then someone might want to look at the feature in Icicles, as food for thought. It's not important that Icicles does something, except that from Icicles you can get a good description of a feature and see the source code - if interested. > > Wrt la petite histoire - > > > > To my knowledge, the first appearance of any > > incremental completion was in icomplete-mode. > > But that wasn't a completion whose result you > > could _use_; it was only completion you could > > _see_ (and only a few completions). You could > > use it only as a guide/preview of what you could > > then type. (Much later, completion of input was > > finally added to icomplete-mode.) > > > > Next was IswitchB, which later became the model > > for Ido. Completion candidates were shown only > > in the minibuffer (and again, only a few) - no > > use of *Completions* to show candidates. > > > > Icicles came after icomplete-mode and IswitchB, > > and before Ido. It introduced incremental > > completion showing candidates in *Completions*; > > cycling among candidates (notion of "current" > > candidate); on-the-fly sorting of them; etc. >=20 > The copyright files indicate this chronology: >=20 > icomplete: 1992 > icicles: 1995 > iswitchb: 1996 > ido: 1996 Please read what I said, which is about incremental completion, not copyright of the libraries. Here's a very brief description of the initial history of Icicles: https://www.emacswiki.org/emacs/Icicles_-_La_Petite_Histoire That doesn't specifically mention incremental completion. But the Change Log in icicles-chg.el indicates it was added in 2006 or before then. Looking at details in the log indicates it was in 2005 or before (as "icompletion"). Icicles as such, with cycling of matching candidates etc., really began in 2005. (The name dates from then.) >From 1996 to 2005 it was essentially elect-mbuf.el, which (1) never updated the set of candidates to cycle among, and (2) never tied cycling (current candidate in *Completions*) to the minibuffer content (no "current candidate" there). It didn't do much at all, except let you see the initial set of completion candidates. [ BTW, #2 is similar to the situation with vanilla Emacs today wrt sorting: the sort order for *Completions* isn't necessarily the same as the sort order for the minibuffer content (`display-sort-function' versus `cycle-sort-function'). I've asked for the reason why - why or when that might be useful, but I've not received any answer, ever. Until I do, I'll just consider it a misfeature or a missed opportunity. ]