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: add non-chord keys to repeat isearch Date: Wed, 10 Jun 2009 10:32:17 -0700 Message-ID: References: <20090609174807.GC11634@muc.de> <20090609195639.GE11634@muc.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1244655182 28837 80.91.229.12 (10 Jun 2009 17:33:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 10 Jun 2009 17:33:02 +0000 (UTC) Cc: 'Emacs-Devel devel' To: "'Alan Mackenzie'" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 10 19:32:57 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MERfV-0000eI-3D for ged-emacs-devel@m.gmane.org; Wed, 10 Jun 2009 19:32:57 +0200 Original-Received: from localhost ([127.0.0.1]:33455 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MERfU-0002PS-Iy for ged-emacs-devel@m.gmane.org; Wed, 10 Jun 2009 13:32:56 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MERf5-0002Hi-LI for emacs-devel@gnu.org; Wed, 10 Jun 2009 13:32:31 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MERf1-0002GR-Nc for emacs-devel@gnu.org; Wed, 10 Jun 2009 13:32:31 -0400 Original-Received: from [199.232.76.173] (port=41770 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MERf1-0002GJ-JM for emacs-devel@gnu.org; Wed, 10 Jun 2009 13:32:27 -0400 Original-Received: from rcsinet12.oracle.com ([148.87.113.124]:31371 helo=rgminet12.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MERf1-0000zl-5t for emacs-devel@gnu.org; Wed, 10 Jun 2009 13:32:27 -0400 Original-Received: from rgminet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by rgminet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n5AHW6NN007199 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 10 Jun 2009 17:32:07 GMT Original-Received: from abhmt003.oracle.com (abhmt003.oracle.com [141.146.116.12]) by rgminet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n5AHWNQL007832; Wed, 10 Jun 2009 17:32:23 GMT Original-Received: from dradamslap1 (/130.35.179.10) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 10 Jun 2009 10:32:16 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcnpPFwk/PTvn7xfQTyQ3w9t/KR2SgArkjyA In-Reply-To: <20090609195639.GE11634@muc.de> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Source-IP: abhmt003.oracle.com [141.146.116.12] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090204.4A2FEE22.00FF:SCFSTAT5015188,ss=1,fgs=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:111416 Archived-At: > > Precisely the point. Which do you repeat 14 times in a row, > > `scroll-up' or `isearch-repeat-forward'? > > Scrolling up and down, actually. Thought the "repetition" is > more often at different matches: something like C-s > C-s C-s C-s, .... (That's not repetition. That's thrashing: scrolling once, then undoing the scroll. is repeating.) Just use `C-l'. Repeating it (twice) puts you back where you were. It works fine with non-nil `isearch-allow-scroll' (thank you for that). > > Using a chord to scroll is not a biggee. Especially since > > apparently repeating `C-v' in Isearch has no effect. > > If you can do `C-v' only once in a row, pinky can have no > > complaint. > > It's a biggee for me. It's having to shift between C-v and M-v. Just use `C-l'. > What happens often is that C-s finds a match 2 lines above > the bottom of the window, and you need to see the line just > below the window to see if you've found the right match, yet. > That bugged me so badly that I wrote the scrolling feature. Just use `C-l'. > and are much easier to type alternately than > C-v and M-v. `C-l' is even easier. Repeat, don't alternate at all. No need for two different keys to do what you want, and no need to leave the home row of the keyboard. > I do this often enough for it to matter to me. > > > I quite often scroll up and down in rapid succession (in isearch), > > Actually, although I'm not in favour of making your bindings a > standard default, I wouldn't be that vehement in arguing against them. As a compromise, we could bind and in Isearch to commands that do what you want when `isearch-allows-scroll' is non-nil, and that repeat Isearch when it is nil. (I personally will use those keys for repeated Isearch even though I now use non-nil `isearch-allows-scroll' (thank you) - but that's a personal customization.) Suggestion #1: Since repeated `C-v' and repeated `M-v' are no-ops in your scrolling context, you might consider letting each of them toggle between the two: scrolling up/down. That way, you could use `C-v C-v' or `M-v M-v' instead of `C-v M-v' or `M-v C-v'. Just a suggestion. Either of those is slightly shorter and less distracting than `C-l C-l C-l'. But if you decide to make no change in this regard, at least provide some feedback, to let users know that repeating the scrolling command is not supposed to have any effect. Users naturally expect repeating these commands to keep scrolling - let them know that not doing so is intended, not a bug. Suggestion #2: Add some info to the doc string for `isearch-allow-scroll', to let users know that it is not just "scrolling commands" (unclear just what that means) that are affected, but any command whose symbol has non-nil property `isearch-scroll'. That's important information for users: 1. It helps them discover that commands such as `C-l', which they might not think of as "scrolling commands" can also work here. (`recenter' is mentioned in the Emacs manual, but not in the doc string. BTW, `C-l' is no longer `recenter', by default.) 2. It lets them know that _they_ can add or remove commands for which scrolling is allowed, and how to do that. This feature means the option can act not only as a general boolean - the behavior can be command-specific. This info is in the Emacs manual, but it would help to mention it in the doc string - it has a major impact on the option's behavior.