anchor.diff:      (unless (eq win *current-window*)
         (cl-ncurses:delwin (window-win win))))
     (setq *window-list* (list *current-window*))
  -  (window-move *current-window* 0 0)
  -  (window-resize *current-window*
  +  (window-set-pos *current-window* 0 0)
  +  (window-set-size *current-window*
       (1- cl-ncurses:*lines*)
       cl-ncurses:*cols*)
     t)
  
positive.code:       (let ((upwin (cadr (member window wlist))))
          (when (null upwin)
            (setq upwin (cadr *window-list*))
            (window-move upwin 0 (window-x upwin)))
          (window-resize upwin
            (+ (window-nlines upwin)
              (window-nlines window))
            (window-ncols upwin))))
  
negative.code:       (cadr result)
        (car *window-list*))))
  
  (defun upper-window (window)
    (unless (one-window-p)
      (do ((prev *window-list* (cdr prev)))
          ((null (cdr prev)))
        (when (eq (cadr prev) window)
          (return (car prev))))))
  
  (defun lower-window (window)
    (cadr (member window *window-list*)))
  
  (define-key *global-keymap* "C-xo" 'other-window)
  (defcommand other-window (&optional (n 1)) ("p")
    (dotimes (_ n t)
      (setq *current-window*
        (get-next-window *current-window*))))
  
  (defun window-set-pos (window y x)
    (cl-ncurses:mvwin (window-win window) y x)
    (setf (window-y window) y)
    (setf (window-x window) x))
  
  (defun window-set-size (window nlines ncols)
    (cl-ncurses:wresize (window-win window) nlines ncols)
    (setf (window-nlines window) nlines)
    (setf (window-ncols window) ncols))
  
  (defun window-move (window dy dx)
    (window-set-pos window
      (+ (window-y window) dy)
      (+ (window-x window) dx)))
  
  (defun window-resize (window dl dc)
    (window-set-size window
      (+ (window-nlines window) dl)
      (+ (window-ncols window) dc)))
  
  (define-key *global-keymap* "C-x1" 'delete-other-windows)
  (defcommand delete-other-windows () ()
  