From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: UP and DOWN with multi-line minibuffer history Date: Tue, 15 Dec 2015 22:29:31 -0800 (PST) Message-ID: <431ab481-a87d-43d6-a17b-d29ba3a556b5@default> References: <83wpsj6978.fsf@gnu.org> <87y4czz63l.fsf@mail.linkov.net> <83lh8y5q3k.fsf@gnu.org> <87d1u9vqni.fsf@mail.linkov.net> <83d1u94s23.fsf@gnu.org> <87r3ioegmq.fsf@mail.linkov.net> <83r3io2xgv.fsf@gnu.org> <87mvtbgrna.fsf@mail.linkov.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1450247398 385 80.91.229.3 (16 Dec 2015 06:29:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Dec 2015 06:29:58 +0000 (UTC) Cc: Eli Zaretskii , Emacs developers To: Yuri Khan , Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 16 07:29:45 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a95ar-0001LS-H9 for ged-emacs-devel@m.gmane.org; Wed, 16 Dec 2015 07:29:45 +0100 Original-Received: from localhost ([::1]:45669 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a95aq-0000lO-S6 for ged-emacs-devel@m.gmane.org; Wed, 16 Dec 2015 01:29:44 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44534) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a95am-0000ky-Qa for emacs-devel@gnu.org; Wed, 16 Dec 2015 01:29:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a95al-0002Ty-FF for emacs-devel@gnu.org; Wed, 16 Dec 2015 01:29:40 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:41127) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a95ah-0002MX-GS; Wed, 16 Dec 2015 01:29:35 -0500 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id tBG6TX8p006791 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 16 Dec 2015 06:29:33 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id tBG6TXaN020084 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 16 Dec 2015 06:29:33 GMT Original-Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id tBG6TWgl028837; Wed, 16 Dec 2015 06:29:33 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:196349 Archived-At: > Other software also has pull-down histories, so one doesn=E2=80=99t have = to > scroll the history while looking at it through a mailbox slit. You > pull down the history, select an item you want, press Enter, and it > gets copied into the input box where you can edit it before executing > again. Yes, it is too bad that in Emacs the history is invisible that way (seeing at most one item at a time). It's a peep show. > In Emacs UI conventions, it might work like this: >=20 > * Pressing some special key while in minibuffer would open a temporary > buffer showing the history and place the point in it. > * The item containing the point would be optionally highlighted with a fa= ce. > * The user would then move the point to the desired item. > * Pressing Enter would copy the item containing the point into the > minibuffer and bury or kill the history buffer. > * Attempting any editing command would copy the item containing the > point into the minibuffer, bury or kill the history buffer, and > perform the editing command in the minibuffer. > * Pressing C-g would just bury or kill the history buffer without > modifying the minibuffer contents. FWIW, that's pretty much how completing against the input history works in Icicles. > * Pressing some special key while in minibuffer would open a temporary > buffer showing the history and place the point in it. `M-o' does that (for any minibuffer input, not just for input read with=20 completion). It opens temporary buffer *Completions* with the list of past inputs. You can sort them in various orders, including latest use. `M-o' lets you use completion or cycling to insert a history item (or several) in the minibuffer. =20 > * The item containing the point would be optionally highlighted with > a face. Yes, the "current" history item is highlighted. (You can think of point in *Completions* as being at the current item, but it is not. Point in *Completions* is really irrelevant.) > * The user would then move the point to the desired item. You can cycle among the items. Or complete to one. Or combine completing (to narrow the candidates) and cycling. Or choose one withthe mouse. Current-item highlighting tracks when you cycle (like "moving point"). > * Pressing Enter would copy the item containing the point into the=20 > minibuffer Yes, `RET' appends the current candidate to the current minibuffer content. (`M-k' erases the minibuffer.) An inserted history item is followed by a space, by default. With a prefix arg <=3D 0, no space is appended. With a prefix arg >=3D0, each inserted item is wrapped in "...". (You can also use `M-o' as a multi-command, so one invocation lets you insert any number of history items, even multiple times, and in this case you can also use a prefix arg on individual items, to append them individually with or without spaces and "..." wrappers.) > * Attempting any editing command would copy the item containing the > point into the minibuffer, bury or kill the history buffer, and > perform the editing command in the minibuffer. Nah. Any editing command/key acts normally in the minibuffer, to edit its contents. (Icicles is even more vanilla than vanilla, in preserving editing keys. `?', `SPC', and `C-j' are self-inserting, for instance.) > * Pressing C-g would just bury or kill the history buffer without > modifying the minibuffer contents. Yes. `C-g' cancels completion. You can continue to use the minibuffer. http://www.emacswiki.org/emacs/Icicles_-_History_Enhancements#M-o