diff --git a/ivy.el b/ivy.el index bd01e2ae..1f0b1387 100644 --- a/ivy.el +++ b/ivy.el @@ -3392,6 +3392,7 @@ Otherwise, ~/ will move home." "Delay in ms before dynamic collections are refreshed" :type 'integer) +(defvar ivy--queue-last-input nil) (defvar ivy--exhibit-timer nil) (defun ivy--queue-exhibit () @@ -3399,7 +3400,8 @@ Otherwise, ~/ will move home." dynamic collections. Should be run via minibuffer `post-command-hook'." (if (and (> ivy-dynamic-exhibit-delay-ms 0) - (ivy-state-dynamic-collection ivy-last)) + (ivy-state-dynamic-collection ivy-last) + (not (equal ivy--queue-last-input (ivy--input)))) (progn (when ivy--exhibit-timer (cancel-timer ivy--exhibit-timer)) (setq ivy--exhibit-timer @@ -3407,7 +3409,8 @@ Should be run via minibuffer `post-command-hook'." (/ ivy-dynamic-exhibit-delay-ms 1000.0) nil 'ivy--exhibit))) - (ivy--exhibit))) + (ivy--exhibit)) + (setq ivy--queue-last-input (ivy--input))) (defalias 'ivy--file-local-name (if (fboundp 'file-local-name)