   )
 
 (defun merlin-source-init ()
+  "Called at the beginning of a completion to fill the cache (the
+variable `merlin-cache')"
   (setq merlin-idle-point (point))
   (setq merlin-completion-point ac-point)
   (merlin-complete-identifier ac-prefix))

;; Mode for Merlin

(require 'cl)
;; json is mandatory
(require 'json)
;; auto-complete is not
(require 'auto-complete nil 'noerror)



(defun merlin-update-margin-lock-zone ()
    "Marks the position of the lock zone by a marker in the margin"
  (if merlin-lock-zone-margin-overlay
      (delete-overlay merlin-lock-zone-margin-overlay))
  (save-excursion
