Hi Juri, I attached a new patch (still a sketch) that requires no changes in comint.el and simple.el. Perhaps you will find this approach more acceptable. More comments below. On Sun, 9 Jan 2022 at 20:58, Juri Linkov wrote: > It would be great to use your new variable with a function > to show replacement counts in perform-replace. IIUC, > let-binding isearch-lazy-count-display-function to > isearch-read-with-highlight-count will suppress isearch-message? > I tried this and it's relatively simple to do, but there is a problem. Suppose you want to replace all "a" with "z", and your buffer has 20 "a"s initially. Then, as you keep hitting "y" to confirm a replacement the count will be 1/20, 1/19, ..., 1/1 since the number of "a"s decrease, and the point is always at the first of the still-existing ones. But probably one should count the number of prompts, so 1/20, 2/20, ..., 20/20 I think this means `perform-replace' has to implement its own way to display a count. > I meant using simply > > (add-hook 'minibuffer-setup-hook 'isearch-read-with-highlight-setup) > > But it seems isearch-read-with-highlight-setup doesn't set > isearch-lazy-count-display-function. > I guess this could be done. But note that there are two possible types of counts: a "current/total" counter or just a "total" counter. Each use case calls for a different count style. >>> Then maybe a new feature could be named e.g. "lazy-minibuffer"? > > This feature has little to do with isearch. This is why there are > efforts to move away from the prefix isearch- for lazy-related > functions and variables, so we have now: > > lazy-count-prefix-format > lazy-count-suffix-format > lazy-highlight-buffer > lazy-highlight-buffer-max-at-a-time > lazy-highlight-cleanup > lazy-highlight-initial-delay > lazy-highlight-interval > lazy-highlight-max-at-a-time > ... > > There are still isearch-specific names like isearch-lazy-count > that enables lazy-count in isearch-mode. What would be a similar > name for the minibuffer? Maybe minibuffer-lazy-count? I see, the lazy-* names are the new ones! > > Then the prefix isearch- needs to be removed from other names too, > e.g. isearch-lazy-count-display-function -> lazy-count-display-function > isearch-read-with-highlight-setup maybe to minibuffer-lazy-highlight-setup, > etc. Yes, I agree. The names I came up with are horrible and `lazy-minibuffer' is weird, but your current suggestion is nice. By the way, I'm debating a bit whether `isearch-lazy-count-display-function' should be: 1. Either nil or function, as it is right now, 2. #'ignore by default, so similar to 1) but a bit easier to use with `add-function' 3. a hook, the main inconvenience being that it can't be easily let-bound.