From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: What is the most useful potential feature which Emacs lacks? A: Autocompletion Date: Wed, 3 Jun 2020 07:49:24 -0700 (PDT) Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="47918"; mail-complaints-to="usenet@ciao.gmane.io" To: Konstantin Kharlamov , ndame , Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jun 03 16:50:15 2020 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 1jgUid-000CLd-DG for ged-emacs-devel@m.gmane-mx.org; Wed, 03 Jun 2020 16:50:15 +0200 Original-Received: from localhost ([::1]:46846 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgUic-00081q-Ez for ged-emacs-devel@m.gmane-mx.org; Wed, 03 Jun 2020 10:50:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35118) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgUhz-0006jU-HT for emacs-devel@gnu.org; Wed, 03 Jun 2020 10:49:35 -0400 Original-Received: from userp2130.oracle.com ([156.151.31.86]:38868) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgUhy-0008G1-6S for emacs-devel@gnu.org; Wed, 03 Jun 2020 10:49:34 -0400 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053Elx4s030681; Wed, 3 Jun 2020 14:49:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=+FV4Q4xNh5olYDuqvfrbCxWes6nh+Qu3JYz7RgvhstA=; b=pxC0EuprbdNdTxML0QUqpGtaF38X0H9relYod67JVuuixde3lGLVjLjAuRwENWX+5t9y WTESsSYiGWCSFy+oXNoFzISV0TsYX+QSaG1u/tL2MpGz/Vs2O2sdnqTr4KdbSExQJ4p1 h1cHrmHhOHmwjFyXPo+Dj91uEUo2AJIbn9wfGjnHUv5bTJ9/NH/ptMfHdlwVTq1a2k/3 ACU1IUO2PawqYWhDRzw0yf+UiaCEggT7KrSnfbhxcf+I1hvYxNeu8APDyC+zF1JYZVC1 bP6KBrqF9HL7xL0/Uwhm9tRoGoxtAljZU7q4HYI3NLXLsLhABdPdfNFPDBUD09YisYmP WA== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 31bewr1sa6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 03 Jun 2020 14:49:31 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053EnSuP101955; Wed, 3 Jun 2020 14:49:31 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3030.oracle.com with ESMTP id 31c12r0dka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 03 Jun 2020 14:49:30 +0000 Original-Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 053EnSGt006753; Wed, 3 Jun 2020 14:49:28 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5005.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 adultscore=0 suspectscore=1 spamscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030119 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 bulkscore=0 phishscore=0 suspectscore=1 impostorscore=0 cotscore=-2147483648 lowpriorityscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030118 Received-SPF: pass client-ip=156.151.31.86; envelope-from=drew.adams@oracle.com; helo=userp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/03 10:49:33 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] 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, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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:251813 Archived-At: > Lack of such simple but immensely useful feature > is so disappointing FWIW - Icicles lets you control what you call autocompletion, and what Icicles calls incremental completion, in a few ways. This page explains it: https://www.emacswiki.org/emacs/Icicles_-_Icompletion#IncrementalCompletion Option `icicle-incremental-completion' is the main on/off control. Options `icicle-incremental-completion-delay', `icicle-incremental-completion-threshold', and `icicle-show-completions-initially' determine when it kicks in. But one size doesn't fit all. Different sets of completion candidates (e.g. domain size), and different kinds of completion, imply different fits, in terms of such option values. A given command that uses completion knows its candidates domain and the kind(s) of completion. It can bind such options to values that provide appropriate default behavior for that command. But just as importantly, you can change the option values interactively, while completing: increase or decrease the delay or threshold, for example, or change the general on/off behavior. To me, easy user control is the most important thing for such a feature. A command knows what kind of completion it's dealing with, but only a user knows just what s?he wants/needs, during any given invocation of a command that uses completion.