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: [PATCH] Re: Other details about completion. Date: Wed, 6 Apr 2022 20:01:12 +0000 Message-ID: References: <20220401153839.idrzrbfl2yfzga3y.ref@Ergus> <20220401153839.idrzrbfl2yfzga3y@Ergus> <86r16g92v5.fsf@mail.linkov.net> <20220401202425.jfrwqmkm3ffmcm5h@Ergus> <20220404193501.adojhz7uvvaoq4sj@Ergus> <86czhw4oqr.fsf@mail.linkov.net> <4E8D9AEF-4D7A-4B11-822F-8D0911964A05@aol.com> <86bkxfibdo.fsf@mail.linkov.net> <20220405232013.5y5jnr4ykzqgxqla@Ergus> <86a6cyiqlt.fsf@mail.linkov.net> <20220406132108.evlofp5l3krsl5h7@Ergus> <86sfqqduon.fsf@mail.linkov.net> <868rsidrbd.fsf@mail.linkov.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="38562"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Ergus , Philip Kaludercic , "emacs-devel@gnu.org" To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 06 22:03:05 2022 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 1ncBrs-0009lF-SR for ged-emacs-devel@m.gmane-mx.org; Wed, 06 Apr 2022 22:03:05 +0200 Original-Received: from localhost ([::1]:51880 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ncBrr-00041K-Gu for ged-emacs-devel@m.gmane-mx.org; Wed, 06 Apr 2022 16:03:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35778) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ncBqO-0002oB-AM for emacs-devel@gnu.org; Wed, 06 Apr 2022 16:01:32 -0400 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:45496) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ncBqI-0003qW-GE for emacs-devel@gnu.org; Wed, 06 Apr 2022 16:01:28 -0400 Original-Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 236H0ZKH012451; Wed, 6 Apr 2022 20:01:17 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-2021-07-09; bh=FZUBfgPsx7hW062mTNE+75YhhrG7cwNZ1L5V0MXG8OA=; b=QnQTOsW+N0suinCC27DsbOQUwlzdCxgSkIpHK8+XcjtGDg9r/jyPTJ0EMo88GfEqofUn y3rpAdsbLiOY0foFDFbG6cyFJ1DM9WgV59OK3cLATTyswowyb4b+VmcN+0b9eoAwHaaR D9zun6EhIj3JRBfCL0rN3PtF/dH9VTCYCLRlyd5DJ8Db6JTBVIswHoaTxbB5a4yhGbc5 Y1vQHYdJpyLc1qe3dqKFqUhsX5khYXacOkR/XR2AdEBxoQFozmssSPq8zWjhwkwBGmbc ap2Sa6/WdQ9kB/eWFt4BO1kPsaTty4GkJOLYQ3NMaeGvJ1n37oDVYfVjDExLfpAXNz4b fQ== Original-Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com with ESMTP id 3f6cwchrby-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Apr 2022 20:01:15 +0000 Original-Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 236JvKvw004880; Wed, 6 Apr 2022 20:01:14 GMT Original-Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2177.outbound.protection.outlook.com [104.47.57.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f97uw114r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Apr 2022 20:01:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i6US+4bOe7Uh8Iu6CW/CucCPVZEY5ptJTztgbPjabO2Jt3GX7ckoijlQYbw9+7nbCz0pz75DsHEZdH0N4guT9syh4A+niC/q0D+Te2/A01Tz1EcGaAgBtJigY1ocBwNLSobdinrny1ei2MoD8IwLnkWt22Q5z/TaqJLxdvgBQvkxTjaz/CEkCXIvAPlKdsPnM/0hjF07lbnTdhbBhecLiVCeWo4N5MzXLzplmzZWYis3uW4UqQrd/yUOUE+iuc/+Kf0+CjRJwEQTtm/dIWYfdV5CJEMeGQWFwzEBkJnF772XPUjClTPrhbmjZE+U1SSD8fAvu3mciqoNdcg6PbepDg== 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=FZUBfgPsx7hW062mTNE+75YhhrG7cwNZ1L5V0MXG8OA=; b=WZafAwAwOOxPVrBwmvVVuQM419KAvbGSJzz9qRRDsqL1YAHgFIVu9gMJM9rhcpdVgphB72PslbtfHNEWQdR2fgxQMDjFBEZfYPnEGRNEwtcMN94liCsGMB+CeOdDmgImVpm/ZLnqTkb0srPFoIq5HAGbnW0WbPbcf6PUCBWglIFdG9dpxJljWbebUpzcD8iv3UM2FEDBDMWhgf4nqb2t+zzz1EqGe2rZU7OIrXeo1KlQwNGhWgm60Lo3gcKVxhVLcBKYzuXxvtCHg8CjulY5PL0kLyvfeP+xJIrFhEHs8gdcJnuuvh37DbooM0Wa8or2qdsYfLcu1lXEdLXrg+gqFA== 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=FZUBfgPsx7hW062mTNE+75YhhrG7cwNZ1L5V0MXG8OA=; b=lXTHSL75eJKazho5NNXrT6C9MS0dAwONEUqLNbMwlzxholx5JiPGRcNujbw9rYP8baroULmTLb7H4M0GcXxgWE0LKwBZb6a1S5jP3tMRwsGMKluua4i/OfGjrowIBsTeI1o0cb1pUrVG+I9r9zPLimLqKak5WErEQD84LLiXZPw= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by BLAPR10MB4994.namprd10.prod.outlook.com (2603:10b6:208:30d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.22; Wed, 6 Apr 2022 20:01:12 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::39f8:f93:8642:216d]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::39f8:f93:8642:216d%6]) with mapi id 15.20.5144.021; Wed, 6 Apr 2022 20:01:12 +0000 Thread-Topic: [External] : Re: [PATCH] Re: Other details about completion. Thread-Index: AQHYSeUYpD0a8tW/BE6LQJGISLeiY6zjOkIw In-Reply-To: <868rsidrbd.fsf@mail.linkov.net> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 964dea7b-0876-4ccb-9973-08da1808332d x-ms-traffictypediagnostic: BLAPR10MB4994:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZtcgSljc+o66bgYnkEZQ9Rb6bfx61TM6NTvvqckS9mbbk6pw2TpSz4piVQS4VeJd1hx/qjHHTZM6KO03EwXpLwzA8C7A9t9FcrC4SnMkoGPfuvx1Jhyk2fTb3f6qtEQlPTD8XY1FF+eeOO99PdJKLpbnL+stZW1jwYq+18VJZSxJin3J5eANUP/KxIlBBnkiBAy+ZElJ2391+mOwJGjLnV0+G4kp56CuuI2EXaO76QdR0G0R6aCRb2CE62PiR6u1dywjMtTiSKo76TXupvvN41+83LjRC1pOzyxVvctuCPnrZuexVaU5e8hCtM1UQh0tnbFrN0zZMBiZ8hfFOX+27rOyRZ/chu5Pzo6NgDyUj6u0Vd8+z+aa14eJqxAO2R8RZ8uU4pzCv1kPHTMTimR8eNXDYMESKe3Y8vAbbgyHjocXN5dgQZJt3yEFKpO/UKpTLbLvdfZmBls5taYruaCi2JNubKDx7mVr5NwhvKLCVLkwKAvCkd9h8z/R5gK+k3ucbIKyr7d1hnqYl9sQ9Uq7a9H3mjPFF5mtqGF7mlhqD5V2enF4EqIQlx8IxFurN0BN6WC34HGSNoO2mk40iuu7VDaKHBv1duUSwPnc/SjnDctgVv8t4WDISriIzCeM1Pq7U7ZKKsKzM9fMUj3supheSKsT29FY1fRhcjfti/l0p9XXClpLO9qXiPGGpWHY5mYg2cgVeejkSoe7QDvww+zOyQ== 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:(13230001)(366004)(186003)(38100700002)(26005)(33656002)(83380400001)(86362001)(38070700005)(122000001)(55016003)(66946007)(64756008)(66556008)(66476007)(8676002)(54906003)(2906002)(316002)(6916009)(44832011)(52536014)(8936002)(5660300002)(9686003)(508600001)(66446008)(71200400001)(6506007)(76116006)(4326008)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?U6XNilzUvE0v7/v4Vl7Ok2Z6V3skLwic4bkjTmI4W1ArFEgapjU6zHHXWu3F?= =?us-ascii?Q?Y7qvs5n0MHfKlcSL3jhD6MrKByt8mjY5LEk2X0a3mpUU8Gg7yKXwrac2pj4O?= =?us-ascii?Q?U2nN8AQKCLAatOKMMIruGskbdW31NNAfIU98NIsJ73IdNaYiOasM4tdrmvZs?= =?us-ascii?Q?GohKrM6eUijfj0ShegrXHc24UMpmzP5UcNFv+LT+j6s3W4CUsqQer1sPZM3R?= =?us-ascii?Q?AGZw191NA/j6zlkWWL52Q/8GWNALXxGIGS1jl0KTdDjtRYGGYmTqN3Hqlpvs?= =?us-ascii?Q?vLHBlJ2KttCzQIFS1N67JdO5/x3KLnQ7dOSAnwZbYqeWStvzEGlDSL05JXhI?= =?us-ascii?Q?JqdkpCXjjpu+3ThAHlUn/603nYAAnzy2NUvwvVunZMcus93X0yXqUw5nuv/Y?= =?us-ascii?Q?I4X9KNaZih7l6iAfPniy5iX+JRNqCtSRMGicc9gWovheXehzXzzIrOZCXZLs?= =?us-ascii?Q?boK5fEk6/1xLvaHAVdwgzmao/WxpF6pUyC2EqKu2Nxkp88JsfEsJqLw7mmPF?= =?us-ascii?Q?jXxFMpl0rpmyU05hqPoSp/4ufNCdJvfFdWaO3s0QEUE4tH7N5lXxhnmhVsgA?= =?us-ascii?Q?hlyfTqowhZ3cx1dvG0ipaWqpOTBQbmIcat8qhiiBjfZFGG0puU0k8lJETKVS?= =?us-ascii?Q?4C 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: 964dea7b-0876-4ccb-9973-08da1808332d X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2022 20:01:12.2528 (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: c8EBsLbHB9TBDkrBFDQjwyZDrcMmH89cH9IW2Ift8GEWbahGWCybBl5pj2X8eRg0VkOamGNfR55UesN8GN+QcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB4994 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.850 definitions=2022-04-06_11:2022-04-06, 2022-04-06 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 bulkscore=0 mlxscore=0 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204060099 X-Proofpoint-ORIG-GUID: iohuWd1qBPg9FNfF7TbTxEGZMrH6AjB9 X-Proofpoint-GUID: iohuWd1qBPg9FNfF7TbTxEGZMrH6AjB9 Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-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, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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" Xref: news.gmane.io gmane.emacs.devel:287858 Archived-At: > > 1. Cycling highlights the current candidate and > > puts it in the minibuffer, replacing whatever was > > there - always. >=20 > Thanks, this means by default it could insert the current candidate. There's no "current" candidate till you cycle (or otherwise select a candidate). > > (A key clears the minibuffer; and > > a key restores previous content.) >=20 > I wonder why a special key to clear the minibuffer > when it's easy to type 'C-a C-k' or 'M-h DEL'. (This is independent of _completion_, BTW - it's about any minibuffer.) 1. Neither `C-a C-k' nor `M-h DEL' clears all minibuffer content, which can be anything, including any number of lines of text. `C-a C-k' clears only the current line. And `M-h DEL' clears only the paragraph before point. (A more useful command for removing a bunch of minibuffer text, but not necessarily all, is `backward-kill-sexp' - e.g., `C-M-backspace'.) 2. Clearing the minibuffer is very frequent, especially when various other minibuffer-content manipulations are added to the mix. In particular, Icicles has multi-commands, where a single command invocation can invoke the command (or carry out other actions) on multiple completion candidates. So it's not unusual to stay in the minibuffer, performing different editing operations, including changing the current input to complete against different sets or kinds of candidates. Similarly, for progressive completion, where you complete against a set of completions using different patterns, progressively narrowing the set.=20 3. `M-S-delete' and `M-S-backspace' clear the minibuffer. But `M-k' is what you usually use. It too clears the minibuffer content. But if you're currently using (e.g. cycling) a minibuffer history, it deletes the current history element. [There's also `M-K', which prompts you for history entries to delete, or with `C-u' deletes the whole history (current history variable).] 4. As for keys restoring previous minibuffer content: a. `C-l' restores last minibuffer input (repeatable). This includes text you _entered_ (e.g. with `RET'), i.e., what's in a minibuffer history. But it also includes input you type in the minibuffer during completion, but that you don't enter (`RET'). It includes candidates you've cycled and text you've typed or deleted in the minibuffer - e.g., editing of a candidate you cycled into the minibuffer. Editing remembers what's in the minibuffer as your last real "input". If you want to replace a cycled candidate and go back to editing the input you had typed before cycling, use `C-l' (instead of just deleting chars from the cycled candidate). Input you type during completion but you don't enter (e.g. `RET') is remembered because you might want to retrieve it. This can be because you cycled among candidates or because completing has expanded your input in some way. [By default, your input is automatically to the _common match_ among all matching candidates. You can use `C-l' to remove that expansion, leaving just what completion of a single (the current) candidate produces.] For example, suppose you use `C-h v hook' to examine various hook variables, and you use cycle through their doc (e.g. `C-down'). If you end the command with `C-g', so your input (`hook') is never really entered (`RET'), then it's not in the minibuffer history (e.g. `M-p'). Nevertheless, in a subsequent command you can retrieve it - with `C-l'. b. `C-L' (aka `C-S-l') does the same as `C-l', but with reverse chronology. c. An option lets `C-l' and `C-L' use completion, instead of cycling, to retrieve a past input (in the sense above). Just as with cycling with these keys, a previous input replaces the minibuffer content. This uses a recursive minibuffer, so you can cancel it with `C-g'. (`C-l' or `C-L' with a prefix arg flips cycling vs completion.) =20