 ;; LOCATE ;;
 ;;;;;;;;;;;;
 
-(defun merlin-locate-pure (ident)
-  "Locate the identifier IDENT at point."
+(defun merlin-locate-pos (ident)
+  "Locate the identifier IDENT at point and return the result."
   (merlin-sync-to-point)
   (let* ((r (merlin-send-command
              (list 'locate (substring-no-properties ident)
                    'at (merlin-unmake-point (point))))))
+    r))
+(defun merlin-locate-pure (ident)
+  "Locate the identifier IDENT at point."
+  (let* ((r (merlin-locate-pos ident)))
     (if r
         (if (listp r)
             (merlin-goto-file-and-point r)

   (car data)
   :summary (if (and merlin-completion-types
                     merlin-ac-use-summary) (cadr data))
   :symbol (cddr data)
   :document (if (and merlin-completion-types
                      merlin-ac-use-document) (cadr data))))


    (mapcar (lambda (entry)
                (list (concat prefix (cdr (assoc 'name entry)))
                      (merlin-completion-format-entry entry)
                      (cdr (assoc 'kind entry))
                      (cdr (assoc 'info entry))))
            data)))
(defun merlin-completion-info (ident)
  "Return the info of IDENT."
  (cadddr (assoc ident (merlin-completion-data ident))))

(defun merlin-completion-lookup (string state)
  "Lookup the entry STRING inside the completion table."
