* lisp/completion-preview.el (completion-preview-complete):
Dismiss completion preview before calling ':exit-function'.
This eliminates potential flicker with slow exit functions
and avoids the broken preview update reported in bug#76606.
(cherry picked from commit
840c6824589c9a82deedc5112891d8014d134746)
;; hook update the completion preview in case the candidate
;; can be completed further.
(when (functionp efn)
+ ;; Remove stale preview since `efn' can make arbitrary
+ ;; text and point modifications that might interfere with
+ ;; a subsequent preview update. See bug#76606.
+ (completion-preview-active-mode -1)
(funcall efn (concat base com) (if (cdr all) 'exact 'finished)))
;; Otherwise, remove the common prefix from the preview.
(completion-preview--inhibit-update)