From 7a3438d720a9d20bd5ab31034d6f3d2b9873f781 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Wed, 16 Oct 2024 10:47:40 +0200 Subject: [PATCH] Drop 'icomplete-in-buffer' --- lisp/icomplete.el | 73 ++++++----------------------------------------- 1 file changed, 8 insertions(+), 65 deletions(-) diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 006439ed087..4f254979bcc 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -138,12 +138,6 @@ See `icomplete-delay-completions-threshold'." "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. @@ -222,17 +216,9 @@ the default otherwise." ;; 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." @@ -450,12 +436,9 @@ more like `ido-mode' than regular `icomplete-mode'." :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))) @@ -478,32 +461,15 @@ completions: \\{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))) @@ -541,29 +507,6 @@ Usually run by inclusion in `minibuffer-setup-hook'." (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 @@ -709,7 +652,7 @@ Should be run via minibuffer `post-command-hook'. 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)) -- 2.39.5