 (defun merlin-locate ()
   "Locate the identifier under point"
   (interactive)
-  (merlin-locate-pure (thing-at-point 'ocaml-atom)))
+  (let ((ident (thing-at-point 'ocaml-atom)))
+    (when ident (merlin-locate-pure ident))))
 
 ;; I don't like it beginning by "ac" but
 ;; it is the only way I found to get it working (otherwise the completion


(defun merlin-sync-to-point (&optional point)
  "Makes sure the buffer is synchronized on merlin-side and centered around (point)."
  (lexical-let
      ((point (if point point (point))))
    (merlin-tell-to-point point)
    (merlin-seek-exact point)
    (merlin-sync-lock-zone-display)))

;;;;;;;;;;;;;;;;;;
;; ERROR REPORT ;;

(defun merlin-goto-phrase (command indice)
  "Go to the phrase indicated by COMMAND to the end INDICE.
Returns the position."
  (let ((r (merlin-send-command (list 'boundary command))))
    (if (equal r 'null) nil
      (progn
        (goto-char (merlin-make-point (elt r indice)))
