From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#17453: Isearch doesn't work properly with Follow Mode. Date: Sun, 8 Nov 2015 10:32:32 +0000 Message-ID: <20151108103231.GA1962@acm.fritz.box> References: <20151102154445.GD11804@acm.fritz.box> <87h9l46l7o.fsf@mail.linkov.net> <20151103123116.GD2258@acm.fritz.box> <83a8qvw0aq.fsf@gnu.org> <20151103221131.GG2258@acm.fritz.box> <87mvuur4kn.fsf@mail.linkov.net> <20151107125931.GA1770@acm.fritz.box> <83oaf6oroo.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1446978686 24086 80.91.229.3 (8 Nov 2015 10:31:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 8 Nov 2015 10:31:26 +0000 (UTC) Cc: 17453@debbugs.gnu.org, bruce.connor.am@gmail.com, juri@linkov.net To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 08 11:31:12 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1ZvNFf-00040T-Hg for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Nov 2015 11:31:11 +0100 Original-Received: from localhost ([::1]:46825 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvNFe-0003n7-Kj for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Nov 2015 05:31:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41056) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvNFb-0003n2-W4 for bug-gnu-emacs@gnu.org; Sun, 08 Nov 2015 05:31:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZvNFW-0002N9-Tj for bug-gnu-emacs@gnu.org; Sun, 08 Nov 2015 05:31:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:38335) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvNFW-0002N5-Q3 for bug-gnu-emacs@gnu.org; Sun, 08 Nov 2015 05:31:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZvNFW-0008VO-EY for bug-gnu-emacs@gnu.org; Sun, 08 Nov 2015 05:31:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Nov 2015 10:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17453 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17453-submit@debbugs.gnu.org id=B17453.144697864432648 (code B ref 17453); Sun, 08 Nov 2015 10:31:02 +0000 Original-Received: (at 17453) by debbugs.gnu.org; 8 Nov 2015 10:30:44 +0000 Original-Received: from localhost ([127.0.0.1]:57276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZvNFD-0008UV-QR for submit@debbugs.gnu.org; Sun, 08 Nov 2015 05:30:44 -0500 Original-Received: from mail.muc.de ([193.149.48.3]:58096) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZvNFA-0008UM-Hf for 17453@debbugs.gnu.org; Sun, 08 Nov 2015 05:30:41 -0500 Original-Received: (qmail 38584 invoked by uid 3782); 8 Nov 2015 10:30:38 -0000 Original-Received: from acm.muc.de (p548A4846.dip0.t-ipconnect.de [84.138.72.70]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 08 Nov 2015 11:30:37 +0100 Original-Received: (qmail 2072 invoked by uid 1000); 8 Nov 2015 10:32:32 -0000 Content-Disposition: inline In-Reply-To: <83oaf6oroo.fsf@gnu.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:108566 Archived-At: Hello, Eli. On Sat, Nov 07, 2015 at 03:38:31PM +0200, Eli Zaretskii wrote: > > Date: Sat, 7 Nov 2015 12:59:31 +0000 > > Cc: Artur Malabarba , Eli Zaretskii , > > 17453@debbugs.gnu.org > > From: Alan Mackenzie > > Proposed solutions: > > 1. Call follow-post-command-hook from isearch-update before calling > > isearch-lazy-highlight-new-loop (as described above). > > 2. Call the proposed function `redisplay-would-scroll-window' instead of > > the `sit-for'. > > 3. Make isearch-lazy-highlight-new-loop always set the idle timer, and > > test for the need for a new loop instead in the function it triggers. > > Remove the `sit-for'. > > I now think solution 2. is not sensible or realistic. Redisplay is just > > too complicated to second-guess. > > Solution 1. has the disadvantage that follow-post-command-hook would be > > called twice for every command in Isearch. It is not fast. > > Solution 3. similarly might have the problem that if > > lazy-highlight-initial-delay is set to zero, redisplay might not have > > done its work when isearch-lazy-highlight-update runs. (I haven't tried > > it out, yet). > > Personally, I am in favour of solution 3, but I'm willing to be persuaded > > into solution 1. But I'd like us to come to a decision quickly. > How about using 1), but also adding some indication that could prevent > the post-command-hook from being called twice? Hmm. Such artifices are not pretty. Such a flag would have to be set in isearch.el just after isearch-update-post-hook (which calls follow-post-command-hook) has been invoked. Something would have to clear it, perhaps something at the end of the lazy highlight loop. Also, this would couple Isearch and Follow Mode undesirably: Isearch really shouldn't have to know anything about the FM window setup. Or, maybe just letting follow-post-command-hook run twice wouldn't be too bad. The second time, all the windows would already be synchronised and point would be in the right window. I've had a look at the code, and it seems in this situation it actually does call the function to rearrange the windows. Maybe that is a bug which might be fixed. Do you have any views on solution 3? -- Alan Mackenzie (Nuremberg, Germany).