Subject: bug#11378: 24.1.50; Suggestion: Let M-i in isearch cycle `search-invisible'

From: Juri Linkov <[email-masked]>
Date: Tue, 01 May 2012 18:15:35 +0300

> Sounds good to me.  Not sure how you'll fix the
>
> 	     (and (eq isearch-filter-predicate 'isearch-filter-visible)
> 		  search-invisible))

This condition is used to set the value of
`inhibit-point-motion-hooks'.  But I don't understand
the purpose of using `inhibit-point-motion-hooks' here
and why it depends on `search-invisible'.

The documentation says that when `inhibit-point-motion-hooks' is
non-nil, the `intangible' property is ignored.  But how this is
related to the `invisible' property?

Maybe we could bind `inhibit-point-motion-hooks' to t
unconditionally because `isearch-done' takes care
about moving point outside of intangible text,
and probably there are no more bad effects.

Another reason why this condition should be removed
is that other filters call `isearch-filter-visible' too
(as the first thing they test in their function body).
And it's impossible to list all such filters in the condition
that binds the value of `inhibit-point-motion-hooks' to t.