anchor.diff:  (defun connected-p ()
     (not (null *connection*)))
   
  +(defun self-connect ()
  +  (prog (port)
  +   :START
  +    (setf port (+ 10000 (random 10000)))
  +    (handler-case (let ((swank::*swank-debug-p* nil))
  +                    (swank:create-server :port port))
  +      (error ()
  +        (go :START)))
  +    (slime-connect "localhost" port nil)))
  +
   (defun check-connection ()
     (unless (connected-p)
  -    (editor-error "Not connected.")))
  +    (self-connect)))
   
   (defun buffer-package (buffer &optional default)
     (or (lem.lisp-mode::lisp-buffer-package buffer)
  
positive.code:                             (sleep 0.1))))))
                    :name "slime-wait-message"))
  
  (define-command slime-connect (hostname port)
      ((list (prompt-for-string "Hostname: " "localhost")
             (parse-integer (prompt-for-string "Port: " (princ-to-string *default-port*)))))
    (setf *connection* (make-instance 'swank-protocol:connection :hostname hostname :port port))
    (message "Connecting...")
    (handler-case (swank-protocol:connect *connection*)
  
negative.code:              tag
               (concatenate 'string string (string #\newline))))))
  
  (define-command start-slime-repl () ()
    (lem.listener-mode:listener-start "*slime-repl*" 'slime-repl-mode))
  
  (defun write-string-to-repl (string)
  