From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: UP and DOWN with multi-line minibuffer history Date: Wed, 16 Dec 2015 02:32:09 +0200 Organization: LINKOV.NET Message-ID: <87mvtbgrna.fsf@mail.linkov.net> 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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1450229301 5171 80.91.229.3 (16 Dec 2015 01:28:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Dec 2015 01:28:21 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 16 02:28:13 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 1a90t2-0004z1-T1 for ged-emacs-devel@m.gmane.org; Wed, 16 Dec 2015 02:28:13 +0100 Original-Received: from localhost ([::1]:39841 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a90t2-0006ix-9q for ged-emacs-devel@m.gmane.org; Tue, 15 Dec 2015 20:28:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60695) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a90su-0006YH-9n for emacs-devel@gnu.org; Tue, 15 Dec 2015 20:28:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a90st-00034Y-7s for emacs-devel@gnu.org; Tue, 15 Dec 2015 20:28:04 -0500 Original-Received: from sub3.mail.dreamhost.com ([69.163.253.7]:53209 helo=homiemail-a17.g.dreamhost.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a90sp-00032j-Cx; Tue, 15 Dec 2015 20:27:59 -0500 Original-Received: from homiemail-a17.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a17.g.dreamhost.com (Postfix) with ESMTP id 42A942B206A; Tue, 15 Dec 2015 17:27:56 -0800 (PST) Original-Received: from localhost.linkov.net (m83-180-31-224.cust.tele2.ee [83.180.31.224]) (Authenticated sender: jurta@jurta.org) by homiemail-a17.g.dreamhost.com (Postfix) with ESMTPA id 5DD152B2065; Tue, 15 Dec 2015 17:27:55 -0800 (PST) In-Reply-To: <83r3io2xgv.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 15 Dec 2015 05:37:52 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 69.163.253.7 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:196338 Archived-At: --=-=-= Content-Type: text/plain > We have that in a normal buffer, don't we? I totally agree with you that it makes sense to imagine the minibuffer history as contiguous sheets of lines with all history elements concatenated as lines in a normal buffer. Then it would be natural to assume UP and DOWN operating on such an imaginary buffer the same way as they currently operate on a normal buffer when line-move-visual is set to non-nil. This consistency sounds right in theory and I'd definitely support your change after reading your description - if not tried it in real conditions: typing more than N keys UP to navigate to Nth history element is a huge annoyance. While in a normal buffer it's possible to mitigate it by counting lines and using a numeric argument for UP, or pressing and holding UP, or even resorting to the mouse, none of which would work in the minibuffer history. This explains why no other software is doing such awkward thing. For example, in Chromium and other Webkit-related browsers typing UP in the Console brings the previous multi-line history element and puts the cursor on its first line. This screenshot demonstrates the place on the first line where Chromium puts the cursor after typing UP in its minibuffer: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=chromium.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain And here is exactly the same place on the first line where we put the cursor in Emacs: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=emacs.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain This is the standard long-standing behavior that users expect from such feature based on the needs of millions of users of Chromium, Chrome, Safari, Opera using this feature every day. So it would be safe for us to rely on this thoroughly tested and proven behavior. --=-=-=--