anchor.diff:                        (make-window-node split-type
                                           (f car-window)
                                           (f cdr-window))))))
  -      (setf *window-tree* (f dumped-tree))
  +      (setf (window-tree) (f dumped-tree))
         (setf (current-window)
               (or current-window
                   (car (window-list)))))))
   
   (defun call-with-save-windows (current-window function)
  -  (let ((dumped-tree (dump-window-tree *window-tree* current-window)))
  +  (let ((dumped-tree (dump-window-tree (window-tree) current-window))
  +        (*modified-window-tree-p* nil))
       (unwind-protect (funcall function)
  -      (load-window-tree dumped-tree))))
  +      (when (pdebug *modified-window-tree-p*)
  +        (load-window-tree dumped-tree)))))
   
   (defun window-init ()
     (setq *current-cols* charms/ll:*cols*)
  
positive.code:   (when (run-xterm-p)
      (resize-screen))
    (adjust-screen-size)
    (do-window-tree (window *window-tree*)
      (charms/ll:clearok (window-screen window) 1))
    (window-recenter (current-window))
    (syntax-scan-window (current-window))
  
negative.code:                 (+ (window-x window) 1))
          (push window delete-windows)))
      (mapc #'delete-window delete-windows))
    (let ((window-list (window-tree-flatten (window-tree))))
      (dolist (window (collect-right-windows window-list))
        (window-resize window
                       0
  