 	 (forward-line 10))
        (merlin-tell-piece mode temp end))))
 
-(defun merlin-tell-till-end-of-phrase (&optional no-retract)
+(defun merlin-tell-till-end-of-phrase (view-errors-p)
   "Tell merlin the buffer until the end of the current phrase is met.
 It proceeds by telling (with the end mode) each line until it returns true or until we are at the end of the buffer.
-
-If NO-RETRACT is non-nil, don't retract to a valid position after telling.
+It then parses the error returned by merlin
 "
   (let ((temp-point (point))
         (end-p nil))

        (merlin-goto-point (cdr (assoc 'start err)))
        (if merlin-pending-errors-overlays
            (delete-overlay (pop merlin-pending-errors-overlays)))
        (merlin-create-overlay 'merlin-error-overlay 
                               (merlin-make-bounds err)
                               'next-error
                               2)
        (setq merlin-idle-point (point))
        (if merlin-pending-errors
            (message "%s (%d more errors, use %s to go to the next)" 
                     (cdr (assoc 'message err))
                     (length merlin-pending-errors)
                     (substitute-command-keys "\\[merlin-next-error]")
                     )
          (message "%s" (cdr (assoc 'message err)))
          (merlin-highlight (merlin-make-bounds err) 'next-error)))
    (next-error)))

(defun merlin-remove-error-overlay ()

    (setq merlin-lock-point (merlin-retract-to (point)))
    (end-of-line)
    (merlin-tell-piece-split "struct" merlin-lock-point (point))
    (merlin-tell-till-end-of-phrase view-errors-p)))
  
(defun merlin-check-synchronize (&optional quiet)
  "If merlin point is before the end of line send everything up to the end of line."
