* lisp/isearch.el: Fix lazy-highlighting and lazy-counting of hidden matches

* lisp/isearch.el (isearch-lazy-highlight-search): Let-bind
search-invisible to t when search-invisible is 'open' or when both
isearch-lazy-count and search-invisible are non-nil.  (Bug#40808)
This commit is contained in:
Juri Linkov 2020-04-29 02:49:44 +03:00
parent d83cc05a73
commit 85544f8ef5

View file

@ -319,7 +319,7 @@ this variable is set to the symbol `all-windows'."
"Show match numbers in the search prompt. "Show match numbers in the search prompt.
When both this option and `isearch-lazy-highlight' are non-nil, When both this option and `isearch-lazy-highlight' are non-nil,
show the current match number and the total number of matches show the current match number and the total number of matches
in the buffer (or its restriction)." in the buffer (or its restriction), including all hidden matches."
:type 'boolean :type 'boolean
:group 'lazy-count :group 'lazy-count
:group 'isearch :group 'isearch
@ -3866,7 +3866,10 @@ Attempt to do the search exactly the way the pending Isearch would."
(isearch-regexp-lax-whitespace (isearch-regexp-lax-whitespace
isearch-lazy-highlight-regexp-lax-whitespace) isearch-lazy-highlight-regexp-lax-whitespace)
(isearch-forward isearch-lazy-highlight-forward) (isearch-forward isearch-lazy-highlight-forward)
(search-invisible nil) ; don't match invisible text ;; Don't match invisible text unless it can be opened
;; or when counting matches and user can visit hidden matches
(search-invisible (or (eq search-invisible 'open)
(and isearch-lazy-count search-invisible)))
(retry t) (retry t)
(success nil)) (success nil))
;; Use a loop like in `isearch-search'. ;; Use a loop like in `isearch-search'.