Mercurial > emacs
changeset 68447:0d6e07750ed8
(bs--format-aux): Implement `middle' alignment as described in the docstring for
`bs-attributes-list'.
(bs--get-name): Simplify. Don't pad the buffer name.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Sun, 29 Jan 2006 02:47:54 +0000 |
parents | 8ad0f8c7115f |
children | 984820eb170d |
files | lisp/bs.el |
diffstat | 1 files changed, 9 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/bs.el Sun Jan 29 02:19:33 2006 +0000 +++ b/lisp/bs.el Sun Jan 29 02:47:54 2006 +0000 @@ -1332,17 +1332,9 @@ for mouse highlighting. START-BUFFER is the buffer where we started buffer selection. ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." - (let ((name (copy-sequence (buffer-name)))) - (add-text-properties - 0 (length name) - '(mouse-face highlight - help-echo - "mouse-2: select this buffer, mouse-3: select in other frame") - name) - (if (< (length name) bs--name-entry-length) - (concat name - (make-string (- bs--name-entry-length (length name)) ? )) - name))) + (propertize (buffer-name) + 'help-echo "mouse-2: select this buffer, mouse-3: select in other frame" + 'mouse-face 'highlight)) (defun bs--get-mode-name (start-buffer all-buffers) "Return the name of mode of current buffer for Buffer Selection Menu. @@ -1399,12 +1391,12 @@ (defun bs--format-aux (string align len) "Generate a string with STRING with alignment ALIGN and length LEN. ALIGN is one of the symbols `left', `middle', or `right'." - (let ((length (length string))) - (if (>= length len) - string - (if (eq 'right align) - (concat (make-string (- len length) ? ) string) - (concat string (make-string (- len length) ? )))))) + (let* ((width (length string)) + (len (max len width))) + (format (format "%%%s%ds" (if (eq align 'right) "" "-") len) + (if (eq align 'middle) + (concat (make-string (/ (- len width) 2) ?\s) string) + string)))) (defun bs--show-header () "Insert header for Buffer Selection Menu in current buffer."