summaryrefslogtreecommitdiff
path: root/lisp/bs.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2006-01-31 16:32:00 +0000
committerJuanma Barranquero <lekktu@gmail.com>2006-01-31 16:32:00 +0000
commitca6b8248f7adfee9d9035e9866d3e0e2b86f15f7 (patch)
tree98c33cd694995f78c76d880474f327ff7e841dd7 /lisp/bs.el
parent448541bcd937b7fe28b5b61343cd3b7149f43ef6 (diff)
downloademacs-ca6b8248f7adfee9d9035e9866d3e0e2b86f15f7.tar.gz
Allow non-default values of `bs-header-lines-length'.
(bs--running-in-xemacs): Remove (not used anymore). (bs--set-window-height): Simplify by using `fit-window-to-buffer' instead of `shrink-window', thus avoiding having to compute the height of the window. (bs--up): Wrap around even when there's no header. (bs--down): Use `forward-line' instead of `next-line'.
Diffstat (limited to 'lisp/bs.el')
-rw-r--r--lisp/bs.el29
1 files changed, 9 insertions, 20 deletions
diff --git a/lisp/bs.el b/lisp/bs.el
index 464f6086a04..bdeb00f5804 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -180,9 +180,6 @@ return a string representing the column's value."
:group 'bs-appearance
:type '(repeat sexp))
-(defvar bs--running-in-xemacs (string-match "XEmacs" (emacs-version))
- "Non-nil when running under XEmacs.")
-
(defun bs--make-header-match-string ()
"Return a regexp matching the first line of a Buffer Selection Menu buffer."
(let ((res "^\\(")
@@ -701,12 +698,7 @@ Return nil if there is no such buffer."
(defun bs--set-window-height ()
"Change the height of the selected window to suit the current buffer list."
(unless (one-window-p t)
- (shrink-window (- (window-height (selected-window))
- ;; window-height in xemacs includes mode-line
- (+ (if bs--running-in-xemacs 3 1)
- bs-header-lines-length
- (min (length bs-current-list)
- bs-max-window-height))))))
+ (fit-window-to-buffer (selected-window) bs-max-window-height)))
(defun bs--current-buffer ()
"Return buffer on current line.
@@ -1011,13 +1003,11 @@ Uses function `vc-toggle-read-only'."
"Move cursor vertically up one line.
If on top of buffer list go to last line."
(interactive "p")
- (previous-line 1)
- (if (<= (count-lines 1 (point)) (1- bs-header-lines-length))
- (progn
- (goto-char (point-max))
- (beginning-of-line)
- (recenter -1))
- (beginning-of-line)))
+ (if (> (count-lines 1 (point)) bs-header-lines-length)
+ (forward-line -1)
+ (goto-char (point-max))
+ (beginning-of-line)
+ (recenter -1)))
(defun bs-down (arg)
"Move cursor vertically down ARG lines in Buffer Selection Menu."
@@ -1029,10 +1019,9 @@ If on top of buffer list go to last line."
(defun bs--down ()
"Move cursor vertically down one line.
If at end of buffer list go to first line."
- (let ((last (line-end-position)))
- (if (eq last (point-max))
- (goto-line (1+ bs-header-lines-length))
- (next-line 1))))
+ (if (eq (line-end-position) (point-max))
+ (goto-line (1+ bs-header-lines-length))
+ (forward-line 1)))
(defun bs-visits-non-file (buffer)
"Return t or nil whether BUFFER visits no file.