Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All right after some testing I found out we just need to
(setq history-add-new-input nil)
and no modifications to ivy--update-history.Ivy-read calls read-from-minibuffer which will add the selection to history if history-add-new-input is non-nil.
My issue is gone and the test are ok.
But now it will break some workflow like if someone prefer let's say find-file instead of counsel-find-file the history won't work. It's not really efficient but as a workaround instead of passing the real hist var to read-from-minibuffer we can pass a copy of it and so we can leave history-add-new-input as it is.