 
 - `logfile': path to the logfile
 
-- `name': a short name for this configuration, displayed in user notifications."
+- `name': a short name for this configuration, displayed in user notifications.
+
+- `do-not-cache-config': if set, refreshes the config on every command"
 )
 
 (defvar-local merlin-buffer-packages nil


(defun merlin-command ()
  "Return or update path of ocamlmerlin binary selected by configuration"
  (unless merlin-buffer-configuration
    (setq merlin-buffer-configuration (merlin--configuration)))

  (let ((command (merlin-lookup 'command merlin-buffer-configuration)))


(defun merlin/call (command &rest args)
  "Execute a command and parse output: return an sexp on success or throw an error"
  (let* ((binary (merlin-command))
         (result (merlin--call-merlin binary command args)))
    (condition-case err
        (setq result (car (read-from-string result)))
      (error
        (merlin-client-logger binary command -1 "failure")
        (error "merlin: error %s trying to parse answer: %s"
               err result))
      (quit
        (merlin-client-logger binary command -1 "interrupted")))
    (let* ((notifications (cdr-safe (assoc 'notifications result)))
           (timing (cdr-safe (assoc 'timing result)))
           (class (cdr-safe (assoc 'class result)))
           (value (cdr-safe (assoc 'value result))))
      (merlin-client-logger binary command timing class)
      (dolist (notification notifications)
        (message "(merlin) %s" notification))
      (cond ((string-equal class "return") value)
