diff options
author | Karl Heuer <kwzh@gnu.org> | 1994-04-05 00:49:58 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1994-04-05 00:49:58 +0000 |
commit | 18a7aeffc0c6cef6944bc96e5384b2624797afda (patch) | |
tree | b5eac4beb0a9546e9901c368d806a5d8f18443ff /lisp/window.el | |
parent | 97ea679651067fb849f0198a7ec60f83f9d9bc6d (diff) | |
download | emacs-18a7aeffc0c6cef6944bc96e5384b2624797afda.tar.gz |
(split-window-vertically): If size is negative, measure from bottom.
Diffstat (limited to 'lisp/window.el')
-rw-r--r-- | lisp/window.el | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/window.el b/lisp/window.el index 187d01d1cfa..57fadfd5701 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -83,6 +83,7 @@ This is convenient on slow terminals, but point can move strangely.") (defun split-window-vertically (&optional arg) "Split current window into two windows, one above the other. The uppermost window gets ARG lines and the other gets the rest. +Negative arg means select the size of the lowermost window instead. With no argument, split equally or close to it. Both windows display the same buffer now current. @@ -98,8 +99,10 @@ new mode line." (interactive "P") (let ((old-w (selected-window)) (old-point (point)) + (size (and arg (prefix-numeric-value arg))) new-w bottom switch) - (setq new-w (split-window nil (and arg (prefix-numeric-value arg)))) + (and size (< size 0) (setq size (+ (window-height) size))) + (setq new-w (split-window nil size)) (or split-window-keep-point (progn (save-excursion |