From: Juri Linkov Date: Tue, 28 Apr 2020 23:49:44 +0000 (+0300) Subject: * lisp/isearch.el: Fix lazy-highlighting and lazy-counting of hidden matches X-Git-Tag: emacs-27.1-rc1~173 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=85544f8ef5;p=emacs.git * 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) --- diff --git a/lisp/isearch.el b/lisp/isearch.el index ddf9190dc6d..1a414830ee8 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -319,7 +319,7 @@ this variable is set to the symbol `all-windows'." "Show match numbers in the search prompt. When both this option and `isearch-lazy-highlight' are non-nil, 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 :group 'lazy-count :group 'isearch @@ -3866,7 +3866,10 @@ Attempt to do the search exactly the way the pending Isearch would." (isearch-regexp-lax-whitespace isearch-lazy-highlight-regexp-lax-whitespace) (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) (success nil)) ;; Use a loop like in `isearch-search'.