anchor.diff:     (port :accessor port :initform (getf *platform-port-socket* :port))
      (url :accessor url :initform "/RPC2")
      (windows :accessor windows :initform (make-hash-table :test #'equal))
  +   (last-active-window :accessor last-active-window :initform nil)
      (buffers :accessor buffers :initform (make-hash-table :test #'equal))))
   
   (defmethod start-interface ((interface remote-interface))
  
positive.code: 
  (defmethod window-active ((interface remote-interface))
    "Return the window object for the currently active window."
    ;; TODO: Maybe return last focused window instead of NIL if no window is
    ;; currently focused.  Currently, many functions fail when run, say, from the
    ;; REPL, if no window is focused.
    (with-slots (host port url windows) interface
      (gethash (s-xml-rpc:xml-rpc-call
                (s-xml-rpc:encode-xml-rpc-call "window.active")
                :host host :port port :url url)
               windows)))
  
  (defmethod window-exists ((interface remote-interface) (window window))
    "Return if a window exists."
  
negative.code:   (active-buffer window))
  
  (defmethod window-set-minibuffer-height ((interface remote-interface)
                                           window height)
    (with-slots (host port url) interface
      (s-xml-rpc:xml-rpc-call
       (s-xml-rpc:encode-xml-rpc-call "window.set.minibuffer.height" (id window) height)
       :host host :port port :url url)))
  
  (defmethod buffer-make ((interface remote-interface))
    (with-slots (host port url buffers) interface
  