From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#15839: 24.3.50; `isearch-allow-scroll': be able to scroll point off screen temporarily Date: Wed, 28 Nov 2018 07:15:11 -0800 (PST) Message-ID: <178ca8ac-fb45-4cef-a48d-d916a60860be@default> References: <51df60b6-e152-4989-a27e-70dadb9b7474@default> <8736rqgk6f.fsf@mail.linkov.net> <87y39gexdo.fsf@mail.linkov.net> <877egzmmyk.fsf@mail.linkov.net> <8af20443-841d-4211-99ae-269e042a9a33@default> <875zwidonq.fsf@mail.linkov.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1543418066 14302 195.159.176.226 (28 Nov 2018 15:14:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 28 Nov 2018 15:14:26 +0000 (UTC) Cc: 15839@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 28 16:14:22 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gS1Xi-0003a0-1P for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Nov 2018 16:14:22 +0100 Original-Received: from localhost ([::1]:48285 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gS1Zo-00089B-JL for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Nov 2018 10:16:32 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gS1ZP-00082E-5A for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2018 10:16:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gS1ZL-0006GY-T4 for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2018 10:16:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49399) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gS1ZL-0006GH-M8 for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2018 10:16:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gS1ZL-0000RV-EC for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2018 10:16:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Nov 2018 15:16:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15839 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15839-submit@debbugs.gnu.org id=B15839.15434181211641 (code B ref 15839); Wed, 28 Nov 2018 15:16:03 +0000 Original-Received: (at 15839) by debbugs.gnu.org; 28 Nov 2018 15:15:21 +0000 Original-Received: from localhost ([127.0.0.1]:53657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gS1Ye-0000QO-Ny for submit@debbugs.gnu.org; Wed, 28 Nov 2018 10:15:21 -0500 Original-Received: from userp2120.oracle.com ([156.151.31.85]:51322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gS1Yd-0000Q8-36 for 15839@debbugs.gnu.org; Wed, 28 Nov 2018 10:15:19 -0500 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id wASFD379139058; Wed, 28 Nov 2018 15:15:13 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-2018-07-02; bh=G8VQpO/R7hRM2s25bVTqxoiA+GW4V5shBttg0yIESVk=; b=ATvCe3Zjr5vZqelGTQoJ25pXQU++oJhTF0FDLhw+BY4jOtFT2VSmm4tzZnnMBKHvpgSd vl/tqNf5I+lnj/4EeIiDbu5N6Xu9rzFAd9s/NIkm4WyNDQylYwP1VTTUOLjlNCajUPFt ajkYHSwqPcPSP/ElYfr9YowV8aZDmAMDETfNLh83Zb5XI0FlQuPikDWam6mNX/cS5xjE DO+YwQ8C4txBzzN+UC9+e3LQ6mR3iyq9pkRf6/84FhCKa4Z4FprIb+hS9gK3TH/wEVu9 uqQepRJKB0Z3OQutGdFNdbNhIM2PIqdwRv7lW49SMy4qEhgsm4/7eaP/8hYmZWnerRwc CQ== Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2120.oracle.com with ESMTP id 2nxy9rares-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Nov 2018 15:15:13 +0000 Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id wASFFCUv014928 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Nov 2018 15:15:12 GMT Original-Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id wASFFBl8014788; Wed, 28 Nov 2018 15:15:11 GMT In-Reply-To: <875zwidonq.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4771.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9090 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811280134 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:152860 Archived-At: > > I don't want to customize one variable to be able to > > scroll farther, and another variable to have what's > > shown by that scrolling have lazy-highlighting > > (especially if the latter requires lazy-highlighting > > the entire buffer, rather than just what I see when > > scrolling). >=20 > Fine. If you are lazy to customize two variables, > after you customize one variable we could automatically > change the value of the second variable. That was not my point. First is a question: Would customizing those two variables in that way affect ONLY the specific behavior I requested? I don't expect so. But even if the answer to that question is yes, it's not clear from the descriptions of those variables that that behavior follows as the only, specific behavior. If you implement code that does what I requested, providing a single place for users to control it (which should logically be `isearch-allow-scroll', I think) - and that controls only it (does not affect some other behavior) that will be great. (Maybe you've done that - if you say so then I'll take a closer look.) IOW, how that implementation gets done under the covers is not so important to a user. If it's best that it somehow make use of existing code - even existing user options, that's OK. It's not clear to me that the purpose of those two variables is to realize the feature requested here. Is it, really? But users should preferably not need to worry about variable interactions. The doc for a given variable should make clear just what it does, and each variable should preferably have one behavior (per value chosen). You should not, e.g., discover that by choosing a var value to make a background red you have also inadvertently turned off the ability to have blue foreground text. > > I want to be able to use `isearch-allow-scroll' to > > let me scroll as far as I want, and see search hits > > lazy-highlighted in what parts of the buffer I > > scroll to. >=20 > Fine, we could allow the same feature to be enabled > by two different variables. >=20 > @@ -2747,8 +2747,15 @@ isearch-allow-scroll > "Whether scrolling is allowed during incremental search. > If non-nil, scrolling commands can be used in Isearch mode. > However, the current match will never scroll offscreen. > +If `unlimited', the current match can scroll offscreen. Those last two sentences should be rephrased in the usual manner: `unlimited' means... Any other non-nil value means...=20 > +This has the same effect as the value `nil' > of `search-exit-option'. Does it really? If that's the only effect of `search-exit-option' then yes, we don't need a separate option. But if that were true then why did `search-exit-option' exist previously, and why didn't it do this previously? And why was it called `search...' and not `isearch...'? I'm guessing that nil `search-exit-option' does not just have "the same effect". But (see above) even if it does, that doesn't mean that option `search-exit-option' has the same effect, because setting it to non-nil, ONLY to NOT have the effect of `unlimited' `isearch-allow-scroll', would presumably also have some other effect unrelated to allowing scrolling. Sorry that I'm arguing from ignorance here so far, and not bothering to get informed in detail about these existing options. I'm essentially guessing that trying to repurpose some combination of them to achieve this request is not a great idea. If I'm wrong, please try to present the counter argument straightforwardly. I'm open to being convinced, but a first sense is that this is likely not the right approach. If you just tell me I'm wrong then I'll take a closer look at what you're proposing. But first please consider what I say here, in case it's valid. > If nil, scrolling commands will first cancel > Isearch mode." BTW, why do we say "first" there? First before what? There is no other action after this, is there? I.e., there is no "second" or "and" that follows this "first", right? Or is there some additional context that makes that "first" mean something? Thanks for working on this. Let me know, if you think I'm wrong and should just take a closer look at what you've proposed.