anchor.diff:                     (swank-protocol:debugger-in *connection*)
                      (active-debugger thread level select))
                     ((:debug thread level condition restarts frames conts)
  -                   (stop-eval-timer)
                      (start-debugger thread level condition restarts frames conts))
                     ((:debug-return thread level stepping)
                      (swank-protocol:debugger-out *connection*)
  
positive.code:     (swank-protocol:emacs-rex *connection*
                                `(swank:invoke-nth-restart-for-emacs
                                  ,(get-bvar 'level :default -1)
                                  ,n))
      (start-eval-timer)))
  
  (define-command slime-invoke-restart-0 () () (slime-invoke-restart 0))
  (define-command slime-invoke-restart-1 () () (slime-invoke-restart 1))
  
negative.code:                             :continuation (lambda (value)
                                              (alexandria:destructuring-case value
                                                ((:ok x)
                                                 (error "sldb-quit returned [~A]" x))))))
  
  (define-command slime-abort () ()
    (when (swank-protocol:debuggerp *connection*)
      (eval-async '(swank:sldb-abort)
                  (lambda (v)
                    (message "Restart returned: ~A" v)))))
  
  (defun slime-invoke-restart (n)
    (check-type n integer)
  