all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Juri Linkov <juri@linkov.net>
Cc: 17453@debbugs.gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: bug#17453: Isearch doesn't work properly with Follow Mode.
Date: Mon, 2 Nov 2015 09:28:53 +0000	[thread overview]
Message-ID: <20151102092853.GA11804@acm.fritz.box> (raw)
In-Reply-To: <87bnbddzpk.fsf@mail.linkov.net>

Hi, Juri.

On Mon, Nov 02, 2015 at 02:14:47AM +0200, Juri Linkov wrote:
> >> >>From another perspective, settings lazy-highlight-buffer to t
> >> (implemented in bug#21092) and removing the current restriction of
> >> (overlay-put ov 'window (selected-window)) will lazy-highlight matches
> >> in all follow windows with no effort.

> > I wasn't actually aware of that fix.

> > There were three main problems my patch fixed:
> > 1) Searching commands were restricted to a single follow window.  This
> > was caused by the lazy highlighting mechanism, as you say.
> > 2) Lazy highlighting was only being done in a single window.
> > 3) In scrolling commands, point was restricted to the singled window,
> > rather than being able to move freely throughout all the windows.

> IIUC, lazy highlighting is not a problem anymore, ....

It is.  With Follow Mode enabled, lazy highlighting is only occurring in
the one window, not all of them.

> .... so the remaining problem is how to switch windows when the next
> search position happens to be in an adjacent window.

That problem only shows itself when lazy-highlighting is enabled.  This
suggests that the solution is to fix the lazy-highliting code so as not
to mess up the window arrangement.

The other problem which still exists is that when isearch-allow-scroll
is enabled, point cannot be scrolled into a neighbouring Follow Mode
window.

> Since there is no other core library that require so much changes to
> adapt to follow-mode, ....

I don't think we know this.

> .... and there are already some mode-specific hooks in follow.el like
> compilation-filter-hook, indicates that it's the responsibility of
> follow.el to support isearch in follow-mode.

There is nothing Follow Mode can do about isearch restricting its
lazy-highlighting and bounds for scrolling to one single window.
Isearch itself must be adapted for Follow Mode to work with it.

> So I believe the right way to do this is like Artur presented in a
> short patch, ....

I don't actually understand that patch, I'll need to study the wierd/new
constructs used in it, like `when-let'.

However, I'm certain that that patch will not fix all the problems
discussed in this post.  One way or another, isearch MUST work with the
window boundaries of the entire Follow Mode group.

> .... and maybe it's possible to simplify it even more by using
> isearch-update-post-hook with a follow-align-compilation-windows like
> hook.  I mean something like (add-hook 'isearch-update-post-hook
> follow-align-isearch-windows t t)

Hmm.  I see that more as complicatifying rather than simplifying.  The
imperative, set out by Stefan 18 months ago, was to keep internal Follow
Mode stuff out of isearch.

-- 
Alan Mackenzie (Nuremberg, Germany).





  parent reply	other threads:[~2015-11-02  9:28 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-09 22:44 bug#17453: Isearch doesn't work properly with Follow Mode Alan Mackenzie
2014-05-10  2:40 ` Stefan Monnier
2014-05-11 12:58   ` Alan Mackenzie
2014-05-11 16:09     ` Stefan Monnier
2014-05-11 18:18       ` Alan Mackenzie
2014-05-11 19:05         ` Stefan Monnier
2014-05-11 20:40           ` Alan Mackenzie
2014-05-11 21:46             ` Stefan Monnier
2015-10-29 23:23   ` Alan Mackenzie
2015-10-29 23:23   ` Alan Mackenzie
2015-10-31 22:35     ` John Wiegley
2015-10-31 23:25       ` Alan Mackenzie
2015-10-31 23:41         ` John Wiegley
2015-11-01 11:59           ` Alan Mackenzie
2015-11-01 11:59           ` Alan Mackenzie
2015-10-31 23:41         ` John Wiegley
2015-10-31 23:25       ` Alan Mackenzie
2015-11-01  0:17       ` Drew Adams
2015-11-01  0:17       ` Drew Adams
2015-10-31 22:35     ` John Wiegley
2015-10-31 23:13     ` Artur Malabarba
2015-10-31 23:13     ` Artur Malabarba
2015-10-31 23:32       ` Alan Mackenzie
2015-11-01 12:20         ` Artur Malabarba
2015-11-01 12:23           ` Artur Malabarba
2015-11-01 12:23           ` Artur Malabarba
2015-11-01 13:52             ` Alan Mackenzie
2015-11-01 16:50               ` Eli Zaretskii
2015-11-01 18:27                 ` Alan Mackenzie
2015-11-01 19:46                   ` Artur Malabarba
2015-11-01 20:15                     ` Alan Mackenzie
2015-11-01 21:37                       ` Artur Malabarba
2015-11-01 20:42                     ` Artur Malabarba
2015-11-01 20:54                   ` Eli Zaretskii
2015-11-01 22:19                     ` Alan Mackenzie
2015-11-01 12:20         ` Artur Malabarba
2015-10-31 23:32       ` Alan Mackenzie
2015-10-31 23:35     ` Juri Linkov
2015-10-31 23:56       ` Alan Mackenzie
2015-11-02  0:14         ` Juri Linkov
2015-11-02  0:14         ` Juri Linkov
2015-11-02  3:35           ` Eli Zaretskii
2015-11-02  3:35           ` Eli Zaretskii
2015-11-02  9:28           ` Alan Mackenzie [this message]
2015-11-02 11:53             ` Artur Malabarba
2015-11-02 12:14               ` Artur Malabarba
2015-11-02 12:14               ` Artur Malabarba
2015-11-02 12:39                 ` Alan Mackenzie
2015-11-02 12:39                 ` Alan Mackenzie
2015-11-02 12:35               ` Alan Mackenzie
2015-11-02 13:10                 ` Artur Malabarba
2015-11-02 14:18                   ` Artur Malabarba
2015-11-02 15:44                     ` Alan Mackenzie
2015-11-02 16:26                       ` Artur Malabarba
2015-11-02 16:35                         ` Drew Adams
2015-11-02 19:18                           ` Artur Malabarba
2015-11-02 19:28                             ` Drew Adams
2015-11-02 23:45                               ` Juri Linkov
2015-11-02 22:09                         ` Alan Mackenzie
2015-11-02 23:00                           ` Artur Malabarba
2015-11-03  9:18                             ` Alan Mackenzie
2015-11-02 17:45                       ` Eli Zaretskii
2015-11-02 23:22                       ` Juri Linkov
2015-11-03 12:31                         ` Alan Mackenzie
2015-11-03 12:31                         ` Alan Mackenzie
2015-11-03 15:49                           ` Eli Zaretskii
2015-11-03 16:18                             ` Artur Malabarba
2015-11-03 22:11                               ` Alan Mackenzie
2015-11-04  0:28                                 ` Juri Linkov
2015-11-04  9:01                                   ` Alan Mackenzie
2015-11-04 10:17                                     ` Artur Malabarba
2015-11-05 12:38                                       ` Alan Mackenzie
2015-11-05 17:13                                         ` Artur Malabarba
2015-11-07 12:59                                   ` Alan Mackenzie
2015-11-07 13:38                                     ` Eli Zaretskii
2015-11-08 10:32                                       ` Alan Mackenzie
2015-11-03 16:39                             ` Alan Mackenzie
2015-11-02 23:22                       ` Juri Linkov
2015-11-02 15:44                     ` Alan Mackenzie
2015-11-02 23:28                     ` Juri Linkov
2015-11-02 23:28                     ` Juri Linkov
2015-11-02 14:18                   ` Artur Malabarba
2015-11-02 13:10                 ` Artur Malabarba
2015-11-02 15:46                 ` Eli Zaretskii
2015-11-02 16:09                   ` Alan Mackenzie
2015-11-02 17:49                     ` Eli Zaretskii
2015-11-02 20:35                       ` John Wiegley
2015-11-03  8:35                       ` Alan Mackenzie
     [not found]                 ` <<831tc8xv39.fsf@gnu.org>
2015-11-02 16:05                   ` Drew Adams
2015-11-02 12:35               ` Alan Mackenzie
2015-11-02 11:53             ` Artur Malabarba
2015-11-02 23:33             ` Juri Linkov
2015-11-02 23:33             ` Juri Linkov
2015-10-31 23:56       ` Alan Mackenzie
2015-10-31 23:35     ` Juri Linkov
     [not found] ` <handler.17453.B.139967578531952.ack@debbugs.gnu.org>
2015-12-20 12:59   ` bug#17453: Acknowledgement (Isearch doesn't work properly with Follow Mode.) Alan Mackenzie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151102092853.GA11804@acm.fritz.box \
    --to=acm@muc.de \
    --cc=17453@debbugs.gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.