emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 5fe2c23 04/23: Consider any frontend deriving from company


From: Dmitry Gutov
Subject: [elpa] master 5fe2c23 04/23: Consider any frontend deriving from company-preview-frontend
Date: Fri, 11 Nov 2016 22:21:41 +0000 (UTC)

branch: master
commit 5fe2c2369afa14adb62052c6d61f2b202a474112
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    Consider any frontend deriving from company-preview-frontend
    
    ...or and least those that use the same variable for the overlay.
    
    Closes #547.
---
 NEWS.md    |    5 +++++
 company.el |    9 +++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/NEWS.md b/NEWS.md
index 758f0be..68a7512 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,10 @@
 # History of user-visible changes
 
+## Next
+
+* `company-pseudo-tooltip-unless-just-one-frontend-with-delay` handles custom
+  frontends derived from `company-preview-frontend` better.
+
 ## 2016-06-23 (0.9.0)
 
 * Group of backends can now contain keyword `:separate`, which makes candidates
diff --git a/company.el b/company.el
index 42d2486..2b59a2a 100644
--- a/company.el
+++ b/company.el
@@ -2869,6 +2869,7 @@ Returns a negative number if the tooltip should be 
displayed above point."
 (defun company-pseudo-tooltip-unless-just-one-frontend-with-delay (command)
   "`compandy-pseudo-tooltip-frontend', but shown after a delay.
 Delay is determined by `company-tooltip-idle-delay'."
+  (defvar company-preview-overlay)
   (when (and (memq command '(pre-command hide))
              company-tooltip-timer)
     (cancel-timer company-tooltip-timer)
@@ -2877,11 +2878,11 @@ Delay is determined by `company-tooltip-idle-delay'."
     (post-command
      (if (or company-tooltip-timer
              (overlayp company-pseudo-tooltip-overlay))
-         (if (not (memq 'company-preview-frontend company-frontends))
+         (if (not (overlayp company-preview-overlay))
              (company-pseudo-tooltip-unless-just-one-frontend command)
-           (company-preview-frontend 'pre-command)
-           (company-pseudo-tooltip-unless-just-one-frontend command)
-           (company-preview-frontend 'post-command))
+           (let (company-tooltip-timer)
+             (company-call-frontends 'pre-command))
+           (company-call-frontends 'post-command))
        (setq company-tooltip-timer
              (run-with-timer company-tooltip-idle-delay nil
                              
'company-pseudo-tooltip-unless-just-one-frontend-with-delay



reply via email to

[Prev in Thread] Current Thread [Next in Thread]