           (merlin-update-point nil)))))
 
 (defun merlin-edit (start end length)
+  "Called when an edit is make to retract the locked zone if it is needed"
   (if (< start merlin-lock-point)
       (progn
         (setq merlin-lock-point (merlin-retract-to start))
         (merlin-update-lock-zone-display))))
+
 ;; COMPLETION
 (defun merlin-extract-complete (prefix l)
   "Parses and format completion results"

          (delete-overlay merlin-lock-zone-highlight-overlay))
      (if merlin-lock-zone-margin-overlay
          (delete-overlay merlin-lock-zone-margin-overlay))
      (if merlin-enclosing-overlay (delete-overlay merlin-enclosing-overlay))
      (merlin-delete-error-overlays)
      (if (get-buffer (merlin-make-buffer-name))
          (kill-buffer (merlin-make-buffer-name)))

            (let ((errors (nreverse (append (elt output 1) nil))))
              (if (not merlin-report-warnings)
                  (delete-if (lambda (e) (merlin-is-warning (cdr (assoc 'message e)))) errors))
              (merlin-display-errors-in-margin errors)))
	  nil)
      (progn
	(message "ok")
