   (merlin-update-overlay)
 )    
   
-(defun merlin-point ()
+(defun merlin-point (view-errors-p)
   "Tell merlin the lines up to the current point"
   (interactive)
-  (merlin-update-point (point))
+  (merlin-update-point (point) view-errors-p)
 )
 (defun merlin-check-synchronize ()
   "If merlin point is before the end of line send everything up to the end of line"
   (interactive)
   (if (> (point-at-eol) merlin-lock-point)
-      (merlin-update-point (point-at-eol))))
+      (merlin-update-point (point-at-eol) nil)))
 
 (defun merlin-edit (start end length)
   (if (< start merlin-lock-point)

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

  (setq merlin-overlay (make-overlay (point-min) merlin-lock-point))
  (overlay-put merlin-overlay 'face 'merlin-locked-face))

(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'
