Function: completions--background-update

completions--background-update is a byte-compiled function defined in minibuffer.el.gz.

Signature

(completions--background-update FORCE-EAGER-UPDATE BUFFER)

Documentation

Try to update *Completions* without blocking input.

This function uses while-no-input and sets non-essential to t so that the update is less likely to interfere with user typing.

Source Code

;; Defined in /usr/src/emacs/lisp/minibuffer.el.gz
(defun completions--background-update (force-eager-update buffer)
  "Try to update *Completions* without blocking input.

This function uses `while-no-input' and sets `non-essential' to t
so that the update is less likely to interfere with user typing."
  (setq completions--background-update-timer nil)
  (when (and
         (eq buffer (current-buffer))
         (while-no-input
           (let ((non-essential t))
             (redisplay)
             (cond
              (completion-in-region-mode (completion-help-at-point t))
              ((completions--should-show-p
                (completion--field-metadata (minibuffer-prompt-end))
                force-eager-update)
               (minibuffer-completion-help))))
           nil))
    ;; If we got interrupted, try again the next time the user is idle.
    (completions--start-background-update force-eager-update)))