"Maximum number of initial chars to apply `icomplete-compute-delay'."
:type 'integer)
-(defcustom icomplete-in-buffer nil
- "If non-nil, also use Icomplete when completing in non-mini buffers.
-This affects commands like `completion-in-region', but not commands
-that use their own completions setup."
- :type 'boolean)
-
(defcustom icomplete-minibuffer-setup-hook nil
"Icomplete-specific customization of minibuffer setup.
;; calculated, This causes the first cached completion to
;; be taken (i.e. the one that the user sees highlighted)
completion-all-sorted-completions)
- (if (window-minibuffer-p)
- (minibuffer-force-complete-and-exit)
- (minibuffer-force-complete (icomplete--field-beg) (icomplete--field-end))
- (completion-in-region-mode -1))
+ (minibuffer-force-complete-and-exit)
;; Otherwise take the faster route...
- (if (window-minibuffer-p)
- (minibuffer-complete-and-exit)
- (completion-complete-and-exit
- (icomplete--field-beg)
- (icomplete--field-end)
- (lambda () (completion-in-region-mode -1))))))
+ (minibuffer-complete-and-exit)))
(defun icomplete-force-complete ()
"Complete the icomplete minibuffer."
:global t
(remove-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup)
(remove-hook 'minibuffer-setup-hook #'icomplete--fido-mode-setup)
- (remove-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup)
(when fido-mode
(icomplete-mode -1)
(setq icomplete-mode t)
- (when icomplete-in-buffer
- (add-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup))
(add-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup)
(add-hook 'minibuffer-setup-hook #'icomplete--fido-mode-setup)))
\\{icomplete-minibuffer-map}"
:global t
(remove-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup)
- (remove-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup)
(when icomplete-mode
(fido-mode -1)
- (when icomplete-in-buffer
- (add-hook 'completion-in-region-mode-hook #'icomplete--in-region-setup))
(add-hook 'minibuffer-setup-hook #'icomplete-minibuffer-setup)))
-(defun icomplete--completion-table ()
- (if (window-minibuffer-p) minibuffer-completion-table
- (or (nth 2 completion-in-region--data)
- (message "In %S (w=%S): %S"
- (current-buffer) (selected-window) (window-minibuffer-p)))))
-(defun icomplete--completion-predicate ()
- (if (window-minibuffer-p) minibuffer-completion-predicate
- (nth 3 completion-in-region--data)))
-(defun icomplete--field-string ()
- (if (window-minibuffer-p) (minibuffer-contents)
- (buffer-substring-no-properties
- (nth 0 completion-in-region--data)
- (nth 1 completion-in-region--data))))
-(defun icomplete--field-beg ()
- (if (window-minibuffer-p) (minibuffer-prompt-end)
- (nth 0 completion-in-region--data)))
-(defun icomplete--field-end ()
- (if (window-minibuffer-p) (point-max)
- (nth 1 completion-in-region--data)))
+(defun icomplete--completion-table () minibuffer-completion-table)
+(defun icomplete--completion-predicate () minibuffer-completion-predicate)
+(defun icomplete--field-string () (minibuffer-contents))
+(defun icomplete--field-beg () (minibuffer-prompt-end))
+(defun icomplete--field-end () (point-max))
(defun icomplete--category ()
(let* ((beg (icomplete--field-beg))
(md (completion--field-metadata beg)))
(add-hook 'post-command-hook #'icomplete-post-command-hook nil t)
(run-hooks 'icomplete-minibuffer-setup-hook)))
-(defvar icomplete--in-region-buffer nil)
-
-(defun icomplete--in-region-setup ()
- (when (or (not completion-in-region-mode)
- (and icomplete--in-region-buffer
- (not (eq icomplete--in-region-buffer (current-buffer)))))
- (with-current-buffer (or icomplete--in-region-buffer (current-buffer))
- (setq icomplete--in-region-buffer nil)
- (delete-overlay icomplete-overlay)
- (kill-local-variable 'completion-show-inline-help)
- (remove-hook 'post-command-hook #'icomplete-post-command-hook t)
- (message nil)))
- (when (and completion-in-region-mode
- icomplete-mode (icomplete-simple-completing-p))
- (setq icomplete--in-region-buffer (current-buffer))
- (setq-local completion-show-inline-help nil)
- (let ((tem (assq 'completion-in-region-mode
- minor-mode-overriding-map-alist)))
- (unless (memq icomplete-minibuffer-map (cdr tem))
- (setcdr tem (make-composed-keymap icomplete-minibuffer-map
- (cdr tem)))))
- (add-hook 'post-command-hook #'icomplete-post-command-hook nil t)))
-
(defun icomplete--sorted-completions ()
(or completion-all-sorted-completions
(cl-loop
See `icomplete-mode' and `minibuffer-setup-hook'."
(when (and icomplete-mode
;; Check if still in the right buffer (bug#61308)
- (or (window-minibuffer-p) completion-in-region--data)
+ (window-minibuffer-p)
(icomplete-simple-completing-p)) ;Shouldn't be necessary.
(let ((saved-point (point))
(completion-lazy-hilit t))