anchor.diff:    (alexandria:plist-hash-table args))
   
   (defun notify (method argument)
  +  #+(or)
     (dbg (format nil "~A:~A"
                  method
                  (with-output-to-string (*standard-output*)
  
positive.code:                  (dolist (char keys)
                     (send-event char))))
                ((= kind +resize+)
                 (let ((width (gethash "width" value))
                       (height (gethash "height" value)))
                   (setf *display-width* width)
                   (setf *display-height* height)
                   (send-event :resize)))
                (t
                 (error "unexpected kind: ~D" kind))))
      (error (e)
  
negative.code:                      (loop :until ready))))
      (setf *server* (jsonrpc:make-server))
      (jsonrpc:expose *server* "ready"
                      (lambda (params)
                        (resize params)
                        (setf ready t)
                        (params "width" *display-width*
                                "height" *display-height*)))
      (jsonrpc:expose *server* "input" 'input-callback)
      ;(dbg "server-listen")
      (jsonrpc:server-listen *server* :mode :stdio)))
  
  (defmethod lem::interface-display-background-mode ((implementation (eql :jsonrpc)))
  