From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Philip Kaludercic <philipk@posteo.net>
Newsgroups: gmane.emacs.devel
Subject: Re: [External] : Re: Updating *Completions* as you type
Date: Mon, 16 Oct 2023 09:25:16 +0000
Message-ID: <87sf6a7wcj.fsf@posteo.net>
References: <87bkd3z9bi.fsf@catern.com>
 <CAC3A877-9241-423D-B5C3-7C661D7BCE8B@dsemy.com>
 <ier7cnq4avn.fsf@janestreet.com>
 <SJ0PR10MB5488F606938AAA38CCC159E7F3D7A@SJ0PR10MB5488.namprd10.prod.outlook.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="36407"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: Spencer Baugh <sbaugh@janestreet.com>,  "emacs-devel@gnu.org"
 <emacs-devel@gnu.org>
To: Drew Adams <drew.adams@oracle.com>
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 16 11:26:12 2023
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org>
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 <emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org>)
	id 1qsJrX-0009Bq-R6
	for ged-emacs-devel@m.gmane-mx.org; Mon, 16 Oct 2023 11:26:11 +0200
Original-Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <emacs-devel-bounces@gnu.org>)
	id 1qsJqo-0000Sb-Rv; Mon, 16 Oct 2023 05:25:26 -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 <philipk@posteo.net>)
 id 1qsJqm-0000SK-KS
 for emacs-devel@gnu.org; Mon, 16 Oct 2023 05:25:24 -0400
Original-Received: from mout01.posteo.de ([185.67.36.65])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philipk@posteo.net>)
 id 1qsJqk-00081q-5x
 for emacs-devel@gnu.org; Mon, 16 Oct 2023 05:25:24 -0400
Original-Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 3A122240029
 for <emacs-devel@gnu.org>; Mon, 16 Oct 2023 11:25:17 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1697448317; bh=tP8fPfOuWxo/Umcw1ne5lB3tnGhrNKqoo9AxGYJb3Xs=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=pg3jbPKFRK1U01ViCOpA51nktk3wdhXmesC7gZsmt90zyIBAFKoY3aCkjYjfSMxMz
 p/VCXRB6pml9DIYGw2RmrqGxnGYiaUlomSWFBtApGxoheFmXRFpw+hEasLRxldx1wy
 G43DCd75bs5qSXjzsPLxo9uUSVsgPtXHpaqTBrreOHhOtCPICtGwMEtIq2PKJtHy6M
 UGJ7CeacfUnmB3SV+TnO5nzUjHwRGdv6hiXBkfDAJ8hl0xRCBP+jCf4yNmk0sHAYj7
 tAxICw9n2Sz9Qq5CXpZZ/O4wHBLMI1tE+WeHFORRwHF7Flj3piHoAa4CRpcje0Dcc+
 GrPgUM7GI9ZLw==
Original-Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4S8BXr4fCyz9rxT;
 Mon, 16 Oct 2023 11:25:16 +0200 (CEST)
In-Reply-To: <SJ0PR10MB5488F606938AAA38CCC159E7F3D7A@SJ0PR10MB5488.namprd10.prod.outlook.com>
 (Drew Adams's message of "Mon, 16 Oct 2023 03:16:46 +0000")
X-Hashcash: 1:20:231016:sbaugh@janestreet.com::WXR3ZwZdLZBxx5U5:Twm
X-Hashcash: 1:20:231016:drew.adams@oracle.com::jj4/iIEGJr+TJkvd:vFJ
X-Hashcash: 1:20:231016:emacs-devel@gnu.org::kH4vT+lbbsYxg0SV:1GmA
Autocrypt: addr=philipk@posteo.net; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net;
 helo=mout01.posteo.de
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, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_NONE=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.29
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-devel>,
 <mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-devel>,
 <mailto:emacs-devel-request@gnu.org?subject=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:311514
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/311514>

Drew Adams <drew.adams@oracle.com> writes:

> FWIW:
>
> I'll mention some similar features in Icicles.  They
> were introduced together from the outset (in 2005!),
> and have proven useful.

You have mentioned Icicles a number of times, and one of the main
reasons I have never tried it out is that it is not available on ELPA or
any kind of official repository.  I believe wrote about this a while
back, but according to [0], the main issue remains that your libraries
overwrite Emacs primitives, as you mention in the main file:

--8<---------------cut here---------------start------------->8---
;;  ***** NOTE: These EMACS PRIMITIVES have been REDEFINED in Icicles:
;;
;;  `completing-read'              - (See below and doc string.)
;;  `display-completion-list'      - (See below and doc string.)
;;  `exit-minibuffer'              - Remove *Completion* window.
;;  `minibuffer-complete-and-exit' - Remove *Completion* window.
;;  `read-file-name'               - (See below and doc string.)
;;  `read-from-minibuffer'         - (See below and doc string.)
;;  `read-string'                  - (See below and doc string.)
;;
;;
;;  ***** NOTE: The following functions defined in `dabbrev.el' have
;;              been REDEFINED in Icicles:
;;
;;  `dabbrev-completion' - Use Icicles completion when you repeat
;;                         (`C-M-/').
;;
;;
;;  ***** NOTE: The following functions defined in `lisp.el' have
;;              been REDEFINED in Icicles:
;;
;;  `lisp-complete-symbol' - Selects `*Completions*' window even if on
;;                           another frame.
;;
;;
;;  ***** NOTE: The following functions defined in `mouse.el' have
;;              been REDEFINED in Icicles:
;;
;;  `mouse-choose-completion' - Return the number of the completion.
;;
;;
;;  ***** NOTE: The following functions defined in `simple.el' have
;;              been REDEFINED in Icicles:
;;
;;  `choose-completion-string' -
;;     Don't exit minibuffer after `lisp-complete-symbol' completion.
;;  `completion-setup-function' - 1. Put faces on inserted string(s).
;;                                2. Help on help.
;;  `switch-to-completions' - Always selects `*Completions*' window.
;;
;;  `next-history-element' (advised only) -
;;     Depending on `icicle-default-value', select minibuffer
;;     contents.
;;
;;  `repeat-complex-command' - Use `completing-read' to read command.
;;
;;  For descriptions of changes to this file, see `icicles-chg.el'.
--8<---------------cut here---------------end--------------->8---

Is this really necessary?  Somehow all the other completion systems
appear to get by without these kinds of invasive changes, and it would
be a pity the barriers for trying out your package continue to be
unnecessarily high, if the functionality is so advanced.  At the very
least it would be nice if you could have your own ELPA, perhaps hosted
on Emacs Wiki to distribute these packages in a more standardised way.

[0] https://www.emacswiki.org/emacs/icicles.el

-- 
Philip Kaludercic