anchor.diff:      (other-window))
     (multiple-value-bind (node getter setter another-getter another-setter)
         (window-tree-parent *window-tree* window)
  +    (declare (ignore getter setter another-setter))
       (adjust-size-windows-after-delete-window
        window
        (funcall another-getter)
        (eq (window-node-split-type node) :hsplit))
       (multiple-value-bind (node2 getter2 setter2)
           (window-tree-parent *window-tree* node)
  +      (declare (ignore getter2))
         (if (null node2)
             (setq *window-tree* (funcall another-getter))
             (funcall setter2 (funcall another-getter)))))
  
positive.code: (define-command delete-current-window () ()
    (delete-window *current-window*))
  
  (defun pop-to-buffer (buffer)
    (if (eq buffer (window-buffer))
        (values *current-window*
                (one-window-p))
  
negative.code:         (when one-p
            (split-window))
          (let ((*current-window*
                 (or (window-tree-find
                      #'(lambda (window)
                          (eq buffer (window-buffer window)))
                      *window-tree*)
                     (get-next-window *current-window*))))
            (set-buffer buffer)
            (values *current-window* one-p)))))
  
  (defun popup (buffer output-function &key (goto-bob-p t) (erase-p t)) ;***
    (multiple-value-bind (*current-window* newwin-p)
        (pop-to-buffer buffer)
      (when erase-p
  