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: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation. Date: Tue, 17 Nov 2020 12:52:34 -0800 (PST) Message-ID: <3069ff0e-4499-4fd8-99a2-5e726f119ad2@default> References: <20201115023629.19537.77471@vcs0.savannah.gnu.org> <20201115023631.C78AB20A27@vcs0.savannah.gnu.org> <20201115224943.o5r7lkkblmyt2ox4@Ergus> <20201116033719.63dryvqm4ozfer2r@Ergus> <92f3cbd7-29a0-461a-a023-562bc6020ea8@default> <87v9e5herj.fsf@mail.linkov.net> <20201116102729.ywubtda6cqdzc45z@Ergus> <877dql59v0.fsf@mail.linkov.net> <20201117004653.thnefjkbj73ao4yk@Ergus> <87ft57wy32.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="34549"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , emacs-devel@gnu.org To: Juri Linkov , Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 17 21:56:11 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 1kf81L-0008rY-4J for ged-emacs-devel@m.gmane-mx.org; Tue, 17 Nov 2020 21:56:11 +0100 Original-Received: from localhost ([::1]:47764 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kf81K-0005Dm-4s for ged-emacs-devel@m.gmane-mx.org; Tue, 17 Nov 2020 15:56:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55812) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kf805-0004W4-Ol for emacs-devel@gnu.org; Tue, 17 Nov 2020 15:54:53 -0500 Original-Received: from aserp2120.oracle.com ([141.146.126.78]:58644) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kf802-0001wl-1E for emacs-devel@gnu.org; Tue, 17 Nov 2020 15:54:53 -0500 Original-Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AHKshaa061492; Tue, 17 Nov 2020 20:54:43 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=di8bBRp1yfKBQ+Fe40I1LRNJnZMzPXD9lUTO+JlA60I=; b=cMZqiarxNzWSNZ7NLpcFrVsuuEB5WSbf3Bk14rffISYuqOdXDQ4skB1pIdpcjOcHGVW9 IWKTO9j91JP08qXHps57Hxy8GdwDQ562WuRTLQYo+3mNqyvJ+vtFSiYrhVjbmvLAwli6 LAQUwtcBdfRql766niDeQf0MpANkrNzvIyJR/RXD1R5/atzkhNAH8rXrTe7QxkyUsci5 Dck45qu94gTKEg5rHoqaekRfpevnNJlX4einytUlQlORqEkWKmtytj6wuoqOX+XPrOPm F3aibSt1vUcvpD3degclS2Z46nipcNQRkGlq5g/WSciH276/1s5S9q650BUjtbCgS656 aw== Original-Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 34t76kvtf3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 17 Nov 2020 20:54:43 +0000 Original-Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AHKkYVj177829; Tue, 17 Nov 2020 20:52:42 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 34ts5wm85g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Nov 2020 20:52:42 +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 0AHKqZn8021394; Tue, 17 Nov 2020 20:52:36 GMT In-Reply-To: <87ft57wy32.fsf@mail.linkov.net> 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=9808 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 phishscore=0 suspectscore=0 mlxscore=0 malwarescore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011170153 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9808 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 mlxlogscore=999 malwarescore=0 mlxscore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011170154 Received-SPF: pass client-ip=141.146.126.78; envelope-from=drew.adams@oracle.com; helo=aserp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/17 15:54:48 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:259313 Archived-At: > > Basically we only need to add the command you propose like > > > > (defun ... > > (with-minibuffer-scroll-window scroll-up-command)) > > > > And bind them... probably with a remap in > > completions-highlight-minibuffer-map. >=20 > Yes, one command could do it all, for example: >=20 > (defun with-completions-selected-window () > (interactive) > (with-selected-window (get-buffer-window "*Completions*" 0) > (when-let ((command (lookup-key (current-active-maps) > (this-single-command-keys)))) > (call-interactively command)))) > (dolist (key '(up down left right next prior)) > (define-key minibuffer-local-map `[(,key)] 'with-completions- > selected-window)) >=20 > It redirects all navigation keys from the minibuffer to the > *Completions* buffer where they are bound to cursor motion commands. I'll request again that you not bind `next' and `prior' this way, so that they can be saved for other uses. (I described uses that Icicles makes.) I'll also request that you not bind `left' and `right' this way. Those keys should be available in the minibuffer for cursor movement there. We should not be removing keys useful for ordinary text editing from the minibuffer gratuitously. `up' and `down', and `C-v' and `M-v', yes. And `wheel-(up|down)'. Those make sense; others don't. In addition, `C-v' and `M-v' for scrolling *Completions* from the minibuffer should wrap. And wrapping to the beginning should move point past the help text to start of the candidates. Icicles does these things, and has for a long time. You're free to check the code it uses for them. It's small and straightforward (see, e.g., `icicle-scroll-Completions-forward'). https://www.emacswiki.org/emacs/download/icicles-mcmd.el