   (setq merlin-overlay (make-overlay (point-min) merlin-lock-point))
   (overlay-put merlin-overlay 'face 'merlin-locked-face))
 
-(defun merlin-update-point (point)
+(defun merlin-update-point (point view-errors-p)
   "Moves the merlin point to the given point. This functions compares its arguments
 with the current position where merlin stops. It updates the merlin state by doing two things:
 - either retract merlin's knowledge if `point' < `merlin-lock-point'

	  (setq merlin-idle-point (point))))))

(defun merlin-enter ()
  (interactive)
  (newline)
  (if merlin-continuous-feed
      (merlin-point)))
;; Mode definition
(defvar merlin-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "C-c <C-return>") 'merlin-point)
    (define-key map (kbd "C-c C-t") 'merlin-show-type-of-point)
    (define-key map (kbd "C-c l") 'merlin-use)
    (define-key map (kbd "C-c C-x") 'merlin-next-error)

  (setq merlin-lock-point (merlin-retract-to point))
  (merlin-tell-piece-split "struct" merlin-lock-point point)
  (merlin-flush-tell)
  (if (merlin-view-errors view-errors-p)
      (setq merlin-lock-point point)
    (let ((msg (current-message)))
      (setq merlin-lock-point (merlin-seek merlin-lock-point))
