(in-package :swank)

(defvar *borked-connections* (make-hash-table))

(defun patch ()
  (if  (gethash *emacs-connection* *borked-connections*)
       (warn "~A is already recorded as patched." *emacs-connection*)
       (setf (gethash *emacs-connection* *borked-connections*) *emacs-connection*))
  (format *standard-output* "Fixing *STANDARD-OUTPUT*.~%")
  (let ((env (connection.env *emacs-connection*)))
    (loop :for (var . val) :in env
       :do (setf (symbol-value var) val)))
  (format *standard-output* "Fixed *STANDARD-OUTPUT*.~%"))
