From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: VOTE: Changing completions-common-part face's default Date: Fri, 8 Nov 2019 17:53:51 -0800 (PST) Message-ID: <2f86253c-dd44-4235-9816-66bce3085fb0@default> References: <87pni7p83l.fsf@gmail.com> <87h83ipoi0.fsf@gmail.com> <93235eb5-8e04-7182-e2a4-49fbe610ee2b@yandex.ru> <28d4ae09-daca-324b-2fa6-9d7138d710fa@yandex.ru> <87zhh82d8c.fsf@gmail.com> <1e1aa5a7-a35b-2ef5-6caf-10e02dd0c6ea@yandex.ru> <3cfbe69a-c274-f4f2-f3f5-9eb4c8500bb8@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="34382"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Stefan Monnier , emacs-devel To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= , Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 09 02:54:07 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iTFx1-0008mX-2M for ged-emacs-devel@m.gmane.org; Sat, 09 Nov 2019 02:54:07 +0100 Original-Received: from localhost ([::1]:34474 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTFwz-0001vp-6g for ged-emacs-devel@m.gmane.org; Fri, 08 Nov 2019 20:54:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32963) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTFws-0001vc-KS for emacs-devel@gnu.org; Fri, 08 Nov 2019 20:53:59 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iTFwq-0007yx-Ta for emacs-devel@gnu.org; Fri, 08 Nov 2019 20:53:58 -0500 Original-Received: from userp2130.oracle.com ([156.151.31.86]:52764) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iTFwq-0007xI-LE for emacs-devel@gnu.org; Fri, 08 Nov 2019 20:53:56 -0500 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA91ohhb179958; Sat, 9 Nov 2019 01:53:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=yM2y5XsOEzJDLSnztOpJoSkswxgePdU3wD+9RkMmad0=; b=YsaCUJZH8ju+Gkrw8GZIzXAztbFVAozEa5z7v6vjKX7pwHRtzWhdYLz5xcQgPgkPqHLq plvg36KfUwlarY199LXcT66QhKDgqgxXDxx9nREKQPeofFd2XLIhrIoZWBe9XKt/GZNr NO6FV4GBT2sAh3IURauOYhbiDv4hlsfG+m2ZAOdkAthEh5CuJQ6cddrObMdlKbS2aGVX ZSc/ik6IoHuS35ci9djB8ldKpxE+mQ5qJMmievnlihyAFXX6TC3C1kKitzhAB3vvv33Q HIlInKe1c9/l2z32X3W2wdYgP4JQXIU9ZMa0LwGxiT+DVIKDkf05eplZH7WNv4qp3Erv NQ== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 2w5hgwrahn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 09 Nov 2019 01:53:54 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA91rlR4009973; Sat, 9 Nov 2019 01:53:53 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 2w5kh3tfnn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 09 Nov 2019 01:53:53 +0000 Original-Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xA91rqqF005967; Sat, 9 Nov 2019 01:53:52 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9435 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=557 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911090016 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9435 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=636 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911090015 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 156.151.31.86 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:242023 Archived-At: > > That would still mean two diffeerent execution flows. >=20 > Don't know what you mean exactly. But yes, I guess. When > using prefix I am focused on one thing, when using flex I am > focused on another thing. I think that already happens anyway > (the internal focus of the user). >=20 > But I don't use prefix much nowadays, fortunately. The beginning > of a name has no special place in my mind. >=20 > But Juri has given as an example a search box that does > exactly this mixing _in the same search results_. I haven't really followed all of the messages, and I'm not sure what is meant here, by "mixing completion styles in the same search results". But if it's about mixing different completion styles or methods to narrow the same initial set of candidates, then Icicles does offer that. You can provide multiple separate search patterns, and you can change completion method anytime, including between patterns. You can, for example, match using a regexp pattern, then match those matches (also, i.e., ANDing) using a flex pattern, and so on. * `M-(' cycles among the currently available completion methods. * `S-SPC' switches to another pattern (ANDed). The ability to switch methods anytime is useful. The ability to add patterns (getting the intersection of their matched-candidate sets) is _very_ useful. The latter is used all the time. The former is used less often. The former (switching methods on the fly) is described here: https://www.emacswiki.org/emacs/Icicles_-_Completion_Methods_and_Styles The latter (progressive completion) is described here: https://www.emacswiki.org/emacs/Icicles_-_Progressive_Completion ___ Which set of completion methods is available can even be made command-specific. That's described here: https://www.emacswiki.org/emacs/Icicles_-_Completion_Methods_and_Styles#Com= mandSpecificCompletionMethods ___ Finally, a mention that besides ANDing matches of multiple patterns (`S-SPC'), you can complement the current set of matches, using `C-~'. Matching A, then also B, then `C-~' gives you matches of A that are NOT also matches of B. (And as mentioned, the completion methods for A and B need not be the same.) Each time you use `C-~' you remove matches of the last pattern: provide a pattern, then `C-~' to remove its matches, repeat. This "Chipping away of the non-elephant" is described here: https://www.emacswiki.org/emacs/Icicles_-_Nutshell_View#ChippingAway