diff options
| author | Martin Rudalics | 2025-10-16 09:59:15 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2025-10-16 09:59:15 +0200 |
| commit | 85a9189dbba9a21b1f79e9a1b65eb82e16a60eba (patch) | |
| tree | d9c9c17659fd9929116d7f897009aa66c3d6b815 | |
| parent | 0a4503de3a5a94fda8a81c8847a5cc4bf8bbe545 (diff) | |
| download | emacs-85a9189dbba9a21b1f79e9a1b65eb82e16a60eba.tar.gz emacs-85a9189dbba9a21b1f79e9a1b65eb82e16a60eba.zip | |
In 'minibuffer--nonselected-check' consult 'completion-reference-buffer'
* lisp/minibuffer.el (minibuffer--nonselected-check): Don't
highlight when the selected window's buffer has
'completion-reference-buffer' set.
| -rw-r--r-- | lisp/minibuffer.el | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index d92dc6615ca..0c06760a678 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -5654,17 +5654,24 @@ Used by `minibuffer-nonselected-mode'.") | |||
| 5654 | (defun minibuffer--nonselected-check (_frame) | 5654 | (defun minibuffer--nonselected-check (_frame) |
| 5655 | "Check if active minibuffer window is no longer selected. | 5655 | "Check if active minibuffer window is no longer selected. |
| 5656 | Use overlay to highlight its contents when another window is selected. | 5656 | Use overlay to highlight its contents when another window is selected. |
| 5657 | But don't highlight when the *Completions* window is selected." | 5657 | But don't highlight when the *Completions* window is selected or the |
| 5658 | buffer-loval value of `completion-reference-buffer' in the selected | ||
| 5659 | window's buffer equals the buffer of the active minibuffer window." | ||
| 5658 | (let* ((active-minibuffer-window (active-minibuffer-window)) | 5660 | (let* ((active-minibuffer-window (active-minibuffer-window)) |
| 5659 | (active-minibuffer (when active-minibuffer-window | 5661 | (active-minibuffer (when active-minibuffer-window |
| 5660 | (window-buffer active-minibuffer-window)))) | 5662 | (window-buffer active-minibuffer-window)))) |
| 5661 | (cond | 5663 | (cond |
| 5662 | ((or (not active-minibuffer-window) | 5664 | ((or (not active-minibuffer-window) |
| 5663 | (eq active-minibuffer-window (selected-window)) | 5665 | (eq active-minibuffer-window (selected-window)) |
| 5664 | (equal (buffer-name (window-buffer)) "*Completions*")) | 5666 | (equal (buffer-name (window-buffer)) "*Completions*") |
| 5667 | (eq (buffer-local-value | ||
| 5668 | 'completion-reference-buffer (window-buffer)) | ||
| 5669 | active-minibuffer)) | ||
| 5665 | ;; When there's no active minibuffer window or either the | 5670 | ;; When there's no active minibuffer window or either the |
| 5666 | ;; minibuffer or *the Completions* window is selected, remove the | 5671 | ;; minibuffer or the *Completions* window is selected or the |
| 5667 | ;; overlay if it exists. | 5672 | ;; buffer-loval value of 'completion-reference-buffer' in the |
| 5673 | ;; selected window's buffer equals the buffer of the active | ||
| 5674 | ;; minibuffer window, remove the overlay if it exists. | ||
| 5668 | (when minibuffer--nonselected-overlay | 5675 | (when minibuffer--nonselected-overlay |
| 5669 | (delete-overlay minibuffer--nonselected-overlay))) | 5676 | (delete-overlay minibuffer--nonselected-overlay))) |
| 5670 | ((not minibuffer--nonselected-overlay) | 5677 | ((not minibuffer--nonselected-overlay) |