]> code.delx.au - gnu-emacs-elpa/commitdiff
company-show-location: Mirror the latest change to company-show-doc-buffer
authorDmitry Gutov <dgutov@yandex.ru>
Wed, 25 Feb 2015 22:38:03 +0000 (00:38 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Wed, 25 Feb 2015 22:38:03 +0000 (00:38 +0200)
Closes #312

company.el

index 3ef045d6fbed0dc7e276f0747ca8100f96b7098a..a95f7f32ed4d9370a65be818fd36dd9715295b5f 100644 (file)
@@ -2059,20 +2059,22 @@ character, stripping the modifiers.  That character must be a digit."
 (defun company-show-location ()
   "Temporarily display a buffer showing the selected candidate in context."
   (interactive)
-  (company--electric-do
-    (let* ((selected (nth company-selection company-candidates))
-           (location (company-call-backend 'location selected))
-           (pos (or (cdr location) (error "No location available")))
-           (buffer (or (and (bufferp (car location)) (car location))
-                       (find-file-noselect (car location) t))))
-      (with-selected-window (display-buffer buffer t)
-        (save-restriction
-          (widen)
-          (if (bufferp (car location))
-              (goto-char pos)
-            (goto-char (point-min))
-            (forward-line (1- pos))))
-        (set-window-start nil (point))))))
+  (let (other-window-scroll-buffer)
+    (company--electric-do
+      (let* ((selected (nth company-selection company-candidates))
+             (location (company-call-backend 'location selected))
+             (pos (or (cdr location) (error "No location available")))
+             (buffer (or (and (bufferp (car location)) (car location))
+                         (find-file-noselect (car location) t))))
+        (setq other-window-scroll-buffer (get-buffer buffer))
+        (with-selected-window (display-buffer buffer t)
+          (save-restriction
+            (widen)
+            (if (bufferp (car location))
+                (goto-char pos)
+              (goto-char (point-min))
+              (forward-line (1- pos))))
+          (set-window-start nil (point)))))))
 (put 'company-show-location 'company-keep t)
 
 ;;; package functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;