anchor.diff:    (alexandria:plist-hash-table args :test #'equal))
   
   (defun notify (method argument)
  -  #+(or)
  -  (dbg (format nil "~A:~A"
  -               method
  -               (with-output-to-string (*standard-output*)
  -                 (yason:encode argument))))
  +  (log:info "~A:~A~%"
  +            method
  +            (with-output-to-string (out)
  +              (yason:encode argument
  +                            (yason:make-json-output-stream out))))
     (let ((jsonrpc/connection:*connection*
             (jsonrpc/transport/interface:transport-connection
              (jsonrpc/class:jsonrpc-transport *server*))))
  
positive.code:       (setf *server* (jsonrpc:make-server))
        (jsonrpc:expose *server* "ready" (ready (lambda () (setf ready t))))
        (jsonrpc:expose *server* "input" 'input-callback)
        (dbg "server-listen")
        (apply #'jsonrpc:server-listen *server*
               :mode *mode*
               (if (eq *mode* :tcp) (list :port *port*))))))
  
negative.code:       (yason:encode-object-element "use_modeline" (view-use-modeline view))
        (yason:encode-object-element "kind" (view-kind view)))))
  
  (defmacro with-error-handler (() &body body)
    `(handler-case
         (handler-bind ((error (lambda (c)
                                 (log:error (with-output-to-string (stream)
                                              (format stream "~A~%" c)
                                              (uiop:print-backtrace :stream stream
                                                                    :condition c))))))
           (progn ,@body))
       (error ())))
  
  