GNU bug report logs - #67650
[PATCH] ; Hide completion preview when switching windows

Previous Next

Package: emacs;

Reported by: Eshel Yaron <me <at> eshelyaron.com>

Date: Tue, 5 Dec 2023 20:27:02 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Eshel Yaron <me <at> eshelyaron.com>, 67650 <at> debbugs.gnu.org
Subject: bug#67650: [PATCH] ; Hide completion preview when switching windows
Date: Wed, 6 Dec 2023 22:02:25 +0200
On 05/12/2023 22:26, Eshel Yaron via Bug reports for GNU Emacs, the 
Swiss army knife of text editors wrote:
> This patch ensures that we dismiss the completion preview when users
> switch to another window.  Previously, the completion preview would
> remain in a window after switching to another window showing another
> buffer, since the `post-command-hook` that Completion Preview mode sets
> up locally doesn't run after a command switches to another buffer.

Another way to do this would look like this:

diff --git a/lisp/completion-preview.el b/lisp/completion-preview.el
index 1d5f1253702..f2560a98b23 100644
--- a/lisp/completion-preview.el
+++ b/lisp/completion-preview.el
@@ -182,6 +182,7 @@ completion-preview--make-overlay
                  (eq (get-text-property 0 'face previous)
                      (get-text-property 0 'face string)))
       (add-text-properties 0 1 '(cursor 1) string)
+      (overlay-put completion-preview--overlay 'window (selected-window))
       (overlay-put completion-preview--overlay 'after-string string))
     completion-preview--overlay))


Although it depends on whether the overlay itself staying around is a 
good thing for this feature.

You could also move some cleanup logic to pre-command-hook, which should 
be fine with the buffer-locality of the value.




This bug report was last modified 1 year and 168 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.