]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/company/company-template.el
company: Release 0.6.6
[gnu-emacs-elpa] / packages / company / company-template.el
index 05389acc7a51c093415fab69b9647b401c1027a6..ffceda16b311a0495f0a0d487f6fe3e48a381a36 100644 (file)
@@ -39,7 +39,9 @@
 (defun company-template-templates-at (pos)
   (let (os)
     (dolist (o (overlays-at pos))
-      (when (overlay-get o 'company-template-fields)
+      ;; FIXME: Always return the whole list of templates?
+      ;; We remove templates not at point after every command.
+      (when (memq o company-template--buffer-templates)
         (push o os)))
     os))
 
 
 (defun company-template-clean-up (&optional pos)
   "Clean up all templates that don't contain POS."
-  (unless pos (setq pos (point)))
-  (let ((local-ovs (overlays-in (- pos 2) pos)))
+  (let ((local-ovs (overlays-at (or pos (point)))))
     (dolist (templ company-template--buffer-templates)
-      (unless (and (memq templ local-ovs)
-                   (overlay-get templ 'company-template-fields))
+      (unless (memq templ local-ovs)
         (company-template-remove-template templ)))))
 
 ;; hooks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;