anchor.diff:                                     new-window))))
     t)
   
  +(defun split-window-before (window)
  +  (cond ((minibuffer-window-p window) nil)
  +        ((floating-window-p window) (editor-error "Can not split this window"))
  +        (t t)))
  +
   (defun split-window-vertically (window &optional height)
  -  (unless (minibuffer-window-p window)
  +  (when (split-window-before window)
       (let* ((use-modeline-p t)
              (min (+ 1 (if use-modeline-p 1 0)))
              (max (- (window-height window) min)))
  
positive.code:             ((< max height)
               (setf height max))))
      (let ((new-window
             (make-window (window-buffer window)
                          (window-x window)
                          (+ (window-y window) height)
                          (window-width window)
                          (- (window-height window) height)
                          t)))
        (setf (window-%height window) height)
        (split-window-after window new-window :vsplit)
        (lem-if:split-window-vertically (implementation)
  
negative.code:             ((< max width)
               (setf width max))))
      (let ((new-window
              (make-window (window-buffer window)
                           (+ *window-left-margin* (window-x window) width)
                           (window-y window)
                           (- (window-width window) width *window-left-margin*)
                           (window-height window)
                           t)))
        (setf (window-%width window) width)
        (split-window-after window new-window :hsplit)
        (lem-if:split-window-horizontally (implementation)
  