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: on helm substantial differences Date: Sun, 15 Nov 2020 14:41:41 -0800 (PST) Message-ID: <556da3f0-e06e-4b72-990f-f18e62158e75@default> References: <87wnymda5g.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="30293"; mail-complaints-to="usenet@ciao.gmane.io" Cc: spacibba@aol.com, Jean Louis , andreyk.mad@gmail.com, emacs-devel@gnu.org, rudalics@gmx.at, Gregory Heytings , Eli Zaretskii To: Stefan Monnier , Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 15 23:48:13 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 1keQod-0007lD-Jk for ged-emacs-devel@m.gmane-mx.org; Sun, 15 Nov 2020 23:48:11 +0100 Original-Received: from localhost ([::1]:44842 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1keQoc-0002yk-Hw for ged-emacs-devel@m.gmane-mx.org; Sun, 15 Nov 2020 17:48:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55302) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keQkY-0008OQ-EJ for emacs-devel@gnu.org; Sun, 15 Nov 2020 17:44:02 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:47300) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keQkV-00038G-GB; Sun, 15 Nov 2020 17:43:58 -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 0AFMhjrP070024; Sun, 15 Nov 2020 22:43:45 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-2020-01-29; bh=syOzbb1ZxJl/HvApNND2lj/oEkKdz/ILNbX+aFoIWS8=; b=B1YE1QIzGBX71EOs0vtMPEq2hbgiKf2dfVfiFPe1DAl7kAV/UlKSu++sgY2Mo6ic2PRg AMtQR8RWY4hnwkQjWB6EJcwNA72vRC0utylStU8k1JcYp8bJMDPne/D488adUMCN9H3m PYq7cgYemZWbrOV8+QkebMfzA0JpVLCzOYAiiFbOodxofGEp8JvtQnfHllddWNULScvM wF7Op2hIVJgSKwt37HKH1wAcfXDy5lPA3QChiWiNmCwGRchEAbeW4oZZ6lu08N1I6XFs t6/WzljdDZ1cbbXJd3n81qU/3ly6riboTLZZJ7YKFRxVVolOJvBOx4zkLeTdcdx5iHtL ow== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2130.oracle.com with ESMTP id 34t4rak0d5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 15 Nov 2020 22:43:45 +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 0AFMdTQC117339; Sun, 15 Nov 2020 22:41:45 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 34trtk02eu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 15 Nov 2020 22:41:44 +0000 Original-Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 0AFMfg6a000954; Sun, 15 Nov 2020 22:41:42 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5071.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9806 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 malwarescore=0 spamscore=0 mlxlogscore=864 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011150146 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9806 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 malwarescore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 mlxlogscore=888 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011150146 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/15 17:43:54 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 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:259210 Archived-At: > > It would be nice if in addition to already existing 'annotation- > > function' 'completing-read' also supported 'format-function' or > > 'display-function', i.e. a function that would return a completion > > candidate to display in the *Completions* buffer. >=20 > Agreed: the `annotation-function` is much too limited. > I don't think "in addition" is right tho: the new functionality should > aim to replace the current `annotation-function`. I'm not sure I agree. Candidate display can be open to all kinds of programmatic control (in Icicles, at least). And there's the question of the relation between a "display candidate" (what you see) and the "real" candidate that you can _act_ on. For example, a relative file name is shown but you act on an absolute file name (or the file). And there can be a difference between what is displayed and what you _match_ against. For example, your input is not matched against a candidate annotation - that's just extra. All of these possibilities are available. Sometimes you want matching to go against all parts of a display candidate, sometimes you don't. Sometimes you want to be able to match also against some candidate parts that are not displayed (the display is kept simple, or matching those unshown parts is optional). There are lots of possibilities. (Icicles handles these in its version of `completing-read', while keep that function's argument list the same as vanilla.)