Function: completion--in-region-1
completion--in-region-1 is a byte-compiled function defined in
minibuffer.el.gz.
Signature
(completion--in-region-1 BEG END)
Source Code
;; Defined in /usr/src/emacs/lisp/minibuffer.el.gz
(defun completion--in-region-1 (beg end)
;; If the previous command was not this,
;; mark the completion buffer obsolete.
(setq this-command 'completion-at-point)
(unless (eq 'completion-at-point last-command)
(completion--flush-all-sorted-completions)
(setq minibuffer-scroll-window nil))
(cond
;; If there's a fresh completion window with a live buffer,
;; and this command is repeated, scroll that window.
((and (window-live-p minibuffer-scroll-window)
(eq t (frame-visible-p (window-frame minibuffer-scroll-window))))
(let ((window minibuffer-scroll-window))
(with-current-buffer (window-buffer window)
(if (pos-visible-in-window-p (point-max) window)
;; If end is in view, scroll up to the beginning.
(set-window-start window (point-min) nil)
;; Else scroll down one screen.
(with-selected-window window
(scroll-up)))
nil)))
;; If we're cycling, keep on cycling.
((and completion-cycling completion-all-sorted-completions)
(minibuffer-force-complete beg end)
t)
(t (pcase (completion--do-completion beg end)
(#b000 nil)
(_ t)))))