branch: elpa/slime
commit d105c0c71bff39131e15345b55a6bc1241fd555d
Author: Stas Boukarev <stass...@gmail.com>
Commit: Stas Boukarev <stass...@gmail.com>

    Supply :company-doc-buffer
---
 contrib/slime-c-p-c.el | 7 ++++++-
 slime.el               | 9 +++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/contrib/slime-c-p-c.el b/contrib/slime-c-p-c.el
index 12601fda282..45d0a40df1e 100644
--- a/contrib/slime-c-p-c.el
+++ b/contrib/slime-c-p-c.el
@@ -70,7 +70,12 @@
    :company-docsig (lambda (x)
                      (let ((sym (get-text-property 0 'slime-symbol x)))
                        (when sym
-                         (slime-eval `(swank:describe-symbol ,sym)))))
+                         (slime-eval `(swank:operator-arglist ,sym 
,(slime-current-package))))))
+   :company-doc-buffer (lambda (x)
+                         (let ((sym (get-text-property 0 'slime-symbol x)))
+                           (when sym
+                             (slime-eval-describe `(swank:describe-symbol 
,sym) nil)
+                             (slime-buffer-name :description))))
    :annotation-function
    (lambda (x)
      (let ((kind (get-text-property 0 'slime-kind x)))
diff --git a/slime.el b/slime.el
index fad1a975b3f..b03396e4130 100644
--- a/slime.el
+++ b/slime.el
@@ -4085,22 +4085,23 @@ inserted in the current buffer."
           (kill-new string)
           (message "Evaluation finished; pushed result to kill ring."))))))
 
-(defun slime-eval-describe (form)
+(cl-defun slime-eval-describe (form &optional (select 
slime-description-autofocus))
   "Evaluate FORM in Lisp and display the result in a new buffer."
-  (slime-eval-async form (slime-rcurry #'slime-show-description
+  (slime-eval-async form (slime-rcurry (lambda (string package)
+                                         (slime-show-description string 
package select))
                                        (slime-current-package))))
 
 (defvar slime-description-autofocus nil
   "If non-nil select description windows on display.")
 
-(defun slime-show-description (string package)
+(cl-defun slime-show-description (string package &optional (select 
slime-description-autofocus))
   ;; So we can have one description buffer open per connection. Useful
   ;; for comparing the output of DISASSEMBLE across implementations.
   ;; FIXME: could easily be achieved with M-x rename-buffer
   (let ((bufname (slime-buffer-name :description)))
     (slime-with-popup-buffer (bufname :package package
                                       :connection t
-                                      :select slime-description-autofocus)
+                                      :select select)
       (princ string)
       (goto-char (point-min)))))
 

Reply via email to