Mercurial > emacs
changeset 68502:6ede67948264
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'.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Tue, 31 Jan 2006 16:32:00 +0000 |
parents | d10c5b8ae128 |
children | eed8c29982e8 |
files | lisp/bs.el |
diffstat | 1 files changed, 9 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/bs.el Tue Jan 31 15:34:16 2006 +0000 +++ b/lisp/bs.el Tue Jan 31 16:32:00 2006 +0000 @@ -180,9 +180,6 @@ :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 @@ (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 @@ "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 @@ (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.