]> code.delx.au - gnu-emacs-elpa/commitdiff
Fix popup when prefix is split by line continuation
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 14 Jul 2014 02:56:17 +0000 (05:56 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 14 Jul 2014 02:56:17 +0000 (05:56 +0300)
#149

company-tests.el
company.el

index 14b18bc4d29ea503f8f648bcc0572485feaae518..8bc8572d571c4066cf84ae040b84f2021148b051 100644 (file)
                                  (cdr (assoc arg '(("123" . "(4)")))))))
             (company-candidates '("123" "45"))
             company-tooltip-align-annotations)
-        (company-pseudo-tooltip-show-at-point (point))
+        (company-pseudo-tooltip-show-at-point (point) 0)
         (let ((ov company-pseudo-tooltip-overlay))
           ;; With margins.
           (should (eq (overlay-get ov 'company-width) 8))
                                                    ("67" . "(891011)")))))))
             (company-candidates '("123" "45" "67"))
             (company-tooltip-align-annotations t))
-        (company-pseudo-tooltip-show-at-point (point))
+        (company-pseudo-tooltip-show-at-point (point) 0)
         (let ((ov company-pseudo-tooltip-overlay))
           ;; With margins.
           (should (eq (overlay-get ov 'company-width) 13))
index f6c5265337f50d4de0f002e678ed0e39cf624dd9..8049e374c5e8988200c2143651c17233e1aa36c2 100644 (file)
@@ -2387,9 +2387,10 @@ Returns a negative number if the tooltip should be displayed above point."
         (overlay-put ov 'company-column column)
         (overlay-put ov 'company-height height)))))
 
-(defun company-pseudo-tooltip-show-at-point (pos)
+(defun company-pseudo-tooltip-show-at-point (pos column-offset)
   (let ((row (company--row pos))
-        (col (company--column pos)))
+        (col (- (company--column pos) column-offset)))
+    (when (< col 0) (setq col 0))
     (company-pseudo-tooltip-show (1+ row) col company-selection)))
 
 (defun company-pseudo-tooltip-edit (selection)
@@ -2445,8 +2446,7 @@ Returns a negative number if the tooltip should be displayed above point."
                            (overlay-get company-pseudo-tooltip-overlay
                                         'company-guard)))
          ;; Redraw needed.
-         (company-pseudo-tooltip-show-at-point (- (point)
-                                                  (length company-prefix)))
+         (company-pseudo-tooltip-show-at-point (point) (length company-prefix))
          (overlay-put company-pseudo-tooltip-overlay
                       'company-guard (company-pseudo-tooltip-guard))))
      (company-pseudo-tooltip-unhide))