diff --git a/lisp/completion-preview.el b/lisp/completion-preview.el index 1c524985f05..ae1394d27b4 100644 --- a/lisp/completion-preview.el +++ b/lisp/completion-preview.el @@ -437,13 +437,17 @@ point, otherwise hide it." (cancel-timer completion-preview--timer) (setq completion-preview--timer nil)) - ;; If we're called after a command that itself updates the - ;; preview, don't do anything. - (unless internal-p - (if (and (completion-preview-require-certain-commands) - (completion-preview-require-minimum-symbol-length)) - (completion-preview--show) - (completion-preview-active-mode -1))))) + (cond + (internal-p + ;; `this-command' took care of updating the preview. Do nothing. + ) + ((and (completion-preview-require-certain-commands) + (completion-preview-require-minimum-symbol-length)) + ;; All conditions met. Show or update the preview. + (completion-preview--show)) + (completion-preview-active-mode + ;; The preview is shown, but it shouldn't be. Hide it. + (completion-preview-active-mode -1))))) (defun completion-preview-insert () "Insert the completion candidate that the preview is showing."