diff options
author | Juanma Barranquero <lekktu@gmail.com> | 2006-01-31 16:32:00 +0000 |
---|---|---|
committer | Juanma Barranquero <lekktu@gmail.com> | 2006-01-31 16:32:00 +0000 |
commit | ca6b8248f7adfee9d9035e9866d3e0e2b86f15f7 (patch) | |
tree | 98c33cd694995f78c76d880474f327ff7e841dd7 /lisp/bs.el | |
parent | 448541bcd937b7fe28b5b61343cd3b7149f43ef6 (diff) | |
download | emacs-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.el | 29 |
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. |